[Distutils] Package metadata: which fields are optional

Thomas Kluyver thomas at kluyver.me.uk
Sun Apr 15 03:31:44 EDT 2018

The core metadata specification (https://packaging.python.org/specifications/core-metadata/ ) notes whether each field is optional. However there are some discrepancies with my understanding:

- Download-URL is not marked as optional, but in practice it's obsolete (since PEP 470) and not very helpful (there may be different places to download the same package). Flit has never set this, and I have had no bug reports about it, so in practice it definitely is optional.
- Requires-Python is not marked as optional, though I'm pretty sure it also is in practice.
- Only one of the multiple use fields is explicitly marked as optional, but my understanding is that 'multiple use' includes using them zero times, so they are all optional.

I propose that we remove 'optional' from all the headings, and note at the top of the specification that the required fields are:
- Metadata-Version
- Name
- Version
- Summary

(And we should check if Summary is really required)


More information about the Distutils-SIG mailing list