Migrate setuptools metadata from setup.py to setup.cfg
To improve the story around doing programmatic changes to all our repositories, it would be nice if our setuptools metadata was stored in a machine readable format, rather than in code in setup.py. This would also help (a lot) to generate Debian packaging from repositories.
After a cursory look at all our setup.py files, the only thing that needs to change is the pervasive use of requirements*.txt files. We're using them in a way that's discouraged by the Python packaging best practices, so it'd kill two birds with one stone.
This is something that we should replace with:
- extra requires (which we're already generating)
- making sure we use these extra requires everywhere (notably, in tox, by using the
extras
config instead ofdeps = -r foo.txt
ordeps = .[extra]
).
The only use of requirements.txt
left is py-depgraph
in swh-environment, but this would be as happy (or even happier) parsing a setup.cfg file (e.g. with crudini).
Migrated from T2106 (view on Phabricator)