A PyTorch domain library providing datasets, samplers, transforms, and pre-trained models for geospatial and remote sensing data.
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
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
A Python package that applies Meta's Segment Anything Model (SAM) to geospatial imagery such as satellite and aerial photos, producing georeferenced masks.
A Python package for interactive geospatial analysis and visualization of Google Earth Engine data in Jupyter notebooks.
A desktop and web GIS written in pure Rust for mapping, analyzing and sharing geospatial data, with scriptable commands and an AI assistant.
AutoML library that trains and ensembles ML models for tabular, time series, and multimodal data with a few lines of Python.
Companion code for the book Machine Learning for Trading (3rd edition), covering an end-to-end workflow from data sourcing to live trading.