Salem is a pure python package, but it has several non-trivial dependencies.

Required dependencies

  • Python 2.7 or 3+ (Py3 recommended)

  • numpy (of course)

  • scipy: for its interpolation tools, among other things

  • pyproj: for map projections transformations

  • netCDF4: to read most geoscientific files

  • pandas: working with labeled data

  • xarray (0.8 or later): pandas in N-dimensions

  • joblib: for it’s Memory class

  • six: for Py2 compatibility

Optional dependencies

For vector and raster operations

(rasterio and geopandas both require GDAL)

For plotting


You can install Salem via conda-forge:

conda config --add channels conda-forge
conda install salem

or pip:

pip install salem

The very best (unique?) way to install Salem without too much hassle is to install its dependencies with conda and conda-forge:

conda config --add channels conda-forge
conda install <package-name>

Currently, Salem can only be installed via pip:

pip install salem

If you want to install the latest master:

pip install git+


At the first import, Salem will create a hidden directory called .salem_cache in your home folder. It will be used to download Salem’s demo files and standard shapefiles. This directory is also used by joblib to store the result of slow operations such as reading and transforming shapefiles, or downloading google maps from the internet. The cache should not become too large, but if it does: simply delete it.