caracal-pipeline / caracal

Containerized Automated Radio Astronomy Calibration (CARACal) pipeline
GNU General Public License v2.0
28 stars 6 forks source link

Add requirements text files #1441

Closed Athanaseus closed 1 year ago

Athanaseus commented 2 years ago

For better management of caracal dependencies the following requirement files are added:

  1. dev-requirements.txt: These are tools mainly required get a caracal installation going.
  2. requirements.in: These are the top-level (abstract) dependencies to get caracal running (used to be in setup.py).
  3. 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:

  1. Create a new virtual environment and pip install -r requirements.in
  2. pip-compile # To update the compiled requirements file
  3. 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.

Athanaseus commented 1 year ago

This will wait for new stimela release.