The package requires Python version >=3.8.


Before installing eo-learn on Linux it is recommended to install the following system libraries:

sudo apt-get install gcc libgdal-dev graphviz proj-bin libproj-dev libspatialindex-dev

Mac OS

Before installing eo-learn on Mac OS it is recommended to install the following system libraries with Homebrew:

brew install graphviz gcc gdal cmake spatialindex proj


Before installing eo-learn on Windows it is recommended to install the following packages from Unofficial Windows wheels repository:


PyPI distribution

eo-learn is available on PyPI and can be installed with:

pip install eo-learn

For some modules there are extra dependencies available, related to specific tasks. These were kept separate in order to keep the eo-learn installation light. You can install these with, e.g.:

pip install "eo-learn[EXTRA]"
pip install "eo-learn[VISUALIZATION]"

The full list (including their descriptions) is available here:

  • RAY for installing ray and its dependencies

  • ZARR for installing the zarr functionality for chunked timestamp saving/loading

  • EXTRA for installing interpolation- and clustering-specific dependencies, or for installing s2cloudless in cloud masking

  • VISUALIZATION for using plotting libraries and utilities

  • FULL for installing all dependencies described so far

  • DOCS for developers, dependencies for building documentation

  • DEV for developers, dependencies for testing and code contribution

Conda Forge distribution

The package requires a Python environment >=3.8.

Thanks to the maintainers of the conda forge feedstock (@benhuff, @dcunn, @mwilson8, @oblute, @rluria14), eo-learn can be installed using conda-forge as follows:

conda config --add channels conda-forge
conda install eo-learn

Run with Docker

A docker image with the latest released version of eo-learn is available at Docker Hub. It provides a full installation of eo-learn together with a Jupyter notebook environment. You can pull and run it with:

docker pull sentinelhub/eolearn:latest
docker run -p 8888:8888 sentinelhub/eolearn:latest

An extended version of the latest image additionally contains all example notebooks and data to get you started with eo-learn. Run it with:

docker pull sentinelhub/eolearn:latest-examples
docker run -p 8888:8888 sentinelhub/eolearn:latest-examples

Both docker images can also be built manually from GitHub repository:

docker build -f docker/eolearn.dockerfile . --tag=sentinelhub/eolearn:latest
docker build -f docker/eolearn-examples.dockerfile . --tag=sentinelhub/eolearn:latest-examples