Installation#

Install from conda-forge#

conda install -c conda-forge pystac

Install from source#

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

Dependencies#

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

As a foundational component of the Python STAC ecosystem used in a number of downstream libraries, PySTAC aims to minimize its dependencies. As a result, the only dependency for the basic PySTAC library is python-dateutil.

PySTAC also has the following extras, which can be optionally installed to provide additional functionality:

  • validation

    Installs the additional jsonschema dependency. When this dependency is installed, the validation methods may be used to validate STAC objects against the appropriate JSON schemas.

    To install:

    pip install pystac[validation]
    
  • orjson

    Installs the additional orjson dependency. When this dependency is installed, orjson will be used as the default JSON serialization/deserialization for all operations in PySTAC.

    To install:

    pip install pystac[orjson]
    
  • urllib3

    Installs the additional urllib3 dependency. For now, this is only used in pystac.stac_io.RetryStacIO, but it may be used more extensively in the future.

    To install:

    pip install pystac[urllib3]
    
  • jinja2

    Installs the additional jinja2 dependency. When this dependency is installed, jupyter notebooks display pretty representations of PySTAC objects

    To install:

    pip install pystac[jinja2]
    

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.