# Software
All developed software is organized within the openEO GitHub organization (opens new window).
# Clients
Software that allows remote sensers and other users to access the openEO back-ends:
Client software | Package Manager / Hosted Version | GitHub |
---|---|---|
JavaScript/TypeScript library | npm: @openeo/js-client (opens new window) | openeo-js-client (opens new window) |
Python library | PyPI: openeo (opens new window) / Conda Forge: openeo (opens new window) | openeo-python-client (opens new window) |
QGIS plugin | QGIS plugin repository: openeo-qgis-plugin-master (opens new window) | openeo-qgis-plugin (opens new window) |
R library | CRAN: openeo (opens new window) | openeo-r-client (opens new window) |
Web Editor | Hosted Version (opens new window) | openeo-web-editor (opens new window) |
See the getting started guide for users for more information. Users considering to implement a new client library should read the getting started guide for client developers.
# Back-ends
Data and infrastructure providers can host their own instance of the openEO API:
- GeoPySpark (Geotrellis) (opens new window) (by VITO) - has integration tests (opens new window), requires GeoTrellis extensions (opens new window).
- Google Earth Engine (opens new window) (by WWU)
- GRASS GIS (opens new window) (by mundialis)
- JEODPP (opens new window) (by JRC)
- Open Data Cube (opens new window) (by EURAC, funded by ESA)
- Apache Airflow / eoDataReaders (opens new window) (by EODC)
- Sentinel Hub (opens new window) (by Sinergise)
- WCPS (rasdaman) (opens new window) (by EURAC)
- R back-end (opens new window) (by WWU) - discontinued until further notice (last version: 0.3)
- TensorLakeHouse (opens new window) (by IBM Research)
See the getting started guide for back-end providers for more information.
To start developing a new back-end driver, you may start with any of the common functionalities implemented in several programming languages:
- Java (Spring) API Commons (opens new window)
- Python API Commons (opens new window)
- Python Process Graph Parser (opens new window)
- JavaScript Process Graph Parser (opens new window)
- Python Processes (opens new window) - many openEO processes implemented in Python
Our approach to tackle language-agnostic user-defined functions can be found in the following repositories:
- UDF Python reference implementation (opens new window)
- UDF R reference implementation (opens new window)
# Specification
The API specification is available in the openEO API repository (opens new window). The process definitions are available in the openEO processes repository (opens new window).
# Ecosystem
- Back-end validator (opens new window) - Validation for back-end implementations. Image-based validation of EO processing results (opens new window) is also worked on.
- openEO Hub (opens new window) (GitHub (opens new window)) - The central platform for openEO services.
- Processes DocGen (opens new window) - A tool to generate a visual interface for openEO process definitions.
- Vue.js Components (opens new window) - Common Vue.js 2 components for openEO
- JavaScript Commons (opens new window) - Common JavaScript functionality for openEO clients and back-ends