I am happy to announce that I have accepted PEP 643: Metadata for Package Source Distributions, which has the potential to dramatically simplify Python package metadata resolution in the future.

Soon you may be able to build reliable dependency graphs!

For some background on one problem this solves, see ‘s 2018 article “Why PyPI Doesn’t Know Your Project’s Dependencies”:

PEP 643 can’t 100% fix this, but it makes it possible for a project to indicate that it doesn’t have this failure mode.

Show thread

With the right implementation in setuptools, 90% of packages will start cutting releases with reliable dependency metadata without any action needed by their maintainers.

You can ensure that your package will have properly annotated reliable metadata by either:

Specifying install_requires in setup.cfg or by using literals in your If you have conditional dependencies, use environment markers:

Show thread

When PEP 621 is implemented in setuptools, using PEP 621 for your metadata spec will also work (and is probably the best option):

Show thread
Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves. A STEM-oriented instance.

An inclusive free speech instance.
All cultures and opinions welcome.
Explicit hate speech and harassment strictly forbidden.
We federate with all servers: we don't block any servers.