Repolode
sentinel-hub

sentinel-hub/eo-learn

Python framework for building modular workflows that process satellite Earth observation imagery into machine learning inputs.

Stars
1,258
Forks
306
Open issues
7
Last commit
2 months ago

What is it?

eo-learn is a set of Python packages for accessing and processing spatio-temporal satellite image sequences. Processing is expressed as a workflow of tasks that operate on an EOPatch, a container that stores satellite data arrays along with their time stamps and geographic metadata. Typical steps include cloud masking, image co-registration, feature extraction and preparing data for classification.

The library is organized into modules such as core, io, mask, coregistration, features, geometry, ml-tools and visualization. The io module handles obtaining data from Sentinel Hub services and saving or loading it locally. Optional extras add dependencies for tasks like interpolation, clustering, zarr storage, ray-based parallel execution and plotting.

eo-learn is intended to make remote sensing easier for non-specialists while letting remote sensing experts use Python's computer vision, machine learning and deep learning tools. It can be installed from PyPI or conda-forge, and a Docker image with Jupyter and example notebooks is available.

Key features

  • 01Workflow of reusable tasks chained together to process satellite imagery.
  • 02EOPatch container stores arrays, timestamps and geographic metadata for each area.
  • 03Built-in tasks for cloud masking, co-registration and feature extraction.
  • 04Data access from Sentinel Hub services with local save and load support.
  • 05Optional extras for interpolation, clustering, zarr storage and parallel execution with ray.

Use cases

  • Building land cover classification pipelines from multi-temporal satellite images.
  • Monitoring water bodies by computing indices such as NDWI over a region of interest.
  • Preparing cloud-free time series for machine learning models.
  • Running large-scale satellite processing workflows in parallel.

Topics

#earth-observation#remote-sensing#satellite-imagery#machine-learning#geospatial#python#time-series#eo-data#eo-research#python-package

FAQ

What is eo-learn?
Python framework for building modular workflows that process satellite Earth observation imagery into machine learning inputs. eo-learn is a set of Python packages for accessing and processing spatio-temporal satellite image sequences. Processing is expressed as a workflow of tasks that operate on an EOPatch, a container that stores satellite data arrays along with their time stamps and geographic metadata. Typical steps include cloud masking, image co-registration, feature extraction and preparing data for classification.
Is eo-learn free to use? What license does it have?
eo-learn is open source under the MIT license. Check the license terms before using it in commercial products.
Is eo-learn still maintained?
Updated within 6 months. The last commit to eo-learn was on Sep 9, 2026.
What can I use eo-learn for?
Building land cover classification pipelines from multi-temporal satellite images. Monitoring water bodies by computing indices such as NDWI over a region of interest. Preparing cloud-free time series for machine learning models. Running large-scale satellite processing workflows in parallel.
Where can I get eo-learn?
The source code and installation instructions are on GitHub: https://github.com/sentinel-hub/eo-learn

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects