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.
Metadata
Release files for open-climate-service 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| open_climate_service-0.1.0.tar.gz | 133.6 kB | Without provenance | Details for open_climate_service-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| open_climate_service-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for open_climate_service-0.1.0-py3-none-any.whl |
Total release size: 305.9 kB
Release files / open_climate_service-0.1.0.tar.gz
| Download URL | open_climate_service-0.1.0.tar.gz |
|---|---|
| Size | 133.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
566f65768b7441af5104c882636cde980c90a9baea954887ad83f24df3e3314d
|
|
BLAKE2b-256 checksum How to use checksums |
5bad5ff05d25e9b9f1cbbb7fc59a392a7edb22b79d2dd1d5e675b21f3edf8eb3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / open_climate_service-0.1.0-py3-none-any.whl
| Download URL | open_climate_service-0.1.0-py3-none-any.whl |
|---|---|
| Size | 172.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cc2bbc2cbbdb332c2510bf91fbf2888603c064da6ab71aa4a4168e210905cf4c
|
|
BLAKE2b-256 checksum How to use checksums |
fc2efe6e9106297e96e1cd4ae1e61dc640f20cc6c2015449e1d573ff3128737e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Security for open-climate-service 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.