Rust implementation of the SpatioTemporal Asset Catalog (STAC) specification.
We are stac on crates.io. To use the library in your project:
[dependencies]
stac = "0.0.4"
There is one opt-in feature: reqwest
.
If you'd like to use the library with reqwest
for blocking remote reads:
[dependencies]
stac = { version = "0.0.4", features = ["reqwest"]}
If reqwest
is not enabled, Reader::read
will throw an error if you try to read from a url.
Please see the documentation for usage examples, and the architecture diagram for a visual diagram of the key structures and traits.
There is one example at examples/copy.rs that demonstrates a simple read-write operation. To run it from the command line:
cargo run --example copy data/catalog.json tmp
We have an incubator repository that holds related projects that aren't ready to be released as their own repositories. These include (or are planned to include):
- async support
- command line interface
- STAC-API client
- STAC-API server
See CONTRIBUTING.md for information about contributing to this project. Use RELEASING.md as an alternate pull request template when releasing a new version.
stac-rs is dual-licensed under both the MIT license and the Apache license (Version 2.0). See LICENSE-APACHE and LICENSE-MIT for details.