Skip to main content

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

Project description

PySTAC

Build Status PyPI version Documentation Gitter chat License

PySTAC is a library for working with SpatialTemporal Asset Catalog in Python 3.

Installation

PySTAC has a single dependency (python-dateutil). PySTAC can be installed from pip or the source repository.

> pip install pystac

From source repository:

> git clone https://github.com/azavea/pystac.git
> cd pystac
> pip install .

Versions

To install a specific versions of STAC, install the matching version of pystac.

> pip install pystac==0.5.*

The table below shows the corresponding versions between pystac and STAC:

pystac STAC
0.5.x 1.0.x
0.4.x 0.9.x
0.3.x 0.8.x

Documentation

See the documentation page for the latest docs.

Developing

To ensure development libraries are installed, install everything in requirements-dev.txt:

> pip install -r requirements-dev.txt

Unit Tests

Unit tests are in the tests folder. To run unit tests, use unittest:

> python -m unittest discover tests

To run linters, code formatters, and test suites all together, use test:

> ./scripts/test

Code quality checks

PySTAC uses flake8 and yapf for code formatting and style checks.

To run the flake8 style checks:

> flake8 pystac
> flake8 tests

To format code:

> yapf -ipr pystac
> yapf -ipr tests

You can also run the ./scripts/test script to check flake8 and yapf.

Documentation

To build and develop the documentation locally, make sure sphinx is available (which is installed with requirements-dev.txt), and use the Makefile in the docs folder:

> cd docs
> make html
> make livehtml

Use 'make' without arguments to see a list of available commands.

Note: nbsphinx requires that a local pystac is installed; use pip install -e ..

Runing 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-0.5.0rc1.tar.gz (72.1 kB view details)

Uploaded Source

Built Distribution

pystac-0.5.0rc1-py3-none-any.whl (88.3 kB view details)

Uploaded Python 3

File details

Details for the file pystac-0.5.0rc1.tar.gz.

File metadata

  • Download URL: pystac-0.5.0rc1.tar.gz
  • Upload date:
  • Size: 72.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.1 CPython/3.8.5

File hashes

Hashes for pystac-0.5.0rc1.tar.gz
Algorithm Hash digest
SHA256 eb9b7100fb0ee361bfcb8354d73ecbf16b59637cdfb10693fb8336f6ed0a62db
MD5 54182118ed4f51b1bc94b0a204c5ec45
BLAKE2b-256 a10c9306ff11c7e059718cbd3ece6a3dc37202354d2a2a5363d9ee380710766f

See more details on using hashes here.

File details

Details for the file pystac-0.5.0rc1-py3-none-any.whl.

File metadata

  • Download URL: pystac-0.5.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 88.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.1 CPython/3.8.5

File hashes

Hashes for pystac-0.5.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 155ac0cded267b0b4ef823bc2271dd6368400ccb80e3082ed243bed9c0189bd2
MD5 aef379170d409ad15bf2512532aa8eec
BLAKE2b-256 ba8939ea6afa6d0cfd0aefd2ec65fc1745e7bb839ef949014700a65125e88907

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