1 unstable release
new 0.1.0 | Apr 29, 2024 |
---|
#296 in Science
70 downloads per month
Used in stac-cli
1.5MB
5.5K
SLoC
stac-server
A STAC API server with multiple backends.
Usage
To run a server from the command-line, use stac-cli. Any arguments will be interpreted as hrefs to STAC collections, items, and item collections, and will be loaded into the server on startup.
stac serve collection.json items.json
To use the pgstac backend:
stac serve --pgstac postgresql://username:password@localhost:5432/postgis
Library
To use this library in another application:
[dependencies]
stac-server = "0.1"
Deploying
There is currently no infrastructure-as-code for deploying stac-server. We hope to provide this support in the future.
Features
stac-server has three features, two of which are enabled by default.
axum
The axum
feature is on by default and enables routing and serving using axum.
If you want to use the Api
functionality with a different web framework, you can depend on this library and disable the axum
feature.
memory-item-search
In order to search with the naïve memory backend, we need the geo
feature on the stac crate.
If you aren't using the memory backend, you can disable the memory-item-search
feature, which is enabled by default.
pgstac
In order to use the pgstac, you need to enable the pgstac
feature.
Backends
This table lists the provided backends and their supported conformance classes and extensions:
Capability | Memory backend | Pgstac backend |
---|---|---|
STAC API - Core | ✅ | ✅ |
STAC API - Features | ✅ | ✅ |
STAC API - Item Search | ✅ | ✅ |
Aggregation extension | ✖️ | ✖️ |
Browseable extension | ✖️ | ✖️ |
Children extension | ✖️ | ✖️ |
Collection search extension | ✖️ | ✖️ |
Collection transaction extension | ✖️ | ✖️ |
Fields extension | ✖️ | ✖️ |
Filter extension | ✖️ | ✖️ |
Free-text search extension | ✖️ | ✖️ |
Language (I18N) extension | ✖️ | ✖️ |
Query extension | ✖️ | ✖️ |
Sort extension | ✖️ | ✖️ |
Transaction extension | ✖️ | ✖️ |
Other info
This crate is part of the stac-rs monorepo, see its README for contributing and license information.
Dependencies
~10–23MB
~364K SLoC