On Wed, 19 Sep 2018 at 19:19, Paul Moore
In some ways I'd like to turn the question round - why didn't tools like pipenv and pip-tools use distlib for their core functionality, rather than patching into pip's internals? The answers to that question might clarify better what needs to happen if distlib is to become the obvious place to find packaging functionality.
When it comes to things like pip-tools and pipenv, my experience is that users are really expecting to get the same results as they get from pip, and get upset when they differ (even if what pip is doing is arbitrary, and what the wrapper tool does is similarly arbitrary, but also different). So, using pip's internals makes more sense than attempting to explain the behavioural differences between pip and distlib. However, pipenv at least is finding that pip's behaviour doesn't necessarily match what pipenv needs (in particular, it needs much better support for working with Python installations other than the one hosting pipenv itself). Given that, and assuming Vinay is amenable to the idea, it would be nice to revisit the concept of the two layer architecture, with packaging as the lower level minimalist strictly standards compliant layer, and distlib as the higher level general purpose toolkit that brings together various other libraries (including packaging itself) under a more comprehensive API. Cheers, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia