Skip to main content

CI docs PyPI version codestyle conda-forge



xdggs: discrete global grid systems with xarray

xdggs is an open-source Python package that provides tools for handling geospatial data using Discrete Global Grid Systems (DGGS).

It enables efficient manipulation and analysis of multi-dimensional gridded data within a DGGS framework, supporting spatial data processing, resampling, and aggregation on both global and regional scales.

Inspired by the growing need for scalable geospatial data analysis with DGGS, xdggs is built upon the robust Xarray ecosystem, which simplifies working with labeled multi-dimensional arrays.

As an extension of Xarray, xdggs leverages Xarray's capabilities, including seamless access to formats like NetCDF, Zarr, and parallelization through Dask, to provide a powerful and flexible toolkit for geospatial analysis.

Key Features

  • Seamless Integration with Xarray: Use xdggs alongside Xarray's powerful tools for managing labeled, multi-dimensional data.
  • Support for DGGS: Convert geospatial data into DGGS representations, allowing for uniform spatial partitioning of the Earth's surface.
  • Spatial Resampling: Resample data on DGGS grids, enabling downscaling or upscaling across multiple resolutions.
  • DGGS Aggregation: Perform spatial aggregation of data on DGGS cells.
  • Efficient Data Management: Manage large datasets with Xarray's lazy loading, Dask integration, and chunking to optimize performance.

Documentation

You can find the documentation in https://xdggs.readthedocs.io/en/latest/.

Demo

xdggs demo

Getting Started

As an example, this is how you would use xdggs to reconstruct geographical coordinates from the cell ids then create an interactive plot indicating cell ids, data values and the associated geographical coordinates:

import xarray as xr
import xdggs

ds = xdggs.tutorial.open_dataset("air_temperature", "h3")

# Decode DGGS coordinates
ds_idx = ds.pipe(xdggs.decode)

# Assign geographical coordinates
ds_idx = ds_idx.dggs.assign_latlon_coords()

# Interactive visualization
ds_idx["air"].isel(time=0).compute().dggs.explore(center=0, cmap="viridis", alpha=0.5)

Roadmap

We have exciting plans to expand xdggs with new features and improvements. You can check out our roadmap in the design_doc.md file for details on the design of xdggs, upcoming features, and future enhancements.

Contributing

We welcome contributions to xdggs! Please follow these steps to get involved:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes and write tests.
  4. Ensure all tests pass (pytest).
  5. Submit a pull request!

License

xdggs is licensed under the Apache License. See LICENSE for more details.

Acknowledgments

This project was initiated using funding from CNES (PANGEO IAOCEA, contract R&T R-S23/DU-0002-025-01) and the European Union (ERC, WaterSmartLand, 101125476, Interreg-BSR, HyTruck, #C031).

Release files for xdggs 0.6.0

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

Source distribution (sdist)

Source distribution for xdggs 0.6.0
File Size Uploaded
xdggs-0.6.0.tar.gz 46.2 kB Details

Built distribution (wheel)

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

Total release size: 106.2 kB

Release files / xdggs-0.6.0.tar.gz

Download URL xdggs-0.6.0.tar.gz
Size 46.2 kB
Tags Source
SHA-256 checksum
How to use checksums
34a8ffdaa914de2f1001640c3e5cc3d92f4f59ebf69d786e68f9b229ff22b2f8
BLAKE2b-256 checksum
How to use checksums
b5b8ec8e5ef0574eef7706245cd30e550867ab7f8a7ffc252f67c1fa9d09a6c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 6, 2026.

Transparency log

Release files / xdggs-0.6.0-py3-none-any.whl

Download URL xdggs-0.6.0-py3-none-any.whl
Size 60.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
352a9e7995e150a0ba99ad5f52a6c3e32ee375452c9e3a73814ed2336a26e88e
BLAKE2b-256 checksum
How to use checksums
3dfc5fffb5d64e933f313fbe60bca5a9361a78227f59030c32dccd682a9a7d5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

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