Metadata Versions

The allowed PKG-INFO fields and their semantics are defined in a series of PEPs, each of which updates the metadata version field.

  • Metadata version 1.0 is specified in PEP 241.

  • Metadata version 1.1 is specified in PEP 314.

  • Metadata version 1.2 is specified in PEP 345 (still in draft).

A given Distribution object parses / exposes the attributes which correspond to the metadata version specified in its PKG-INFO.

You can override the metadata version stored in a given distribution by passing the specific version (as a string) to its constructor. E.g., updating the metadata version here in order to expose the classifiers, which were not defined under version ‘1.0’:

>>> from pkginfo import SDist
>>> mypackage = SDist('docs/examples/mypackage-0.1.tar.gz',
...                   metadata_version='1.1')
>>> print([str(x) for x in mypackage.classifiers])
['Development Status :: 4 - Beta', 'Environment :: Console (Text Based)']