Python library for working with Spatiotemporal Asset Catalog (STAC).
Project description
PySTAC
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.3.0
The table below shows the corresponding versions between pystac and STAC:
pystac | STAC |
---|---|
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
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 could also run the .travis/style_checks
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.
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
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.