[Catalog-sig] [Distutils] PEP for distutils

Rob Cakebread cakebread at gmail.com
Tue Sep 30 20:21:54 CEST 2008


On Tue, Sep 30, 2008 at 10:51 AM, Phillip J. Eby <pje at telecommunity.com> wrote:
> At 12:25 PM 9/30/2008 -0400, A.M. Kuchling wrote:
>>
>> On Tue, Sep 30, 2008 at 10:41:11AM -0500, Ian Bicking wrote:
>> > FWIW, pyinstall can collect all the packages before installing any of
>> > them.  You do have to download all packages, though, as that's the only
>> > way to get the metadata.
>>
>> Does the DOAP output for a package not contain enough metadata?
>
> Nope.  And it can't possibly do so, unless it contains dependency data for
> every possible variation of the package.  For example, a package might
> dynamically declare dependency on ctypes, depending on whether you're
> installing it for Python 2.4 or Python 2.5.  (Dependencies can also be
> platform-specific and build-option-specific, as well as
> Python-version-specific.)
>

Not to mention the DOAP vocabulary lacks a way to describe dependency
information. This is planned but it has to be well thought out because of
all the variations Philip mentions.

The good news is much of this dependency info is already in existence in
Linux distributions. Take a Gentoo ebuild, for example. It has separate
run-time, build-time and test dependency info, dependencies based on
enabled features, and dependencies based on the version of Python used.

Ebuilds also have metadata mapping the PyPI name to the Gentoo
package name, so it'll be easy enough to create a database with all this info.

I'm working on this now at http://doapspace.org/ where you can find DOAP
for Python packages with a bit more metadata than the DOAP supplied on
PyPI ( http://doapspace.org/doap/py/PYPI_PKG_NAME )


More information about the Catalog-SIG mailing list