Registry / data / odc-stac

odc-stac

JSON →
library0.5.2pypypi✓ verified 83d ago

Tooling for converting STAC metadata to ODC (Open Data Cube) data model. Current version: 0.5.2. Release cadence: irregular, patches as needed.

pip install odc-stac
INSTALL
IMPORT
SIG · ODC-STAC
O
odc-stac
datapythonv0.5.2
Install
13.6s avg
Import
Disk
345MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.5.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
build_error
glibc
py 3.103.95 runs
installs and imports cleanly · install 13.6s · import 0.000s · 342MB
345MB installed
● package 345MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

stac_load
from odc.stac import stac_load
from odc_stac import stac_load
Module uses dot notation (odc.stac), not underscore.
configure_s3_access
from odc.stac import configure_s3_access
load
from odc.stac.load import stac_load
from odc.stac import load
load is a module, not the function directly.

Load Sentinel-2 L2A data from Planetary Computer STAC API.

import pystac_client import planetary_computer from odc.stac import stac_load, configure_s3_access catalog = pystac_client.Client.open( "https://planetarycomputer.microsoft.com/api/stac/v1", modifier=planetary_computer.sign_inplace, ) query = catalog.search( collections=["sentinel-2-l2a"], bbox=[142, -37, 143, -36], datetime="2022-01-01/2022-01-31", max_items=10, ) items = list(query.items()) configure_s3_access(aws_unsigned=True) ds = stac_load( items, bands=["red", "green", "blue"], resolution=10, chunks={}, groupby="solar_day", ) print(ds)
odc-stac --version
Debug
Known issues
breakingodc-loader extraction: Since 0.5.0, the loader code has been extracted into a separate `odc-loader` package. You must have odc-loader>=0.6.0 installed. Existing code using `odc.stac.load` should still work, but function signatures may have changed.
fix
Ensure both `odc-stac` and `odc-loader` are installed and compatible. Use `pip install odc-stac odc-loader`.
affects: >=0.5.0
gotchaDeprecated pystac methods: Some pystac client methods (e.g., `get_all_items`) have been renamed. Use `get_items()` or `get_all_items()` depending on your pystac version. Check pystac documentation.
fix
Replace deprecated method calls with the current pystac API. For example, use `catalog.get_items()` instead of `catalog.get_all_items()`.
affects: all
gotchaGeometry handling: When using `bbox` with `stac_load`, the output geobox may not align with items if CRS is not specified. Use `crs=` and `resolution=` explicitly to avoid misalignment.
fix
Always specify `crs` and `resolution` in `stac_load` when using `bbox` to ensure consistent output geobox.
affects: all
deprecatedThe `odc.stac.eo3` module has been removed (since ~0.4.x). Migrate to `odc.stac.stac2ds` or direct item conversion.
fix
Replace `from odc.stac.eo3 import ...` with `from odc.stac import stac2ds`.
affects: >=0.4.0
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'odc.stac'
Python cannot find the odc-stac package; either not installed or import path is wrong.
fix
Install with `pip install odc-stac`. Ensure you are using `from odc.stac import ...` (dot notation, not underscore).
ModuleNotFoundError: No module named 'odc.loader'
odc-loader package not installed. Required since odc-stac 0.5.0.
fix
Install odc-loader: `pip install odc-loader`.
AttributeError: 'NoneType' object has no attribute 'shape'
stac_load returned None or empty dataset due to no matching data or incorrect parameters.
fix
Check item collection, bands, and ensure `configure_s3_access` is called for cloud data access. Verify items have the requested bands.
TypeError: stac_load() got an unexpected keyword argument 'chunks'
chunks parameter changed between odc-loader versions; older version expects `dask_chunks` or different dict format.
fix
Use `chunks={}` (dict) for automatic chunking. For odc-loader <0.6.0, use `dask_chunks=True/False`. Upgrade odc-loader: `pip install odc-loader>=0.6.0`.
Upgrade
Version history
0.5.2latest on PyPI · released Jan 19, 2026
Audit
Dependencies
odc-georequiredCore geometry and CRS utilities
pystacrequiredSTAC metadata reading
pystac-clientoptionalFetching STAC items from APIs
xarrayrequiredData array loading
rasteriorequiredRaster data access
odc-loaderrequiredLoading raster data (since 0.5.0)
Agent activity
22 hits · last 30 days
node
20
Amazon
1
Resources
odc-stac — pip install odc-stac · libregistry