skillfed

datacube

An analysis environment for satellite and other earth observation data

datacube v1.9.21 124.2K downloads/30d#11,882 on PyPI586
Permissive license Apache-2.0 Active released

What it is and what it does

Datacube is a Python framework for managing and analyzing large time-series collections of earth observation satellite data. It provides a unified interface to index, query, and process gridded geospatial data from multiple sources, handling the complexity of coordinate systems, temporal alignment, and multi-dimensional arrays. The package integrates with PostgreSQL for metadata storage and uses xarray, dask, and rasterio to enable scalable analysis workflows across decades of satellite imagery.

Typical use involves indexing satellite datasets into a PostgreSQL-backed datacube, then querying and analyzing specific regions and time periods using a high-level Python API. It abstracts away low-level file I/O and coordinate transformations, allowing researchers and analysts to focus on scientific questions rather than data plumbing. The 24 runtime dependencies—including dask for distributed computing, xarray for multi-dimensional arrays, and GeoAlchemy2 for spatial queries—reflect its role as a comprehensive geospatial data platform.

Use it for:

  • Index and query multi-year satellite imagery archives to analyze land-use change or vegetation trends over time.
  • Perform distributed analysis of large earth observation datasets using dask-backed computation across multiple machines.
  • Build automated pipelines to ingest, index, and serve analysis-ready satellite data to downstream applications.
  • Analyze time-series of gridded climate or environmental data aligned to specific geographic regions.
  • Integrate satellite data with geospatial databases for spatial queries and cross-dataset analysis.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Datacube provides an integrated gridded data analysis environment for managing and analyzing decades of analysis-ready earth observation satellite data from multiple acquisition systems.

Yes, if you work with earth observation or gridded geospatial time-series data at scale. Datacube is actively maintained, has no known vulnerabilities, and is designed specifically for this use case. The PostgreSQL and system library requirements are substantial but expected for this class of tool. Not suitable if you need a lightweight, dependency-minimal solution or lack access to a PostgreSQL database.

Install

datacube on PyPI

pip

pip install datacube

uv

uv add datacube

poetry

poetry add datacube

Installing datacube

Before you install

Low friction installation with a pure Python wheel. Active maintenance with a release 64 days ago and ongoing commits. Requires PostgreSQL 15+ and Python 3.10+ as system dependencies, which are non-trivial prerequisites but well-documented.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions, making it suitable for both open and proprietary projects.

Quickstart

pip install datacube

import datacube
dc = datacube.Datacube()
# Query and analyze earth observation data

Requires PostgreSQL 15+ running and accessible; Python 3.10+ required; system libraries for geospatial dependencies (GDAL, PROJ, etc.) may need compilation.

Verify before relying

  • Whether datacube can be used without a local PostgreSQL instance (e.g., remote database connection setup).
  • Performance characteristics and scalability limits for typical earth observation datasets.
  • Integration patterns with common cloud storage backends (S3, GCS, etc.).

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.12)
Install friction low — pure-Python wheel
Runtime dependencies 24 — affine, alembic, antimeridian, cachetools, click, dask, deprecat, distributed, GeoAlchemy2, jsonschema, lark, numpy, odc-geo, odc-loader, odc-stac, pandas, pyproj, python-dateutil, pyyaml, rasterio, shapely, sqlalchemy, toolz, xarray
Maintenance actively maintained — 64 days since the last release
Last repo commit
First released
Downloads 124,192/month — #11,882 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: datacube-1.9.21-py3-none-any.whl

Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: Science/ResearchNatural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: POSIX :: BSDOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering :: GISTopic :: Scientific/Engineering :: Information Analysis

Tags

earth observation data analysissatellite data cube managementgridded geospatial data processingremote sensing data platformtime-series earth observationgeospatial data indexingmulti-source satellite analysis
earth-observationgeospatialtime-series

More Information Analysis packages