Command Line Tools

The Open Data Cube offers a CLI for common administrative tasks related to the Open Data Cube.

datacube

Data Cube command-line interface

datacube [OPTIONS] COMMAND [ARGS]...

Options

--version

Display the open data cube version number and exit.

-v, --verbose

Use multiple times for more verbosity

--log-file <log_file>

Specify log file

-E, --env <env>

The ODC environment to use. Defaults to ‘default’.

-C, --config, --config-file <config>

A path to a possible configuration path. Multiple can be provided, but only the first that can be read will be used.

-R, --raw-config, --config-text <raw_config>

Passing in the raw contents of the configuration file to use as a string. May be in JSON, YAML or INI format. Cannot be used with the -C/–config option

--log-queries

Print database queries.

dataset

Dataset management commands

datacube dataset [OPTIONS] COMMAND [ARGS]...

add

Add datasets to the Data Cube

datacube dataset add [OPTIONS] [DATASET_PATHS]...

Options

-p, --product <product_names>

Only match against products specified with this option, you can supply several by repeating this option with a new product name

-x, --exclude-product <exclude_product_names>

Attempt to match to all products in the DB except for products specified with this option, you can supply several by repeating this option with a new product name

--auto-add-lineage, --no-auto-add-lineage

WARNING: will be deprecated in datacube v1.9. Default behaviour is to automatically add lineage datasets if they are missing from the database, but this can be disabled if lineage is expected to be present in the DB, in this case add will abort when encountering missing lineage dataset

--verify-lineage, --no-verify-lineage

WARNING: will be deprecated in datacube v1.9. Lineage referenced in the metadata document should be the same as in DB, default behaviour is to skip those top-level datasets that have lineage data different from the version in the DB. This option allows omitting verification step.

--dry-run

Check if everything is ok

--ignore-lineage

Pretend that there is no lineage data in the datasets being indexed

--confirm-ignore-lineage

WARNING: this flag has been deprecated and will be removed in datacube v1.9. Pretend that there is no lineage data in the datasets being indexed, without confirmation

--archive-less-mature

Archive less mature versions of the dataset

Arguments

DATASET_PATHS

Optional argument(s)

archive

Archive datasets

datacube dataset archive [OPTIONS] [IDS]...

Options

-d, --archive-derived

Also recursively archive derived datasets

--dry-run

Don’t archive. Display datasets that would get archived

--all

Ignore id list - archive ALL non-archived datasets (warning: may be slow on large databases)

Arguments

IDS

Optional argument(s)

find-duplicates

Search for duplicate indexed datasets

datacube dataset find-duplicates [OPTIONS] [FIELDS]...

Options

-p, --product <product_names>

Only search within product(s) specified with this option. You can supply several by repeating this option with a new product name.

Arguments

FIELDS

Optional argument(s)

info

Display dataset information

datacube dataset info [OPTIONS] [IDS]...

Options

--show-sources

Also show source datasets

--show-derived

Also show derived datasets

-f <f>

Output format

Default:

'yaml'

Options:

csv | yaml

--max-depth <max_depth>

Maximum sources/derived depth to travel

Arguments

IDS

Optional argument(s)

purge

Purge archived datasets

datacube dataset purge [OPTIONS] [IDS]...

Options

--dry-run

Don’t archive. Display datasets that would get archived

--all

Ignore id list - purge ALL archived datasets (warning: may be slow on large databases)

--force

Allow active datasets to be deleted (default: false)

Arguments

IDS

Optional argument(s)

restore

Restore datasets

datacube dataset restore [OPTIONS] [IDS]...

Options

-d, --restore-derived

Also recursively restore derived datasets

--dry-run

Don’t restore. Display datasets that would get restored

--derived-tolerance-seconds <derived_tolerance_seconds>

Only restore derived datasets that were archived this recently to the original dataset

--all

Ignore id list - restore ALL archived datasets (warning: may be slow on large databases)

Arguments

IDS

Optional argument(s)

update

Update datasets in the Data Cube

datacube dataset update [OPTIONS] [DATASET_PATHS]...

Options

--allow-any <keys_that_can_change>

Allow any changes to the specified key (a.b.c)

--dry-run

Check if everything is ok

--location-policy <location_policy>

What to do with previously recorded dataset location(s)

- ‘keep’: keep as alternative location [default]
- ‘archive’: mark as archived
- ‘forget’: remove from the index
Options:

keep | archive | forget

--archive-less-mature

Archive less mature versions of the dataset

Arguments

DATASET_PATHS

Optional argument(s)

metadata

Metadata type commands

datacube metadata [OPTIONS] COMMAND [ARGS]...

add

Add or update metadata types in the index

datacube metadata add [OPTIONS] [FILES]...

Options

--allow-exclusive-lock, --forbid-exclusive-lock

Allow index to be locked from other users while updating (default: false)

Arguments

FILES

Optional argument(s)

list

List metadata types that are defined in the generic index.

datacube metadata list [OPTIONS]

show

Show information about a metadata type.

datacube metadata show [OPTIONS] [METADATA_TYPE_NAME]...

