> On Sep 18, 2018, at 4:31 PM, Dan Ryan <d...@danryan.co> wrote:
> 
> As a consequence even though there are other libraries that may provide some
> of this functionality, pip has the reference implementation and that
> contains some significant additional logic. I don't imagine that pip is
> going to simply adopt some new library without significant review... The
> substantial effort  required to actually get people to review the code
> involved in standardizing the functionality people are 'borrowing' from pip
> is probably going to be a challenge, and that's before we ever consider that
> it will be difficult getting people to agree on what should be standardized
> and extracted.  


Speaking for myself, generally if someone spins functionality out of pip into a 
dedicated library, and that library is well tested, and has done the diligence 
to ensure that answers aren’t changing if pip switches to that library (or if 
they do change, they changed purposefully and we can document it and deal with 
deprecation) then I don’t think there’s a whole lot of blocker there. Obviously 
the level of review and testing should be commiserate with the importance of 
the part that library controls.

For instance when we switched to using packaging’s implementation of version 
handling, I had spent hours compiling what the differences were going to be 
between PEP 440 versions and the new version handling across all of PyPI. 
However for platform detection for the User Agent we switched to a third party 
library with just a cursory glance.

Mainly I think the important thing, as far as pip is concerned, is for someone 
to identify before hand what piece they want to carve out of pip into a library 
and make sure that none of the pip developers have a problem with that, then 
make sure that they do the diligence in making sure that the new library 
matches the old behavior etc, and then submit a PR to pip that swaps us to 
using it. For a lot of things, moving the reference implementation into 
pypa/packaging is going to be the right answer, which is already bundled in pip 
anyways.
--
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/PZDCKBHCEAGLA4ZKDYEFINF5IFR7UAKN/

Reply via email to