For better management of caracal dependencies the following requirement files are added:
dev-requirements.txt: These are tools mainly required get a caracal installation going.
requirements.in: These are the top-level (abstract) dependencies to get caracal running (used to be in setup.py).
requirements.txt: These are the full compiled specific (concrete) requirements that allow replication of a specific release installation. This will be installed by the setup.py file.
Before making a release / development a new requirements.txt should be compiled reflecting the latest development environment of the caracal pipeline. This is performed using pip-tools which will be installed as part of the dev-requirements.txt:
Create a new virtual environment and pip install -r requirements.in
pip-compile # To update the compiled requirements file
pip-sync # To sync back environment in case requirements.in is updated and unused dependencies are removed automatically.
NB: pip-sync can also be used by both end-users and developers when running the main development branch of caracal
without explicitly re-installing updated requirements on their environments.
For better management of
caracal
dependencies the following requirement files are added:caracal
installation going.caracal
running (used to be in setup.py).Before making a release / development a new requirements.txt should be compiled reflecting the latest development environment of the caracal pipeline. This is performed using
pip-tools
which will be installed as part of the dev-requirements.txt:pip-compile
# To update the compiled requirements filepip-sync
# To sync back environment in case requirements.in is updated and unused dependencies are removed automatically.NB:
pip-sync
can also be used by both end-users and developers when running the main development branch ofcaracal
without explicitly re-installing updated requirements on their environments.