Options

-f <output_format>

Output format

Default:

'yaml'

Options:

yaml | json

Arguments

METADATA_TYPE_NAME

Optional argument(s)

update

Update existing metadata types.

An error will be thrown if a change is potentially unsafe.

(An unsafe change is anything that may potentially make the metadata type incompatible with existing types of the same name)

datacube metadata update [OPTIONS] [FILES]...

Options

--allow-unsafe, --forbid-unsafe

Allow unsafe updates (default: false)

--allow-exclusive-lock, --forbid-exclusive-lock

Allow index to be locked from other users while updating (default: false)

-d, --dry-run

Check if everything is ok

Arguments

FILES

Optional argument(s)

product

Product commands

datacube product [OPTIONS] COMMAND [ARGS]...

add

Add or update products in the generic index.

datacube product add [OPTIONS] [FILES]...

Options

--allow-exclusive-lock, --forbid-exclusive-lock

Allow index to be locked from other users while updating (default: false)

Arguments

FILES

Optional argument(s)

delete

Delete products and all associated datasets

datacube product delete [OPTIONS] [PRODUCT_NAMES]...

Options

--force

Allow a product with active datasets to be deleted (default: false)

-d, --dry-run

Check if everything is ok

Arguments

PRODUCT_NAMES

Optional argument(s)

list

List products that are defined in the generic index.

datacube product list [OPTIONS]

Options

-f <output_format>

Output format

Default:

'default'

Options:

default | csv | yaml | tab

show

Show details about a product in the generic index.

datacube product show [OPTIONS] [PRODUCT_NAME]...

Options

-f <output_format>

Output format

Default:

'yaml'

Options:

yaml | json

Arguments

PRODUCT_NAME

Optional argument(s)

update

Update existing products.

An error will be thrown if a change is potentially unsafe.

(An unsafe change is anything that may potentially make the product incompatible with existing datasets of that type)

datacube product update [OPTIONS] [FILES]...

Options

--allow-unsafe, --forbid-unsafe

Allow unsafe updates (default: false)

--allow-exclusive-lock, --forbid-exclusive-lock

Allow index to be locked from other users while updating (default: false)

-d, --dry-run

Check if everything is ok

Arguments

FILES

Optional argument(s)

spindex

System commands

datacube spindex [OPTIONS] COMMAND [ARGS]...

create

Create unpopulated spatial index for particular CRSes

datacube spindex create [OPTIONS] [SRIDS]...

Options

-u, --update, --no-update

Populate the spatial index after creation (slow). For finer grained updating, use the ‘spindex update’ command

Arguments

SRIDS

Optional argument(s)

drop

Drop existing spatial indexes for particular CRSs

datacube spindex drop [OPTIONS] [SRIDS]...

Options

-f, --force, --no-force

If set, does not ask the user to confirm deletion

Arguments

SRIDS

Optional argument(s)

list

List all CRSs for which spatial indexes exist in this index

datacube spindex list [OPTIONS]

update

Update a spatial index for particular CRSs.

datacube spindex update [OPTIONS] [SRIDS]...

Options

-p, --product <product>

The name of a product to update the spatial index for (can be used multiple times for multiple products)

-d, --dataset <dataset>

The id of a dataset to update the spatial index for (can be used multiple times for multiple datasets)

Arguments

SRIDS

Optional argument(s)

system

System commands

datacube system [OPTIONS] COMMAND [ARGS]...

check

Check and display current configuration

datacube system check [OPTIONS]

clone

Clone an existing ODC index into a new, empty index

datacube system clone [OPTIONS] SOURCE_ENV

Options

--batch-size <batch_size>

Size of batches for bulk-adding to the new index

--skip-lineage, --no-skip-lineage

Do not load lineage data where possible. (default: false - i.e. do not skip lineage)

--lineage-only, --no-lineage-only

Clone lineage data only. (default: false)

Arguments

SOURCE_ENV

Required argument

init

Initialise the database

datacube system init [OPTIONS]

Options

--default-types, --no-default-types

Add default types? (default: true)

--init-users, --no-init-users

Include user roles and grants. (default: true)

--recreate-views, --no-recreate-views

Recreate dynamic views

--rebuild, --no-rebuild

Rebuild all dynamic fields (caution: slow)

--lock-table, --no-lock-table

Allow table to be locked (eg. while creating missing indexes)

user

User management commands

datacube user [OPTIONS] COMMAND [ARGS]...

create

Create a User

datacube user create [OPTIONS] {user|manage|admin} USER

Options

--description <description>

Arguments

ROLE

Required argument

USER

Required argument

delete

Delete a User

datacube user delete [OPTIONS] [USERS]...

Arguments

USERS

Optional argument(s)

grant

Grant a role to users

datacube user grant [OPTIONS] {user|manage|admin} [USERS]...

Arguments

ROLE

Required argument

USERS

Optional argument(s)

list

List users

datacube user list [OPTIONS]

Options

-f <f>

Output format

Default:

'yaml'

Options:

csv | yaml