[Distutils] distlib updated - comments sought

Paul Moore p.f.moore at gmail.com
Fri Oct 5 16:23:25 CEST 2012


On 5 October 2012 14:47, Daniel Holth <dholth at gmail.com> wrote:
> Is this supposed to go into the stdlib? Simple reference
> implementations (wsgiref) fare better there than frameworks
> (distutils). The pluggable installer metaframework belongs on pypi.

I disagree. Having an installer depend on external packages is a
practical problem. And having every installer invent (or not) its own
means of allowing users to add custom package repositories is also an
issue. Having a basic implementation supporting the PSF-supported
repository (PyPI) but including simple hooks to allow users to add
extra ones gives the benefit of a reference implementation as well as
encouraging by example the provision of flexibility.

No-one could try to claim that the sort of web-scraping that
easy_install/pip does is a "simple" reference implementation, either.
If you take that viewpoint, I'd say the stdlib implementation should
*only* use the XMLRPC interface to PyPI. Code to use the "simple"
interface and trawl all those links looking for distribution files
can't be justified in the stdlib for any *other* reason than to save
anyone else ever having to write it again :-)

Paul.

PS If you want to start over-engineering the flexibility, users should
have a way of choosing whether to use the webscraper or XMLRPC
interfaces to PyPI. The former finds more packages (as I understand
it) whereas the latter is much faster. As someone who's never needed a
package that can't be found using both interfaces (or neither :-() I
deeply resent the speed penalties imposed by the "simple" interface
(hence my repeated insistence on quoting the word "simple", as I find
it far from simple :-))

PPS If my locator interface ever matures enough, I'm happy to release
it on PyPI. But I don't want to compete with Vinay or a stdlib
implementation, so I'd rather co-operate on a unified view of how to
approach the problem.


More information about the Distutils-SIG mailing list