Python Packages

The SalvusMesh, SalvusFlow, and SalvusOpt packages are part of a single Salvus Python module.

Please note that Python is not necessary for SalvusCompute and we don't recommend installing the Python packages on an HPC system or other big cluster by default.

Setting up Python

Salvus currently requires an installation of Python 3.7. There are different possibilities to achieve this and most should work fine. We recommend to install the latest Miniconda distribution and subsequent dependencies using the package manager Mamba.

Please note that the use of mamba is optional, and that the user is responsible for complying with the licenses provided by any Python package used.

If you follow our recommended installation procedure you will first install Miniconda and then create a new python environment using mamba in which to finally install Salvus and all dependencies. In case this is new to you there are a lot of guides and instructions around, e.g. this one.

Installing the Dependencies

Assuming you are following our recommendations of using mamba, please use this environment.yml file. It describes a python envionment containing all dependencies required to run Salvus. Additionally it contains the Jupyter project which we recommend as an interface to Salvus.

After installing Miniconda and mamba just run:

# Download the file. If that does not work just right click -> Save Link As ...
# on the link in the previous paragraph.
curl -o environment.yml
# Create a new environment with all required dependencies.
mamba env create -n salvus -f environment.yml
# Activate that environment.
conda activate salvus
# Activating this plug-in results in nicer error traces in the notebooks.
jupyter nbextension enable skip-traceback/main

By now there should be some indication in your shell that you have an active Salvus python environment. Remember to always activate it, otherwise Salvus will not be available.