PySTAC is a library for working with SpatioTemporal Asset Catalog in Python 3.
PySTAC requires Python >= 3.7. This project follows the recommendations of
NEP-29 in deprecating support
for Python versions. This means that users can expect support for Python 3.7 to be
removed from the main
branch after Dec 26, 2021 and therefore from the next release
after that date.
Support for Python >= 3.10 should be considered experimental until further notice.
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]
orjson
wheels are only available for Linux in Python 3.10. If you are using theorjson
extra with Python 3.10 you will need to have the Rust nightly toolchain installed as your default toolchain in order to build the package wheel.
From source repository:
> git clone https://github.com/stac-utils/pystac.git
> cd pystac
> pip install .
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.
See the documentation page for the latest docs.
See contributing docs for details on contributing to this project.
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:
> PYTHONPATH=`pwd`:$PYTHONPATH 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.