Metadata-Version: 2.1
Name: caracal
Version: 1.1.3rc1
Summary: Containerized Automated Radio Astronomy Calibration
Home-page: https://github.com/caracal-pipeline/caracal
License: GNU GPL v2
Keywords: Astronomy,Visualisation,Pipelines
Author: The CaraCAL Team
Author-email: caracal-info@googlegroups.com
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Astronomy
Provides-Extra: all
Provides-Extra: astropy
Provides-Extra: astroquery
Provides-Extra: regions
Provides-Extra: scipy
Requires-Dist: astropy (>=5.2.2,<6.0.0) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "astropy" or extra == "all")
Requires-Dist: astroquery ; extra == "astroquery" or extra == "all"
Requires-Dist: jinja2
Requires-Dist: matplotlib
Requires-Dist: nbconvert
Requires-Dist: numpy
Requires-Dist: progressbar2 (>=4.2.0,<5.0.0)
Requires-Dist: psutil (>=5.9.4,<6.0.0)
Requires-Dist: pykwalify (>=1.8.0,<2.0.0)
Requires-Dist: python-casacore
Requires-Dist: radiopadre-client
Requires-Dist: regions ; extra == "regions" or extra == "all"
Requires-Dist: ruamel.yaml (>=0.17.21,<0.18.0)
Requires-Dist: scipy ; extra == "scipy" or extra == "all"
Requires-Dist: stimela (>=1.7.6,<2.0.0)
Project-URL: Repository, https://github.com/caracal-pipeline/caracal
Description-Content-Type: text/x-rst

=======
CARACal
=======

|Build Version|
|Doc Status|
|Pypi Version|
|Python Versions|
|Project License|

CARACal stands for Containerized Automated Radio Astronomy Calibration and is a pipeline for radio interferometry data reduction

Main website: `caracal.rtfd.io <https://caracal.readthedocs.io/>`_

It includes the Install & Run instructions described below, and much more.

==================
Installation & Run
==================

Usage and publication policy
----------------------------

When using CARACal please be aware of and adhere to the `CARACal publication policy <https://docs.google.com/document/d/e/2PACX-1vTqZoKhdewnWvxvEI4C9DxI-IHP1FTCoC5Iqz_MqlX63q8UnnpcqoZvVf-sSfqACu8sA_nufkXICUH6/pub>`_.

============
Installation
============

We strongly recommend and describe an installation using a `Python3` virtual environment. Only try outside a virtual environment if you know what you are doing. Any name as ``${name}`` occurring in the description below can be chosen arbitrarily. If it symbolises directories or files, those directories or files should exist and the user should have **write** access.

There are three (3) available methods to install the `caracal` pipeline: 

1. Manual
---------

Choose the name of the virtual environment `${caracal-venv}`. Then:

..  code-block:: bash

    python3 -m venv ${caracal-venv}

OR, if the command above does not work

..  code-block:: bash

    virtualenv -p python3 ${caracal-venv}

For a CARACal stable release run:

..  code-block:: bash

    pip install -U caracal

CARACal has a few optional dependencies (``scipy``, ``astropy``, ``regions``, ``astroquery``) which are not installed by default. But to get full functionality, you can install them by running:

..  code-block:: bash

    pip install -U caracal[all]

And CARACal developer version which is not recommended for users:

..  code-block:: bash

    pip install -U 'caracal[all] @ git+https://github.com/caracal-pipeline/caracal.git@master'



Ignore any error messages concerning ``pyregion``.

2. `caratekit.sh` script
------------------------

Download the installation script `caratekit.sh <https://github.com/caracal-pipeline/caracal/blob/master/caratekit.sh>`_ . Choose the parent directory ``${workspace}`` and the name of the CARACal directory ``${caracal_dir}``. Any name as ``${name}`` occurring in the description below can be chosen arbitrarily. If it symbolises directories or files, those directories or files should exist and the user should have write acccess.

If using `Docker <https://www.docker.com>`_:

..  code-block:: bash

    caratekit.sh -ws ${workspace} -cr -di -ct ${caracal_dir} -rp install -f -kh


If using `Singularity <https://github.com/sylabs/singularity>`_:

..  code-block:: bash

    caratekit.sh -ws ${workspace} -cr -si -ct ${caracal_testdir} -rp install -f -kh


3. Poetry (For developers)
--------------------------

Installation from source using `poetry`. First, install poetry:

..  code-block:: bash

    pip install poetry


In the working directory where source is checked out run `poetry install` or to include all optional dependencies:

..  code-block:: bash

    poetry install --extras all


..  code-block:: bash

    pip install -U caracal


NB: The stimela singularity images needed for CARACal are stored in this location: ``/software/astro/caracal/``
where you can access the latest version of the images, for example, ``/software/astro/caracal/STIMELA_IMAGES_1.7.0``. 


=======
License
=======

This project is licensed under the GNU General Public License v2.0 - see license_ for details.

==========
Contribute
==========

Contributions are always welcome! Please ensure that you adhere to our coding
standards pep8_.

.. |Doc Status| image:: https://readthedocs.org/projects/caracal/badge/?version=latest
                :target: http://caracal.readthedocs.io/en/latest
                :alt:

.. |Pypi Version| image:: https://img.shields.io/pypi/v/caracal.svg
                  :target: https://pypi.python.org/pypi/caracal
                  :alt:
.. |Build Version| image:: https://github.com/caracal-pipeline/caracal/actions/workflows/continuous_integration.yml/badge.svg
                  :target: https://github.com/caracal-pipeline/caracal/actions/workflows/continuous_integration.yml/
                  :alt:

.. |Python Versions| image:: https://img.shields.io/badge/python-3.8+-blue.svg
                     :target: https://pypi.python.org/pypi/caracal/
                     :alt:

.. |Project License| image:: https://img.shields.io/badge/license-GPL-blue.svg
                     :target: https://github.com/caracal-pipeline/caracal/blob/master/LICENSE
                     :alt:


.. _license: https://github.com/caracal-pipeline/caracal/blob/master/LICENSE
.. _pep8: https://www.python.org/dev/peps/pep-0008

