Climate and Earth Observation data API
Project description
Open Climate Service
An open-source platform that integrates data from many different sources to produce tailored climate services — to help make informed decisions, manage risks, and adapt to climate change.
Status: under active development. APIs and data models may change without notice.
📖 Documentation: https://dhis2.github.io/open-climate-service/
Each instance is configured for a specific country or region: it scopes all data extraction, processing, and storage to that spatial extent, draws from sources such as CHIRPS, ERA5, and WorldPop, stores outputs as GeoZarr, and exposes them through open standards (STAC, Zarr over HTTP, openEO). It runs independently of DHIS2 and can be deployed on local, cloud-hosted, or sovereign country infrastructure.
Install
pip install open-climate-service # client only — talk to an instance over HTTP
pip install open-climate-service[xarray] # + open published datasets as xarray
pip install open-climate-service[server] # full server stack — run your own instance
Running a server? The recommended ways to run an instance are uv or Docker — see Run a server, the quick start (try it locally), and the instance guide (operational deployments). The
[server]extra installs withpipon Linux x86-64; on macOS or ARM, use uv or Docker. The client and[xarray]extras work on any platform.
Quick start (client)
from open_climate_service import ClimateService
service = ClimateService("https://my-instance.example.org")
datasets = service.datasets() # discover published collections
ds = service.open_dataset(datasets[0]["id"]) # open as xarray (needs the [xarray] extra)
Run a server
To try it locally, see the quick start; for an operational deployment, see the instance guide. In short:
uv sync --extra server
uv run uvicorn open_climate_service.main:app --reload
Documentation
- Quick start — try it locally and ingest data
- Instance guide — run a service for your country (recommended)
- Using the web interface — manage ingestion, sync, and the map viewer
- Accessing data — the Python client, STAC, and xarray
- openEO — process graphs, workflows, and exports
- API reference
- Roadmap · Team
Development
make sync # install all dependencies (client + server + xarray)
make run # start the dev server with hot reload
make lint # ruff + mypy + pyright
make test # pytest
License
BSD-3-Clause.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file open_climate_service-0.1.0.tar.gz.
File metadata
- Download URL: open_climate_service-0.1.0.tar.gz
- Upload date:
- Size: 133.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
566f65768b7441af5104c882636cde980c90a9baea954887ad83f24df3e3314d
|
|
| MD5 |
457d63846f7824190a4159953d175f83
|
|
| BLAKE2b-256 |
5bad5ff05d25e9b9f1cbbb7fc59a392a7edb22b79d2dd1d5e675b21f3edf8eb3
|
File details
Details for the file open_climate_service-0.1.0-py3-none-any.whl.
File metadata
- Download URL: open_climate_service-0.1.0-py3-none-any.whl
- Upload date:
- Size: 172.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc2bbc2cbbdb332c2510bf91fbf2888603c064da6ab71aa4a4168e210905cf4c
|
|
| MD5 |
2aa5cfacb7d0cc1912c989464b97762a
|
|
| BLAKE2b-256 |
fc2efe6e9106297e96e1cd4ae1e61dc640f20cc6c2015449e1d573ff3128737e
|