• Stars
    star
    504
  • Rank 87,537 (Top 2 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 9 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Open Data Cube analyses continental scale Earth Observation data through time

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.8+

Developer setup

  1. Clone:
    • git clone https://github.com/opendatacube/datacube-core.git
  2. Create a Python environment for using the ODC. We recommend conda as the easiest way to handle Python dependencies.
conda 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 ./check-code.sh

    (this script approximates what is run by Travis. You can alternatively run pytest yourself). Some test dependencies may need to be installed, attempt to install these using:

    pip install --upgrade -e '.[test]'

    If install for these fails please lodge them as issues.

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

    ./check-code.sh integration_tests

    • Assumes a password-less Postgres database running on localhost called

    agdcintegration

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

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 test in docker container

docker run -ti -v /home/ubuntu/datacube-core:/code opendatacube/datacube-tests: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

More Repositories

1

odc-stac

Load STAC items into xarray Datasets.
Python
135
star
2

odc-geo

GeoBox and geometry utilities extracted from datacube-core
Python
78
star
3

datacube-notebooks

Extra documentation about using ODC with Jupyter Notebooks
Jupyter Notebook
74
star
4

datacube-ows

Open Data Cube Open Web Services
PLpgSQL
69
star
5

cube-in-a-box

A reference deployment of the Open Data Cube including automatic indexing of Sentinel-2 level 2 data.
Jupyter Notebook
67
star
6

odc-tools

ODC features that DEA is experimenting with or prototyping with the intention of being integrated into odc-core in the future
Python
62
star
7

datacube-explorer

Web-based exploration of Open Data Cube collections
JavaScript
56
star
8

eo-datasets

Easily write, validate and convert EO datasets and metadata.
Python
49
star
9

benchmark-rio-s3

Tools for benchmarking multi-threaded performance of Rasterio/GDAL when accessing files on S3
Python
24
star
10

datacube-stats

Data Cube Temporal Statistic Tools
Python
22
star
11

datacube-dataset-config

Scripts for indexing data into ODC instances
Python
22
star
12

datacube-k8s-eks

Deploy a production scale datacube cluster on AWS using EKS
HCL
21
star
13

radar

Collaboration space for SAR ARD Processing
Jupyter Notebook
17
star
14

datacube-alchemist

Dataset to Dataset Transformations
Python
15
star
15

datacube-docker

General purpose Docker Images related to the Open Data Cube project
Shell
13
star
16

governance

The governance process and model for the Open Data Cube project.
11
star
17

odc-stats

Statistician is a framework of tools for generating statistical summaries of large collections of EO data managed in an ODC instance.
Python
9
star
18

datacube-charts

Kubernetes Helm charts for opendatacube applications
Mustache
8
star
19

datacube-qgis

Open Data Cube QGIS Plugin
Python
8
star
20

documentation

High level documentation for the Open Data Cube project
Python
8
star
21

datacube-wps

Web Processing Service running on opendatacube
PLpgSQL
7
star
22

datacube-conference-2021

A repository of ODC Conference sprint materials.
7
star
23

geobase

Docker for building geospatial python virtual environments on Ubuntu 20.04
Shell
7
star
24

datacube-ecs

EC2 Container Service for Datacube
HCL
6
star
25

datacube-stac-example

An early example of simple STAC documents and the ODC
Python
6
star
26

datacube-dask

Docker Container for Provide Dask to the Open Data Cube applications in Kubernetes
Python
5
star
27

odc-algo

Python
5
star
28

datacube-conference-2019

A space to store developer stream pitches and resulting output.
Jupyter Notebook
4
star
29

cube-in-a-box-dea

A Digital Earth Australia example of the Cube in a Box
Makefile
3
star
30

jupyterhub

JupyterHub Docker Image that supports OpenDataCube
Dockerfile
3
star
31

restcube

Pre-Alpha REST API for Cloud ODC Deployments
Python
3
star
32

odc-dscache

Random Access Compressed Dataset Cache
Python
3
star
33

datacube-conference-2020

A space to store developer stream pitches and resulting output.
Jupyter Notebook
3
star
34

datacube-zarr

Python
2
star
35

datacube-paper

Best intentions to provide a space to collaborate on a scientific paper on the Open Data Cube
2
star
36

pytest-odc

Pytest database fixtures for ODC Application Testing
Python
1
star
37

datacube-argo

1
star
38

hyperspectral-notebooks

Example hyperspectral notebooks
Jupyter Notebook
1
star
39

datacube-ows-tools

Tools for testing ows changes
HTML
1
star
40

30DayEOChallenge

Inspired by https://github.com/tjukanovt/30DayMapChallenge, this is the same, but for EO!
1
star