Python library for working with Spatiotemporal Asset Catalog (STAC).
Project description
PySTAC
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.
Note that while we support Python 3.10.*, wheels for the orjson library are not always immediately available for all
platforms. If you install PySTAC with the orjson extra, you may need to have the Rust toolchain installed (e.g. via rustup) in order to
build the package from source.
Support for Python 3.11 should be considered experimental until further notice. There is a known issue with failing build of orjson on 3.11.0 alpha releases prior to alpha.6 (see
#765(comment) for
some additional detail).
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]
orjsonwheels are only available for Linux in Python 3.10. If you are using theorjsonextra 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 .
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:
> 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pystac-1.6.1.tar.gz.
File metadata
- Download URL: pystac-1.6.1.tar.gz
- Upload date:
- Size: 110.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95ef493d6a6df4d982385c1d376c8aa0d967730e8ffeeda0f78cd7372faf066a
|
|
| MD5 |
201b266d126e6104dfc5475a13e8aaf0
|
|
| BLAKE2b-256 |
27f8ac7d847a6ebb6a2344daccc9594d40aacb44d1ee00a4b871a1c6e13ba049
|
File details
Details for the file pystac-1.6.1-py3-none-any.whl.
File metadata
- Download URL: pystac-1.6.1-py3-none-any.whl
- Upload date:
- Size: 146.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c40e6d3a832b9992e9dc2aa9c276322fbd851e441888b5fc2024397477abec8
|
|
| MD5 |
b3aa719e903a8a267e4c7122f9bb40f9
|
|
| BLAKE2b-256 |
32f5f13450a68cfdcad503889b875e45cc4cf7a8f671b493c74e9e4f1a03b74d
|