How would I (said library) maintain compatibility? I’m pretty clever. The shim 
library doesn’t actually do anything besides provide import paths. If I shim 
something that didn’t exist, it shims None for any pip versions where it 
doesn’t exist.  So for example if you are running pip 9 and you import 
RequirementTracker from the shims library you just import None 

Dan Ryan // pipenv maintainer
gh: @techalchemy

> On Aug 20, 2018, at 8:15 AM, Paul Moore <p.f.mo...@gmail.com> wrote:
> 
>> On Mon, 20 Aug 2018 at 12:25, Wes Turner <wes.tur...@gmail.com> wrote:
>> 
>> On Monday, August 20, 2018, Paul Moore <p.f.mo...@gmail.com> wrote:
> 
>>> I know "security by obscurity" doesn't work, but I'm happier if
>>> details of this library *aren't* widely known - it's not something I'd
>>> want to encourage people using, nor is it supported by pip, as it's
>>> basically a direct interface into pip's internal functions, papering
>>> over the name changes that we did in pip 10 specifically to dissuade
>>> people from doing this.
>> 
>> 
>> If someone was committing to identifying useful API methods, parameters, and 
>> return values;
>> writing a ~PEP;
>> implementing said API;
>> and maintaining backwards compatible shims for some reason;
>> would something like `pip.api` be an appropriate namespace?
>> (now that we're on version 18 with a faster release cycle)?
> 
> I'm not quite sure I know what you mean here. The key point is that
> pip 18.0 might have an internal function pip._internal.xxx, and in pip
> 18.1 there's no such function, and the functionality doesn't even
> exist any more. How would a 3rd party project maintain backwards
> compatible shims in the face of that? Agreed it's not likely in
> practice - but we're not going to guarantee it.
> 
> To be honest I don't see the point of discussing pip's internal API.
> It's just that - internal. I'd rather discuss useful (general)
> packaging libraries, that tools can build on - pip can vendor those
> and act as (just) another consumer, rather than getting into debates
> about support and internal APIs.
> 
> Paul
> --
> Distutils-SIG mailing list -- distutils-sig@python.org
> To unsubscribe send an email to distutils-sig-le...@python.org
> https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
> Message archived at 
> https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/7CCBE53AM72JYQVEW3PH7ODVRFZV4WXA/
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/HUR6KLVCSFY3Z7SIQ6J2CXDURFO3YCEK/

Reply via email to