> 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/