Skip to content

Open-EO/openeo-js-client

Repository files navigation

openeo-js-client

JavaScript/TypeScript client for the openEO API.

The version of this client is 2.6.0 and supports openEO API versions 1.x.x. Legacy versions are available as releases. See the CHANGELOG for recent changes.

Usage

This library can run in node.js or any recent browser supporting ECMAScript 2017. This excludes Internet Explorer, but includes Edge >= 15.

An experimental Typescript declaration file is available so that you can use the library also in your TypeScript projects.

Browser

To use it in a browser environment simply add the following code to your HTML file:

<script src="https://cdn.jsdelivr.net/npm/axios@1/dist/axios.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/oidc-client@1/dist/oidc-client.min.js"></script> <!-- Only required if you'd like to enable authentication via OpenID Connect -->
<script src="https://cdn.jsdelivr.net/npm/multihashes@3/src/index.min.js"></script> <!-- Only required if you have checksums in the STAC metadata -->
<script src="https://cdn.jsdelivr.net/npm/@openeo/js-client@2/openeo.min.js"></script>

NodeJS

To install it in a NodeJS environment run: npm install @openeo/js-client

Afterwards, you can import the package: const { OpenEO } = require('@openeo/js-client');

TypeScript

Warning: The TypeScript integration is still experimental! Please help us improve it by opening issues or pull requests.

To install it in a TypeScript environment run: npm install @openeo/js-client

Afterwards, you can import the package: import { OpenEO } from '@openeo/js-client';

Examples

In the browser:

In Node.js:

In Typescript:

More information can be found in the documentation.

Development

JS Client Tests

Always make sure to adapt changes in the *.js files to the openeo.d.ts file. If changes are larger you may want to run npm run tsd and regenerate the declaration file and cherry-pick your changes from there.

Generate a build: npm run build (generates openeo.js and openeo.min.js)

Generate the documentation to the docs/ folder: npm run docs

Check against the coding guidelines: npm run lint

Run tests:

  • npm test (all tests)
  • npm test browser (browser tests)
  • npm test node (node tests)
  • npm test builder (tests only the process builder)
  • npm test earthengine (full test suite using the Google Earth Engine back-end as server)

Contributions

The authors acknowledge the financial support for the development of this package during the H2020 project "openEO" (Oct 2017 to Sept 2020) by the European Union, funded by call EO-2-2017: EO Big Data Shift, under grant number 776242. We also acknowledge the financial support received from ESA for the project "openEO Platform" (Sept 2020 to Sept 2023).

This package received major contributions from the following organizations:

WWU Münster logo   Solenix logo Sinergise logo

Interactive Web Editor

There is an interactive web-based editor for coding using the openEO API, which is based on the JavaScript client. See https://github.com/Open-EO/openeo-web-editor for more details.