/pystac

Python library for working with any SpatioTemporal Asset Catalog (STAC)

Primary LanguagePythonOtherNOASSERTION

PySTAC

Build Status PyPI version Conda (channel only) Documentation codecov Gitter License

PySTAC is a library for working with SpatioTemporal Asset Catalog in Python 3.

Installation

PySTAC requires Python >= 3.8. This project follows the recommendations of NEP-29 in deprecating support for Python versions. This means that users can expect support for Python 3.8 to be removed from the main branch after Apr 14, 2023 and therefore from the next release after that date.

PySTAC has a single required dependency (python-dateutil). PySTAC can be installed from pip or the source repository.

pip install pystac

If you would like to enable the validation feature utilizing the jsonschema project, install with the optional validation requirements:

pip install pystac[validation]

If you would like to use the orjson instead of the standard json library for JSON serialization/deserialization, install with the optional orjson requirements:

pip install pystac[orjson]

From source repository:

git clone https://github.com/stac-utils/pystac.git
cd pystac
pip install .

Versions

To install a version of PySTAC that works with a specific versions of the STAC specification, install the matching version of PySTAC from the following table.

PySTAC STAC
1.x 1.0.x
0.5.x 1.0.0-beta.*
0.4.x 0.9.x
0.3.x 0.8.x

For instance, to work with STAC v0.9.x:

pip install pystac==0.4.0

STAC spec versions below 0.8 are not supported by PySTAC.

Documentation

See the documentation page for the latest docs.

Developing

See contributing docs for details on contributing to this project.

Running the quickstart and tutorials

There is a quickstart and tutorials written as jupyter notebooks in the docs/tutorials folder. To run the notebooks, run a jupyter notebook with the docs directory as the notebook directory:

jupyter notebook --ip 0.0.0.0 --port 8888 --notebook-dir=docs

You can then navigate to the notebooks and execute them.

Requires Jupyter be installed.