Skip to main content

An analysis environment for satellite and other earth observation data

Project description

Open Data Cube Core

Build Status Coverage Status Documentation Status Discord

Overview

The Open Data Cube Core provides an integrated gridded data analysis environment for decades of analysis ready earth observation satellite and related data from multiple satellite and other acquisition systems.

Documentation

See the user guide for installation and usage of the datacube, and for documentation of the API.

Join our Discord if you need help setting up or using the Open Data Cube.

Please help us to keep the Open Data Cube community open and inclusive by reading and following our Code of Conduct.

This is a 1.9.x series release of the Open Data Cube. If you are migrating from a 1.8.x series release, please refer to the 1.8.x to 1.9.x Migration Notes.

Requirements

System

  • PostgreSQL 15+

  • Python 3.10+

Developer setup

  1. Clone:

    • git clone https://github.com/opendatacube/datacube-core.git

  2. Create a Python environment for using the ODC. We recommend Mambaforge as the easiest way to handle Python dependencies.

mamba env create -f conda-environment.yml
conda activate cubeenv
  1. Install a develop version of datacube-core.

cd datacube-core
pip install --upgrade -e .  --group dev
  1. Install the pre-commit hooks to help follow ODC coding conventions when committing with git.

pre-commit install
  1. Run unit tests + PyLint

Install test dependencies using:

pip install --upgrade -e '.' --group dev

If install for these fails, please lodge them as issues.

Run unit tests with:

./check-code.sh

(this script approximates what is run by GitHub Actions. You can alternatively run pytest yourself).

  1. (or) Run all tests, including integration tests.

    ./check-code.sh integration_tests

    • Assumes the existence of two password-less Postgres databases running on localhost called pgintegration and pgisintegration.

    • Otherwise copy integration_tests/integration.conf to ~/.datacube_integration.conf and edit to customise.

    • For instructions on setting up a password-less Postgres database, see

      the developer setup instructions.

Alternatively one can use the opendatacube/datacube-tests docker image to run tests. This docker includes database server pre-configured for running integration tests. Add --with-docker command line option as a first argument to ./check-code.sh script.

./check-code.sh --with-docker integration_tests

To run individual tests in a docker container

docker build --tag=opendatacube/datacube-tests-local --no-cache --progress plain -f docker/Dockerfile .

docker run -ti -v $(pwd):/code opendatacube/datacube-tests-local:latest pytest integration_tests/test_filename.py::test_function_name

Developer setup on Ubuntu

Building a Python virtual environment on Ubuntu suitable for development work.

Install dependencies:

sudo apt-get update
sudo apt-get install -y \
    autoconf automake build-essential make cmake \
    graphviz \
    python3-venv \
    python3-dev \
    libpq-dev \
    libyaml-dev \
    libnetcdf-dev \
    libudunits2-dev

Build the python virtual environment:

pyenv="${HOME}/.envs/odc"  # Change to suit your needs
mkdir -p "${pyenv}"
python3 -m venv "${pyenv}"
source "${pyenv}/bin/activate"
pip install -U pip wheel cython numpy
pip install -e '.' --group dev

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

datacube-1.9.14.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

datacube-1.9.14-py3-none-any.whl (465.4 kB view details)

Uploaded Python 3

File details

Details for the file datacube-1.9.14.tar.gz.

File metadata

  • Download URL: datacube-1.9.14.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for datacube-1.9.14.tar.gz
Algorithm Hash digest
SHA256 9fdf9b1b7683b0934da7791aa0fe73e13ad1b4780070814b27d02a037a5e4605
MD5 b6403920ea9b6881e06c696b35a6b979
BLAKE2b-256 68f5aa09b5ee8d7d319856f737b813a49a264739c6ae2da6f4e3a228c0020e63

See more details on using hashes here.

Provenance

The following attestation bundles were made for datacube-1.9.14.tar.gz:

Publisher: main.yml on opendatacube/datacube-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file datacube-1.9.14-py3-none-any.whl.

File metadata

  • Download URL: datacube-1.9.14-py3-none-any.whl
  • Upload date:
  • Size: 465.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for datacube-1.9.14-py3-none-any.whl
Algorithm Hash digest
SHA256 4973a31eec4a43e0c2f728f86b22902d57633805a2bc4d258232dbf6887f17dc
MD5 26fb74a128f258c40f39199a4a14e6c9
BLAKE2b-256 1c9b9bdb8ceb68f0f4a3777f15c748901678e3604b9b73d08483f772f01aa12c

See more details on using hashes here.

Provenance

The following attestation bundles were made for datacube-1.9.14-py3-none-any.whl:

Publisher: main.yml on opendatacube/datacube-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page