Skip to main content

Python library for working with Spatiotemporal Asset Catalog (STAC).

Project description

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.

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]

orjson wheels are only available for Linux in Python 3.10. If you are using the orjson 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 .

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pystac-1.6.1.tar.gz (110.3 kB view details)

Uploaded Source

Built Distribution

pystac-1.6.1-py3-none-any.whl (146.0 kB view details)

Uploaded Python 3

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

Hashes for pystac-1.6.1.tar.gz
Algorithm Hash digest
SHA256 95ef493d6a6df4d982385c1d376c8aa0d967730e8ffeeda0f78cd7372faf066a
MD5 201b266d126e6104dfc5475a13e8aaf0
BLAKE2b-256 27f8ac7d847a6ebb6a2344daccc9594d40aacb44d1ee00a4b871a1c6e13ba049

See more details on using hashes here.

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

Hashes for pystac-1.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4c40e6d3a832b9992e9dc2aa9c276322fbd851e441888b5fc2024397477abec8
MD5 b3aa719e903a8a267e4c7122f9bb40f9
BLAKE2b-256 32f5f13450a68cfdcad503889b875e45cc4cf7a8f671b493c74e9e4f1a03b74d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page