STAC Python Client

WARNING: This documentation is out of date with the latest 0.2.0 version of pystac-client and will be updated by the next release.

The STAC Python Client (pystac_client) is a Python package for working with APIs that conform to the STAC spec.

Installation

$ pip install git+https://github.com/stac-utils/pystac-client.git#egg=pystac_client

pystac_client requires Python >=3.7.

This will also install PySTAC as its only direct external dependency. Like PySTAC, this library aims to keep its dependencies to a minimum.

Acknowledgements

This package builds upon the great work of the PySTAC library for working with STAC objects in Python. It also uses concepts from the sat-search library for working with STAC API - Item Search endpoints.

Supported Specifications

This library is intended to work with any STAC static catalog or STAC API. A static catalog will be usable more or less the same as with PySTAC, except that pystac-client supports providing custom headers to API endpoints. (e.g., authenticating to an API with a token).

A STAC API is a STAC Catalog that is required to advertise it’s capabilities in a conformsTo field and implements the STAC API - Core spec along with other optional specifications:

User Guide

This section how to use the package to interact with the various endpoints associated with a STAC API service. The section is organized by the spec that each set of endpoints is associated with and also includes user guides for working with paginated responses (from the /collections/{collection_id}/items and /search endpoints)..

API Documentation

This section is autogenerated from in-line code documentation. It is mostly useful as a reference for the various classes, methods, and other objects in the library, but is not intended to function as a starting point for working with pystac_client.

Design Decisions

We document significant design decisions using Architectural Design Records (ADRs), as described by Michael Nygard here.

Indices and tables