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

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 Slack 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.

Requirements

System

  • PostgreSQL 10+

  • Python 3.9+

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 .
  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 '.[test]'

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 a password-less Postgres database running on localhost called

    pgintegration

    • 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 '.[dev]'
pip install flake8 mypy pylint autoflake black

Project details


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.8.19.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

datacube-1.8.19-py2.py3-none-any.whl (376.9 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: datacube-1.8.19.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.3

File hashes

Hashes for datacube-1.8.19.tar.gz
Algorithm Hash digest
SHA256 c88f7d31572f732731a2c4f58724bb9c7eef9bfb6437acd9b35cb6158df87782
MD5 ce6e8a50865fff5c45de70c4b491fccc
BLAKE2b-256 11299bbfb750a667a58b9d63699e1c53428f0814740fc4aa8d93ee4e2cb81a5e

See more details on using hashes here.

File details

Details for the file datacube-1.8.19-py2.py3-none-any.whl.

File metadata

  • Download URL: datacube-1.8.19-py2.py3-none-any.whl
  • Upload date:
  • Size: 376.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.3

File hashes

Hashes for datacube-1.8.19-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ba398da1cd8f484ed99319e3420684f7101cdfa99a86ba011a8a7eb0a8809f79
MD5 f4728bdb6b779bfbfbdf94e9cee30751
BLAKE2b-256 b482266d9b3200a669aff8ff20c295d1e7c62ddc1e44362ecf13b13649775ee4

See more details on using hashes here.

Supported by

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