Dependencies of Pipeline
Runtime
A CASA6-equivalent Python environment
Note
Pipeline is a Python-based package with CASA6 components and other general-purpose Python libraries as dependencies. As with any python package, it's only compatible and supported with certain Python and 3rd-party libraries versions. In reality, each release is only tested and validated against an ALMA-cycle-specific monolithic CASA6 release (a self-contained Python environment with a built-in portable Python interpreter and associated libraries in other languages). CASA6 distribution itself has limited platform support (see the CASA6 compatibility matrix).; users are encouraged to check the OS/libraries compatibility and requirements for running CASA6.
For transparency and encouraging the use and development of Pipeline in a standard Python environment (e.g. conda), we break down the essential components for a CASA6-equivalent environment as below. In reality, all of them are included in Pipeline-dedicated CASA releases with built-in portable Python interpreter.
python3
ipython
pip
numpy
scipy
matplotlib
casatools
casatasks
casaplotms
casampi
Note
casadata and almatasks are no longer required for CASA6>=6.6.1 due to the introduction of casaconfig and refactor and migration of the casatasks.wvrgcal task. casaconfig is implicitly required by casatasks
Other Pipeline Dependencies
Here we list other dependency libraries required by Pipeline but not offered in the CASA6 monolithic environment :
Python packages/libraries (also see
requirements.txtin the source code repository)cachetools
mako
pypubsub
intervaltree
logutils
ps_mem
astropy
bdsf (for VLASS source detection & mask creation)
*unix-cmd tools
ImageMagick
the "convert" cmd:
Linux only for generating thumbnails; macOS uses "sips" which comes with OS.
Also used by ImageMagickWriter from matplotlib.animation in hsd/tasks/common/rasterutil.py (only for developers)
the "montage" cmd: required from hifa_renorm
poppler-utils
the "pdfunite" cmd: required from hifa_renorm
Git: for obtaining the Pipeline revision description string.
Xvfb/xvfb-run: xvfb from OS is required for the casampi module, which is mandatory for running
uncompress: used by tec_maps.py in CASA for VLA pipeline task hifv_priorcals
Development Tools
Packaging
wheel: for installing older Python packages
csscompressor: minify CSS during installation
Testing
pytest
pytest-cov
Development tools
pydocstyle
pycodestyle
memory_profiler
line_pofiler
Documentation
sphinx
Version Controls
Git LFS: for managing the pipeline-testdata repo