openEO
  • About
  • Services
  • News
  • Meetings
  • Events
  • PSC
  • Support
    • Contact
    • CDSE Forum
    • Notebook examples
  • Documentation
    • KEY CONCEPTS
    • Backends
    • Datacube
    • Processes

    • SETUP

    • DATA DISCOVERY
    • Collections
    • Load Collections
    • Load STAC metadata

    • CUBE OPERATIONS
    • Preprocessing
    • Spatial Operations
    • Temporal Operations
    • Spectral Operations
    • Cube Manipulations
    • User Defined Functions
    • Machine Learning
    • User Defined Processes
    • Execute openEO Jobs
    • EXPORT FORMATS

On this page

  • Software
    • Clients
    • Back-ends
    • Specification
    • Ecosystem

Software

All developed software is organized within the openEO GitHub organization.

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 openeo-js-client
Python library PyPI: openeo / Conda Forge: openeo openeo-python-client
QGIS plugin QGIS plugin repository: openEO openeo-qgis-plugin
R library CRAN: openeo openeo-r-client
Web Editor Hosted Version openeo-web-editor

See the <a :href=“\(site.themeConfig.docPath + 'getting-started.html'">**getting started guide for users**</a> for more information. Users considering to implement a new client library should read the <a :href="\)site.themeConfig.docPath + ‘developers/clients/getting-started.html’”>getting started guide for client developers.

Back-ends

Data and infrastructure providers can host their own instance of the openEO API:

  • GeoPySpark (Geotrellis) (by VITO) - has integration tests, requires GeoTrellis extensions.
  • Google Earth Engine (by WWU)
  • GRASS GIS (by mundialis)
  • JEODPP (by JRC)
  • Open Data Cube (by EURAC, funded by ESA)
  • Apache Airflow / eoDataReaders (by EODC)
  • Sentinel Hub (by Sinergise)
  • WCPS (rasdaman) (by EURAC)
  • R back-end (by WWU) - discontinued until further notice (last version: 0.3)
  • TensorLakeHouse (by IBM Research)

See the <a :href=“$site.themeConfig.docPath + ‘developers/backends/getting-started.html’”>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
  • Python API Commons
  • Python Process Graph Parser
  • JavaScript Process Graph Parser
  • Python Processes - 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
  • UDF R reference implementation

Specification

The API specification is available in the openEO API repository. The process definitions are available in the openEO processes repository.

Ecosystem

  • Back-end validator - Validation for back-end implementations. Image-based validation of EO processing results is also worked on.
  • openEO Hub (GitHub) - The central platform for openEO services.
  • Processes DocGen - A tool to generate a visual interface for openEO process definitions.
  • Vue.js Components - Common Vue.js 2 components for openEO
  • JavaScript Commons - Common JavaScript functionality for openEO clients and back-ends