-
-
Notifications
You must be signed in to change notification settings - Fork 334
Description
This is a discussion, research and information gathering issue.
This is an example of using pip-tools to manage dependencies that allow the actual critical dependencies to be managed in a dynamic way with the smallest amount of overhead and risk.
This would also allow more specificity and granularity of the requirements for specific purposes, allowing for more optimal builds and sizes, with less complexity.
Small changes to the process for dev/test/build/publish, could potentially be simplified and automated with minimal impact to the current process.
-
We have a simple example of the piptools
pip-compile --generate-hashes -
The generate hashes allows us to compare the existing vs the new requirements*.txt based on the hashes.
-
The input files are requirements*.in
-
I did use layering in the requirements-viz.in(details in worked_example.md)
-
Those are then used to produce the requirements*.txt
-
I made a change in requirements.in file and then ran the pip-compile again to produce the updated requirements.txt
-
The initial requirements*.txt and the new_requirements*.txt are then compared and the output is in the check_diff*.txt file
the worked_example.md has additional details of the steps and some other notes.
wip/exmp_pip_tools
├── bkup/
├── check_diff_requirements.txt
├── check_diff_requirements_viz.txt
├── new_requirements-viz.txt
├── new_requirements.txt
├── requirements-viz.in
├── requirements-viz.txt
├── requirements.in
├── requirements.txt
├── wip_wip/
└── worked_example.md