I would emphasize that setup.py is the way to go. Requirements.txt was only
ever intended to be a way for a developer to provide a dependency chain so that
other developers could duplicate the environment if necessary. Today's common
usage was never originally intended.
The `extras_require` that you have discovered is an excellent way of
segregating non-installation-required dependencies. On some of my projects, I
have built up the following "standard" extras:
* all - this is programmatically defined as every dependency including the
package itself
* dev - this is programmatically defined as every dependency excluding the
packge itself
* test - all testing dependencies (i.e pytest, coverage, etc.)
* docs - all documentation dependences (i.e. sphinx)
For onboarding, I typically just then tell someone to use `-e .[all]` for
setting up a development environment.
--
Distutils-SIG mailing list
[email protected]
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at
https://mail.python.org/mm3/archives/list/[email protected]/message/JVNSAKVYP2VASPP66M4TCLQVIDMTH5P2/