Query metadatdata from sdists / bdists / installed packages.
This package provides an API for querying the distutils metadata written in the PKG-INFO file inside a source distriubtion (an sdist), or into the EGG-INFO directory of an installed distribution.
Please see the pkginfo docs for detailed documentation.
- Fix test failure under Python >= 2.7, which is enforcing ‘metadata_version == 1.1’ because we have classifiers.
- Fix introspection of installed namespace packages. They may be installed as eggs or via dist-installed ‘egg-info’ files. https://bugs.launchpad.net/pkginfo/+bug/934311
- Avoid a regression in 0.8 under Python 2.6 / 2.7 when parsing unicode. https://bugs.launchpad.net/pkginfo/+bug/733827/comments/3
- Work around Python 2.7’s breakage of StringIO. Fixes https://bugs.launchpad.net/pkginfo/+bug/733827
- Fixed bug in introspection of installed packages missing the __package__ attribute.
- Preserve newlines in the description field. Thanks to Sridhar Ratnakumar for the patch.
- 100% test coverage.
- Replaced use of StringIO.StringIO with io.StringIO, where available (Python >= 2.6).
- Replaced use of rfc822 stdlib module with email.parser, when available (Python >= 2.5). Ensured that distributions “unfold” wrapped continuation lines, stripping any leading / trailing whitespace, no matter which module was used for parsing.
- Removed bogus testing dependency on zope.testing.
- Added tests that the “environment markers” spelled out in the approved PEP 345 are captured.
- Added Project-URL for 1.2 PKG-INFO metdata (defined in the accepted version of PEP 345).
- Marked package as non-zip-safe.
- Fixed Trove metadata misspelling.
- Restored compatibility with Python 2.4.
- Noted that the introspection of installed packages / modules works only in Python 2.6 or later.
- Added Index class as an abstraction over a collection of distributions.
- Added download_url_prefix argument to pkginfo script. If passed, the script will use the prefix to synthesize a download_url for distributions which do not supply that value directly.
- Fixed bugs in handling of installed packages which lack __file__ or PKG-INFO.
- Extended the console script to allow output as CSV or INI. Also, added arguments to specify the metadata version and other parsing / output policies.
- Added support for the different metadata versions specified in PEPs 241, 314, and 345. Distributions now parse and expose only the attributes corresponding to their metadata version, which defaults to the version parsed from the PKG-INFO file. The programmer can override that version when creating the distribution object.
- Added support for introspection of “development eggs” (checkouts with PKG-INFO, perhaps created via setup.py develop).
- Added a console script, pkginfo, which takes one or more paths on the command line and writes out the associated information. Thanks to runeh for the patch!
- Added get_metadata helper function, which dispatches a given path or module across the available distribution types, and returns a distribution object. Thanks to runeh for the patch!
- Made distribution objects support iteration over the metadata fields. Thanks to runeh for the patch!
- Made Distribution and subclasses new-style classes. Thanks to runeh for the patch!
- Added support for introspection of bdist_egg binary distributions.
- Fixed packaging errors.
- Initial release.