Using pip-compile
from https://pypi.org/project/pip-tools/ we can make a requirements.in file that doesn't have transitive dependencies, and it'll output a requirements.txt that includes all the transitive dependencies pinned to specific versions and with comments about what requires them.
We can also separate development-only requirements like sphinx stuff which pulls in a lot more dependencies.
db/8311