[Distutils] get_metadata in Distutils
Phillip J. Eby
pje at telecommunity.com
Mon Jan 12 17:07:34 CET 2009
At 02:11 PM 1/12/2009 +0100, Tarek Ziadé wrote:
>Ok, I will introduce in my patch the other formats. I am wondering though, how
>far this would be from an integration of pkg_resources into Distutils/pkgutil,
>with some API on the top and if it makes sense.
It makes sense to me, I just wanted you to be aware how deep a job it
is. You're probably going to need a generic function by importer
type, just like the others in pkgutil.
>The only difference I can see is that I am working on an API that would return
>DistributionMetadata instances
>
>http://bugs.python.org/file12692/get_metadata.diff
Yep... which means that you're going to have to reinvent (and
re-test) a fair number of wheels to get there. pkg_resources just
lets you ask for a distribution's PKG-INFO metadata, and get it back
as a string, regardless of what egg format is in use (including
distutils). But to *just* support PKG-INFO, the irony is that you'll
have to recreate a fair amount of stuff.
>I'd say then : if setutpools version parsing system is superior to
>distutils.versionpredicate,
I'm not actually familiar with "versionpredicate", so I couldn't
say. It's definitely superior to LooseVersion and StrictVersion,
which were the only version tools available in the distutils when I
started all this.
>wouldn't it make sense to merge it into Distutils ?
>
>Maybe that was the initial plans ?
Yes, and yes. Setuptools version parsing (and name/version escaping)
functions at least doesn't have any dependencies on anything
else. So that's an easy port. If you want Requirement objects as
well (specifying various version ranges), a bit more gets pulled
in. However, if all you want is to be able to turn versions into
opaquely-comparable values, parse_version() and its dependencies are
all you need.
(By the way, I previously proposed PEP 365 -- that pkg_resources
simply be bundled in the stdlib -- to address these needs.)
>Well, being able to query the installed version for a package seem to
>me like a feature
>that should live in Distutils or pkgutil
>
>In the same way, being able to do version arithmetic is rather
>important, and it would be better
>ihmo to have one and only one way to deal with that in Python,
>
>What are you plans for Setuptools development for the future ?
I hope someday to have some time for it again. :)
More information about the Distutils-SIG
mailing list