https://github.com/opendatacube/odc-stac
Load STAC items into xarray Datasets.
https://github.com/opendatacube/odc-stac
Last synced: 5 months ago
JSON representation
Load STAC items into xarray Datasets.
- Host: GitHub
- URL: https://github.com/opendatacube/odc-stac
- Owner: opendatacube
- License: apache-2.0
- Created: 2021-10-12T00:30:20.000Z (over 4 years ago)
- Default Branch: develop
- Last Pushed: 2025-06-18T06:40:51.000Z (12 months ago)
- Last Synced: 2025-06-18T07:21:34.479Z (12 months ago)
- Language: Python
- Homepage: https://odc-stac.readthedocs.io/
- Size: 814 KB
- Stars: 170
- Watchers: 12
- Forks: 22
- Open Issues: 17
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-earthobservation-code - ODC STAC - A stand-alone Python library that allows the loading of STAC Items into an ODC-compatible Xarray `xarray` `Python` (Open Data Cube / Testing your code)
README
odc.stac
########
|Documentation Status| |Test Status| |Test Coverage| |Binder| |Discord|
Load STAC items into ``xarray`` Datasets. Process locally or distribute data
loading and computation with Dask_.
Usage
#####
odc.stac.load
~~~~~~~~~~~~~
.. code-block:: python
catalog = pystac_client.Client.open(...)
query = catalog.search(...)
xx = odc.stac.load(
query.items(),
bands=["red", "green", "blue"],
)
xx.red.plot.imshow(col="time")
For more details see `Documentation`_ and `Sample Notebooks`_, or try it out on Binder_.
Installation
############
Using pip
~~~~~~~~~
.. code-block:: bash
pip install odc-stac
To install with ``botocore`` support (for working with AWS):
.. code-block:: bash
pip install 'odc-stac[botocore]'
Using Conda
~~~~~~~~~~~
This package is be available on ``conda-forge`` channel:
.. code-block:: bash
conda install -c conda-forge odc-stac
From unreleased source
~~~~~~~~~~~~~~~~~~~~~~
To use development version of ``odc-stac`` install dependencies from ``conda``, then
install ``odc-stac`` with ``pip``.
Sample ``environment.yml`` is provided below.
.. code-block:: yaml
channels:
- conda-forge
dependencies:
- odc-geo
- xarray
- numpy
- dask
- pandas
- affine
- rasterio
- toolz
- pystac
- pystac-client
- pip
- pip:
- "git+https://github.com/opendatacube/odc-stac/"
Developing
##########
To develop ``odc-stac`` locally it's best to use provided devcontainer_.
.. code-block:: bash
git clone https://github.com/opendatacube/odc-stac
code odc-stac
Once running inside the dev container, run tests with pytest_:
.. code-block:: bash
pytest
Linting is provided by mypy_, pylint_, and black_:
.. code-block:: bash
black --check .
pylint -v odc
mypy odc
.. |Documentation Status| image:: https://readthedocs.org/projects/odc-stac/badge/?version=latest
:target: https://odc-stac.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. |Test Status| image:: https://github.com/opendatacube/odc-stac/actions/workflows/main.yml/badge.svg
:target: https://github.com/opendatacube/odc-stac/actions/workflows/main.yml
:alt: Test Status
.. |Test Coverage| image:: https://codecov.io/gh/opendatacube/odc-stac/branch/develop/graph/badge.svg?token=HQ8nTuZHH5
:target: https://codecov.io/gh/opendatacube/odc-stac
:alt: Test Coverage
.. |Binder| image:: https://mybinder.org/badge_logo.svg
:target: https://mybinder.org/v2/gh/opendatacube/odc-stac/develop?urlpath=lab/workspaces/demo
:alt: Run Examples in Binder
.. |Discord| image:: https://img.shields.io/discord/1212501566326571070?label=Discord&logo=discord&logoColor=white&color=7289DA
:target: https://discord.gg/4hhBQVas5U
:alt: Join Discord for support
.. _Binder: https://mybinder.org/v2/gh/opendatacube/odc-stac/develop?urlpath=lab/workspaces/demo
.. _pytest: https://docs.pytest.org
.. _mypy: http://mypy-lang.org/
.. _pylint: https://pylint.org/
.. _black: https://github.com/psf/black
.. _`Documentation`: https://odc-stac.readthedocs.io/
.. _`Sample Notebooks`: https://odc-stac.readthedocs.io/en/latest/examples.html
.. _Dask: https://dask.org/
.. _devcontainer: https://code.visualstudio.com/docs/devcontainers/containers