Skip to main content

dhis2eo

Test status Latest version

Dhis2eo is a small, focused Python library for DHIS2 users who want to integrate earth observation and climate data into their workflows. It provides lightweight helpers and tools bridging the Python geoscience and DHIS2 ecosystems.


What is dhis2eo?

The purpose of dhis2eo is to help DHIS2 users incorporate earth observation and climate data into their workflows without adding unnecessary complexity. It focuses on the intersection of DHIS2 and geoscience rather than trying to be a full earth observation library.

Key points about dhis2eo:

  • Integration with earth observation tools: Dhis2eo is a thin utility layer that connects DHIS2 workflows with climate data sources and geospatial libraries like xarray and earthkit. It provides helpers for common climate and earth observation tasks while avoiding the overhead of a full-featured earth observation or geospatial library.

  • Generic functionality across local and national contexts: Dhis2eo is designed to provide generic solutions for DHIS2 users worldwide, while also allowing users to extract and work with data relevant to specific country contexts.

  • Data translation for DHIS2: Dhis2eo supports translating between DHIS2 and earth observation domains, including conversion of data formats and values. It is not meant for general interaction with DHIS2; for that, use the separately maintained dhis2-python-client.

Design philosophy

More generally, dhis2eo as a library is meant to be:

  • Easy to read
  • Easy to run
  • Easy to maintain
  • Easy to integrate into other projects

This leads to a few guiding principles:

  • Fewer things over more things: Every new function, dependency, or tool has a long-term cost.

  • Core libraries over wrappers: If something can be done directly with xarray, earthkit, or standard Python, we usually prefer that over adding a dhis2eo wrapper.

  • Keep it simple: Code should be short, easy to read, debug, and explain to someone new to the project.

  • Lightweight Python tooling: The project is designed to be easy for developers to install, test, and run, with minimal extra dependencies and broad support across operating systems and Python versions.

These principles help keep the project approachable and durable over time.


Installation

Install the latest released version from PyPI:

pip install dhis2eo

To test unreleased changes directly from GitHub:

pip install git+https://github.com/dhis2/dhis2eo

For contributors (to get linting and testing tools):

pip install -e ".[dev]"

Running tests

Tests are written with pytest and can be run directly:

pytest -v

To avoid unnecessary computation and server load, tests for the data integrations are marked with @pytest.mark.integration and are skipped by default. To run them manually:

pytest -v -m integration

Code formatting

Code style and linting are handled by ruff and can be run directly:

ruff check .
ruff format .

Contributing

Contributions are welcome, whether they are bug fixes, improvements, or new features.

When contributing, please try to align with the design philosophy above. In particular, we aim to keep:

  • The public API small
  • Dependencies minimal
  • Tooling simple and standard

Metadata

Release files for dhis2eo 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dhis2eo 1.2.1
File Size Uploaded Provenance Actions
dhis2eo-1.2.1.tar.gz 22.4 kB With provenance Details for dhis2eo-1.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dhis2eo 1.2.1
File Interpreter ABI Platform Actions
dhis2eo-1.2.1-py3-none-any.whl Python 3 none any Details for dhis2eo-1.2.1-py3-none-any.whl

Total release size: 51.7 kB

Release files / dhis2eo-1.2.1.tar.gz

Download URL dhis2eo-1.2.1.tar.gz
Size 22.4 kB
Tags Source
SHA-256 checksum
How to use checksums
dfc8687f033ae36758bdbc9f78ac648c50e1badf483356d35ebbee6d00f800e3
BLAKE2b-256 checksum
How to use checksums
e53d0a2945f5459bbda30e2d014a2c02417415374953e119f7a19d58c2bdf004
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 7, 2026.

Transparency log

Release files / dhis2eo-1.2.1-py3-none-any.whl

Download URL dhis2eo-1.2.1-py3-none-any.whl
Size 29.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
25fc25a8225ef7b9384a5eba6df491857562b317312cb931b8af924878fa0c52
BLAKE2b-256 checksum
How to use checksums
6df3c07d21f796b809ae72858d537c68fe6be7f9f97d363ba0f76adb604b8795
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 7, 2026.

Transparency log

Security for dhis2eo 1.2.1

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for dhis2eo-1.2.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 7, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page