> On Sep 19, 2018, at 5:17 AM, Paul Moore <p.f.mo...@gmail.com> wrote:
> 
>> 
>> 
>> What is the current situation regarding distlib vs packaging and various 
>> pieces in pip? Many parts of distlib seems to have duplicates in either 
>> packaging or pip/setuptools internals. I understand this is a historical 
>> artifact, but what is the plan going forward, and what strategy, if any, 
>> should a person take if they are to make the attempt of merging, or 
>> collecting pieces from existing code bases into a workable library?
> 
> Note: This is my personal view of the history only, Vinay and Donald
> would be better able to give definitive answers

I’ve personally always planned on pulling out the last bits of what we do use 
distlib for in pip, and not relying on it any longer.

My general plan for extracting stuff from pip and/or setuptools has always been 
to first standardize in a PEP (if a sufficient one doesn’t already exist) 
anything that makes sense to be as a standard, and then start either 
reimplementing or pulling code out of pip (or setuptools if pip is using 
setuptools). When doing that I had always planned on spending a lot of effort 
ensuring that the behavior matches what pip is already doing (or have known, 
specific divergences).

Now some of this already exists in distlib, but I don’t plan on using it. Part 
of that is because I find it easier to identify things that should be 
standardized but aren’t if I’m not using a big bundle of already implemented 
stuff already (for instance, script support needs to be standardized, but it 
didn’t occur to us at the time because we just used what distlib had). It also 
has a bunch of functionality that exists only in distlib, like attempting to 
use JSON to find packages (at one point there was even a locator that 
implicitly used a non PyPI server, no idea if there still is) that I felt made 
it harder to use the library in a way that didn’t basically create a new set of 
implementation defined semantics. It also copied APIs and semantics that I 
think *shouldn’t* have been (for instance, it has an implicitly caching 
resource API like setuptools does… a generally bad idea IMO, whereas using the 
new importlib.resources is a much saner API).

So in general, there are things that currently only exist in distlib or 
setuptools, but my personal long term plan for pip is that we should get solid 
implementations of those things out of those libraries, but generally my mind 
puts distlib and setuptools in largely the same boat.
--
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/2DTOA7EA4ZSL5442G33TVCMCNP7ZNGGS/

Reply via email to