[Distutils] distlib updated - comments sought

Paul Moore p.f.moore at gmail.com
Fri Oct 5 12:10:44 CEST 2012

On 5 October 2012 10:27, Vinay Sajip <vinay_sajip at yahoo.co.uk> wrote:
>> +1 on this. Can you share a little more on your hint idea? I have a
>> specific use case in mind, and would like to know if it's covered.
>> It's an intranet webpage that hosts packages in a very odd format,
>> unfortunately, so I need to write code to get the packages, just
>> providing URLs isn't possible.
> For example, setuptools uses "dependency_links" which indicate URLs which lead to downloadable packages. I haven't thought it through in detail, but my package.yaml format preserves those links. I would aim to design in such a way that custom schemes aren't hard to support. One more area I need to look at is pip's PackageFinder, which is the minimum standard we need to support.

[Sorry, I hadn't meant to go off-list - blame gmail...]

Right, that's not going to be enough for me. I have a web page where
files are hosted at
http://my.domain/datastore/VARYING_ENCODED_ID/filename.tar.gz. The
problem is that VARYING_ENCODED_ID changes regularly. It's possible to
calculate it in code, but only based on the current date and the
package name :-( It really isn't worth asking why, but I'm stuck with

I'd envisage a design consisting of independent "Locators", one for a
local directory, one for PyPI using XMLRPC, one for PyPI's "simple"
webpage interface (IMO, we need both PyPI types, as the simple
interface generates a lot of useless web scraping - look at the simple
page for lxml, for example...). Users could add locators for any
custom stores as needed. I wrote a 30-minute proof of concept, which
is at https://bitbucket.org/pmoore/tools/src/67b33c15efad/bin/Locator.py
if you're interested.

Plan B for something like this would be to use one of the "run a local
PyPI server" packages in existence, and write a front-end to the web
store that I can run locally, and point to as an extra PyPI index.
That may well be a more general solution, but I don't think any of the
existing PyPI server packages supports this type of usage, so it would
need some work.


More information about the Distutils-SIG mailing list