Installation#

We define here two types of installation:

We recommend users and contributors first set up a virtual environment to install RADAR-API.

Virtual environment creation#

While not mandatory, utilizing a virtual environment when installing RADAR-API is recommended.

Using a virtual environment for installing packages provides isolation of dependencies, easier package management, easier maintenance, improved security, and improved development workflow.

We provide two options to set up a virtual environment: using venv or conda (recommended).

With conda:

  • Install miniconda or anaconda if you don’t have it already installed.

  • Create the radar-api-py311 (or any other custom name) conda environment:

conda create --name radar-api-py311 python=3.11 --no-default-packages
  • Activate the radar-api-py311 conda environment:

conda activate radar-api-py311

With venv:

  • Windows: Create a virtual environment with venv:

python -m venv radar-api-pyXXX
cd radar-api-pyXXX/Scripts
activate
  • Mac/Linux: Create a virtual environment with venv:

virtualenv -p python3 radar-api-pyXXX
source radar-api-pyXXX/bin/activate

Installation for standard users#

The latest RADAR-API stable version is available on the Python Packaging Index (PyPI) and on the conda-forge channel.

Please install the package in the virtual environment you created before!

With conda:

conda install -c conda-forge radar-api

Note

In an alternative to conda, if you are looking for a lightweight package manager you could use micromamba.

With pip:

pip install radar-api

Installation for contributors#

The latest RADAR-API version is available on the GitHub repository radar_api. You can install the package in editable mode, so that you can modify the code and see the changes immediately. The following steps guides to the package installation in editable mode.

Clone the repository from GitHub#

According to the contributors guidelines, you should first create a fork into your personal GitHub account.

Then create a local copy of the repository you forked with:

git clone https://github.com/<your-account>/radar_api.git
cd radar_api

Create the development environment#

We recommend creating a dedicated conda environment for development purposes. You can create a conda environment (i.e. with python 3.11) with:

conda create --name radar-api-dev-py311 python=3.11 --no-default-packages
conda activate radar-api-dev-py311

Install the package dependencies#

conda install --only-deps radar-api

Install the package in editable mode#

Install the RADAR-API package in editable mode by executing the following command in the RADAR-API repository’s root:

pip install -e ".[dev]"

Install code quality checks#

Install the pre-commit hook by executing the following command in the RADAR-API repository’s root:

pre-commit install

Pre-commit hooks are automated scripts that run during each commit to detect basic code quality issues. If a hook identifies an issue (signified by the pre-commit script exiting with a non-zero status), it halts the commit process and displays the error messages.

Note

The versions of the software used in the pre-commit hooks are specified in the .pre-commit-config.yaml file. This file serves as a configuration guide, ensuring that the hooks are executed with the correct versions of each tool, thereby maintaining consistency and reliability in the code quality checks.

Further details about pre-commit hooks can be found in the Contributors Guidelines, specifically in the provided in the Code quality control section.

Optional dependencies#

Specific functionalities in RADAR-API require additional optional dependencies. To unlock the full functionalities offered by RADAR-API, it is recommended to install also the packages detailed here below.

The following bash code allow to install all optional dependencies:

conda install -c conda-forge jupyter spyder xradar wradlib arm_pyart flox numbagg bottleneck opt-einsum python-graphviz bokeh

IDE Tools#

For an improved development experience, consider installing the intuitive Jupyter and Spyder Python Integrated Development Environments (IDEs):

conda install -c conda-forge jupyter spyder

Radar Processing#

To read and process ground and spaceborne radar data, install xradar, wradlib. pyart and gpm-api.

conda install -c conda-forge xradar wradlib arm_pyart gpm-api

Speed Up Xarray Computations#

To speed up arrays computations with xarray, install flox, numbagg, bottleneck and opt-einsum:

conda install -c conda-forge flox numbagg bottleneck opt-einsum

Dask Operations#

To visualize Dask Task Graphs and monitor computations through the Dask Dashboard, please install:

conda install -c conda-forge python-graphviz bokeh

Run on Jupyter Notebooks#

If you want to run RADAR-API on a Jupyter Notebook, you have to take care to set up the IPython kernel environment where RADAR-API is installed.

For example, if your conda/virtual environment is named radar-api-dev, run:

python -m ipykernel install --user --name=radar-api-dev

When you will use the Jupyter Notebook, by clicking on Kernel and then Change Kernel, you will be able to select the radar-api-dev kernel.