[issue13167] Add get_metadata to packaging
Barry A. Warsaw
report at bugs.python.org
Thu Oct 13 19:56:23 CEST 2011
Barry A. Warsaw <barry at python.org> added the comment:
On Oct 13, 2011, at 04:01 PM, Éric Araujo wrote:
>The PEP 376 implementation in packaging.database has been called ugly and
>opaque. When discussing PEP 396 for example (that’s why I’m adding Barry and
>Antoine to nosy, for their feedback),
>get_distribution(name).metadata['Version'] did not seem to agree with
>everyone. (Note that there are shortcuts for two metadata fields: name and
>version also exist as get_distribution(name).name / .version.)
I don't entirely remember my objections to the API, but I wonder if you
couldn't provide attribute access via properties on .metadata? Or are there
keys that can't be mapped to identifiers (modulo typical dash-to-underscore
mappings)?
>I’m not sure how we can make it less opaque, unless we force people to read
>documentation: PEP 376 proposes a database of installed distributions;
>packaging.database offers get_distribution, which returns an object with some
>attributes. I can’t have an outside view on this, so maybe you can explain
>what’s opaque and ugly so that we can try to improve it.
>
>I’ve found in distutils-sig archives from two or three years ago that people
>intended to offer a get_metadata function that would take a distribution name
>(i.e. pyOpenSSL, Babel, flufl.enum) and return a mapping object with the
>metadata read from the installed dist-info/METADATA file. Does that look
>better to you?
So, that would mean instead of
get_distribution(name).metadata['Version']
you'd use
get_metadata(name)['Version']
?
I'm not sure that's really buys you much.
Maybe we just need to live with the current API for a while before we try to
improve it.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13167>
_______________________________________
More information about the Python-bugs-list
mailing list