pip-tools has more functionality than this, but compile alone is quite useful.
Start with a loose list of dependencies in requirements.in:
typer
rich
The requirements.in file can have things like >= and such if you have some restrictions on your dependencies.
Now install pip-tools:
pip install pip-tools
Then, in create a requirements.txt file with compile:
pip-compile requirements.in
or:
python -m piptools compile requirements.in
The output will be shown on stdout, but also in requirements.txt:
# autogenerated by: pip-compile requirements.in
click==7.1.2
# via typer
colorama==0.4.4
# via rich
commonmark==0.9.1
# via rich
pygments==2.9.0
# via rich
rich==10.2.2
# via -r requirements.in
typer==0.3.2
# via -r requirements.in
Now, do the same with a dev-requirements.ini to create dev-requirements.txt.
Then, of course:
pip install -r requirements.txtpip install -r dev-requirements.txt- And test your application.
- All good? Push changes.
To force pip-compile to update all packages in an existing requirements.txt, run pip-compile --upgrade.