Skip to main content

opera-utils

Actions Status PyPI version

Conda-Forge GitHub Discussion

Install

The opera_utils package is available on PyPI and conda-forge:

# if mamba is not already installed: conda install -n base mamba
mamba install -c conda-forge opera-utils

(Note: using mamba is recommended for conda-forge packages, but miniconda can also be used.)

pip install opera-utils

The pip dependency list for the base package is smaller; the optional depencies may be added with

pip install opera-utils[geopandas] # for just geopandas data frame support
pip install opera-utils[disp] # For remote access to DISP files
pip install opera-utils[all]  # all optional dependencies

DISP-S1 Usage examples

Try it out!

We have set up Github Actions so that users can download and format subsets of DISP-S1 data with no coding required!

  1. Fork this repository
  2. Set up your EARTHDATA_USERNAME and EARTHDATA_PASSWORD in the Github Actions secrets settings (e.g. for my fork, I use https://github.com/scottstanie/opera-utils/settings/secrets/actions )
  3. Under the Actions tab, click on the disp_download_reformat workflow.
  4. Select the Run workflow dropdown and supply the required information, then click the green Run workflow button
  5. The resulting reformatted Zarr will be preserved as Github Artifacts, which can be downloaded.

You can also run the notebooks in the docs/notebooks directory:

Usage examples

Parsing Sentinel-1 Burst IDs

import opera_utils
print(opera_utils.get_burst_id("OPERA_L2_CSLC-S1_T087-185683-IW2_20230322T161649Z_20240504T185235Z_S1A_VV_v1.1.h5"))
't087_185683_iw2'

Get DISP-S1 Frame metadata

In [4]: opera_utils.get_frame_to_burst_mapping(11114)
Out[4]:
{'epsg': 32610,
 'is_land': True,
 'is_north_america': True,
 'xmin': 546450,
 'ymin': 4204110,
 'xmax': 833790,
 'ymax': 4409070,
 'burst_ids': ['t042_088905_iw1',
  ...
 ]

To just get the burst IDs for a Frame:

In [3]: opera_utils.get_burst_ids_for_frame(11114)
Out[3]:
['t042_088905_iw1',
 't042_088905_iw2',
 ...
 't042_088913_iw2',
 't042_088913_iw3']

DISP-S1 access

Download a subset from the command lind

opera-utils disp-s1-download \
    --bbox -102.71 31.35 -102.6 31.45 \
    --frame-id 20697 \
    --output-dir subsets-west-texas \
    --end-datetime 2018-01-01 \\
    --num-workers 4

Search for products and create a stack

from opera_utils.disp import search, reader, DispProductStack

# Search for DISP-S1 products on CMR
products = search.get_products(frame_id=9154)

# Create the product stack for parsing frame metadata
stack = DispProductStack(products)

Setup for Developers

To contribute to the development of opera-utils, you can fork the repository and install the package in development mode. We encourage new features to be developed on a new branch of your fork, and then submitted as a pull request to the main repository.

To install locally,

  1. Download source code:
git clone https://github.com/opera-adt/opera-utils.git && cd opera-utils
  1. Install dependencies:
mamba env create --name my-opera-env --file environment.yml
  1. Install the source in editable mode:
mamba activate my-opera-env
python -m pip install -e ".[all]"

We use pre-commit to automatically run linting and formatting:

# Get pre-commit hooks so that linting/formatting is done automatically
pre-commit install

This will set up the linters and formatters to run on any staged files before you commit them.

After making functional changes, you can rerun the existing tests and any new ones you have added using:

pytest

Metadata

Release files for opera-utils 0.25.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for opera-utils 0.25.9
File Size Uploaded
opera_utils-0.25.9.tar.gz 434.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for opera-utils 0.25.9
File Interpreter ABI Platform
opera_utils-0.25.9-py3-none-any.whl Python 3 none any Details

Total release size: 572.9 kB

Release files / opera_utils-0.25.9.tar.gz

Download URL opera_utils-0.25.9.tar.gz
Size 434.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5a5771e18a058bb5bad5ed94a8c3a90a3e44c3fbacef797d19d224db4df91b00
BLAKE2b-256 checksum
How to use checksums
d12fccdbf18743b58e5807a528f536e9005853082fb86211c50126a54d5a88ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / opera_utils-0.25.9-py3-none-any.whl

Download URL opera_utils-0.25.9-py3-none-any.whl
Size 138.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a02f92cbc59af35241d4bd90c3977c297e6c2dde3c40412b64a8520a41b6e3a2
BLAKE2b-256 checksum
How to use checksums
184187d274bdb9073d14d55476aa55e2a25cd8a80839da724984b0dc5fe5751f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.25.9 This release

2 release files

0.25.8

2 release files

0.25.6

2 release files

0.25.5

2 release files

0.25.3

2 release files

0.25.2

2 release files

0.25.1

2 release files

0.25.0

2 release files

0.24.0

2 release files

0.23.3

2 release files

0.23.2

2 release files

0.23.1

2 release files

0.23.0

2 release files

0.21.0

2 release files

0.19.0

2 release files

0.18.1

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page