Skip to content

Welcome to RS-Python

The Copernicus Reference System Python (RS-Python, sometimes abbreviated RSPY) is an open-source software solution to implement, maintain, deploy, operate and monitor Copernicus Sentinel data processing workflows, based on the re-engineered Level-0, Level-1 and Level-2 Sentinel data processors of the EOPF (Earth Observation Processing Framework) project.

It is developed for the European Space Agency (ESA) under the Copernicus programme of the European Union, and is distributed under the Apache License, Version 2.0.

In a nutshell

RS-Python lets you search Sentinel data in the Copernicus ground segment (acquisition stations, auxiliary data, production services, archives), stage it into your own object storage and STAC catalog, process it with the official DPR processors running on a Dask cluster, and orchestrate all of this with Prefect flows - systematically or on demand.

What is in the box?

From a functional point of view, RS-Python is made of:

Component What it does for you
rs-server Web services with fine access control: browse the external data sources (CADIP stations, AUXIP and PRIP instances) and the RS-Python catalog with a STAC API, stage products into the catalog, get your object storage credentials.
DPR processors The Sentinel-1, Sentinel-2 and Sentinel-3 processors, delivered as Docker images and run on Dask clusters, triggered through an OGC API - Processes web service.
Prefect flows Ready-to-use workflows to search, stage and process Sentinel products, from Level-0 to Level-2.
rs-client-libraries The Python library used by the flows to call the services. Use it to write your own flows.
Virtual environment A per-group workspace with JupyterHub, Prefect and Dask to develop, run and monitor your processing.
Infrastructure Everything needed to deploy the platform on a Kubernetes cluster: identity and access management, databases, object storage, monitoring, security.

See Project organisation for a more detailed description of the components and of the source code repositories.

Who are you?

This documentation is organised by profile. Pick the one that matches your role:

  • User (data operator, analyst)


    You run existing flows, then view and download the generated products.

    → Quickstart, Services, Prefect flows

  • Flow developer (processing chain developer, IVV)


    You customise the processing, write your own flows and integrate new processors.

    → Advanced flow management

  • Administrator (and operator)


    You deploy and maintain the platform, manage the user accounts and rights, initialise the processing environment, monitor the platform and support the users. Operators use a subset of the administration tools, mainly the monitoring ones.

    → Administration

  • Software developer and contributor


    You pull, run and modify the source code or the documentation of the project.

    → Developers and contributors

Essential features

RS-Python relies on state-of-the-art open-source tools and standards:

  • Standards for interoperability: all the data, internal or external, is described with the SpatioTemporal Asset Catalog (STAC) specification and exposed with the STAC API. Asynchronous services follow OGC API - Processes.
  • Re-engineered processors: the Copernicus processors are re-written in Python by the EOPF project, on top of the EOPF Core Python Modules (CPM), and produce Zarr products.
  • Parallel computing with Dask clusters managed by Dask Gateway.
  • Workflows as code with Prefect: implement, schedule, chain and instrument your processing in Python.
  • Cloud native: everything is containerised with Docker and deployed on a Kubernetes cluster (hosted by OVHcloud for the reference platform) with Ansible and Helm, data is stored in S3-compatible object storage and PostgreSQL databases.
  • Security: identity and access management with Keycloak, fine access rights per station and per catalog collection, API keys for long-running processing.
  • Observability: logs, metrics and traces instrumented with OpenTelemetry and displayed in Grafana.
  • Virtual environment: a JupyterHub workspace with the client libraries pre-installed.

Compared to the previous solutions, RS-Python gives more flexibility to the users to search, stage, process, view and download specific products, and to customise their own processing flows.

Copernicus ecosystem

RS-Python is part of the Copernicus ground segment ecosystem and interoperates with:

Getting help

  • Acronyms are explained in the glossary.
  • All the URLs of the platform services are listed in Useful links.
  • Report bugs and ask for features in the issue tracker of the relevant GitHub repository. For sensitive issues like security vulnerabilities, please contact ops_coprs@airbus.com directly instead of using the issue tracker.