Home

Awesome

openEO API

openEO develops an open API to connect R, Python and JavaScript clients to big Earth observation cloud back-ends in a simple and unified way. This repository contains this API, the openEO (core) API.

Versions / Branches

The master branch is the 'stable' version of the openEO API specification. It is currently version 1.2.0 of the specification. The draft branch is where active development takes place.

Version / BranchStatusDescription
draftplannedUnstable - Next version.
1.2.0currentClarifications, new extensions, vector data cubes, STAC (API) updates, more link relation types, improved batch job results and logs. Changelog.
1.1.0legacyClarifications, STAC updates, return value for child processes, more details for logs and jobs, default clients for OIDC. Changelog.
1.0.1legacyClarifications, bugfixes and CORS improvements. Changelog.
1.0.0legacyFirst stable version of openEO. Changelog.
1.0.0-rc.2legacyIntroduced user-defined processes. Changelog.
1.0.0-rc.1legacyBetter UDF support, support for file import, support for processing logs, better alignment with STAC and upcoming OGC APIs. Removes WebSocket-based Subscription API. Changelog
0.4.2legacyBugfix release. Changelog.
0.4.1legacyBugfix release. Changelog.
0.4.0legacyImproved discovery, added processes catalogue, new process graph structure. Changelog.
0.3.1legacyBugfix release. Changelog.
0.3.0legacyMajor rework.
0.0.2legacyProof of concept, implemented.
0.0.1legacyFirst draft with basic ideas, loosely implemented.

See also the changelog and the milestones for a rough roadmap based on GitHub issues.

Extensions

NameVersionStabilityDescription
Commercial Data0.1.0experimentalProvides an interface for discovering, ordering and using commercial data.
Federation0.1.0experimentalCovers federation aspects, i.e. where multiple back-ends are exposed as a single API.

Repository

This repository contains a set of files formally describing the openEO API, each with a human-readable and easily browseable version:

Development

The draft branch is the latest version and is the one to create Pull Requests against.

For development some tools can be used:

  1. Install node and npm - should run with any recent version
  2. Run npm install in this folder to install the dependencies
  3. Run the linter for the OpenAPI file with npm test. This will lint the files and check against some best-practices. It uses spectral in the background.
  4. To show the files nicely formatted in a web browser, run npm start. It starts a server and opens the API specification rendered with ReDoc in a web browser.
  5. To create a static HTML page (e.g. for hosting it on GitHub Pages), you can run npm run build and it will create a redoc.html in this folder.