Giter VIP home page Giter VIP logo

pystac's Introduction

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.

pystac's People

Contributors

bobinmathew avatar chelm avatar cloudniner avatar cuttlefish avatar dependabot[bot] avatar duckontheweb avatar emmanuelmathot avatar fnattino avatar gadomski avatar guidorice avatar hectcastro avatar jisantuc avatar kennsmithds avatar kylebarron avatar l0b0 avatar lossyrob avatar m-mohr avatar matthewhanson avatar moradology avatar namannimmo10 avatar richardscottoz avatar schwehr avatar sgillies avatar simonkassel avatar thomafred avatar tschaub avatar tyler-c2s avatar volaya avatar vpipkt avatar whatnick avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.