Backend dependencies are managed with pip-tools. pip-compile (part of pip-tools) takes
*.in files with version constraints, and outputs the entire transitive dependency
The backend dependencies are layered:
requirements/base.txt: the minimal set of packages that is needed to run Open Zaak in a production-like environment
base.txt+ any testing/CI tools to guard the quality of Open Zaak
ci.txt+ developer tools only installed in a local environment to develop Open Zaak itself
Adding a backend dependency
Sometimes new features require new dependencies that aren’t used yet in this project.
Add the dependency in the right logical group
Commit the three changed
For CI or development dependencies you add them to
Upgrading a backend dependency
It happens that existing backend dependencies need to be upgraded (bugfixes, security
releases…). This is also done through
./bin/compile_dependencies.sh. Any extra
arguments supplied are forwarded to the underlying
Determine which package needs to be upgraded, for example Django
./bin/compile_dependencies.sh -P django(substitute with appropriate package name)
Commit the changed
This works for base, ci and dev dependencies.
You can constraint versions, such as
-P django~=2.2.0 to get the latest
patch version, or
-P djangorestframework<3.13 for example.