On 2010-03-19, at 2:27 PM, Tarek Ziadé wrote:

> On Fri, Mar 19, 2010 at 5:22 PM, Tarek Ziadé <ziade.ta...@gmail.com> wrote:
> [..]
>> 
>> You can't do it, distutils will automatically set 1.0 or 1.1 depending
>> on the options you have used. (and not 1.2)
> 
> Re-reading the current distutils (1) code, I realize that it'll switch
> to 1.1 *only* if you have used
> provides, requires or obsolete, so it's partially implemented.

Ok. As a result of this, PKG-INFO that contains the "Classifiers" fields still 
has 1.0 as Metadata-Version. Consequently, http://pypi.python.org/pypi/pkginfo 
fails to read extra metadata fields. If Tres is reading this, I had to do the 
following hack as a workaroud:

    from pkginfo import Distribution
    
    class PkgInfoFile(Distribution):
        # Not all packages' PKG-INFO define the proper metadata
        # For eg., modern-package-template uses the Classifiers field and yet
        # uses 1.0 as the metadata version (Classifiers is only defined in 1.1)
        metadata_version = '1.2' # not all PKG-INFO file have proper metadata 
version
        

> The new class is much cleaner in the implementation, and so is the
> register command for PyPI.
> 
> Notice that we have almost finished the implementation of PEP 345 on
> PyPI side so we will soon be able to push PEP 345 fields over there.

Wasn't PEP 345 fully implemented for distutils1? Ah, I see that it is still 
"Draft" mode. 

Can I use distutils2 to parse PKG-INFO (as a replacement for the `pkginfo` 
project)? Will it read all the fields despite the inaccurate Metadata-Version 
field?

-srid

[1] http://www.python.org/dev/peps/pep-0301/#distutils-trove-classification
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to