6 releases
0.3.2 | Nov 12, 2024 |
---|---|
0.3.1 | Sep 19, 2024 |
0.2.0 | Sep 6, 2024 |
0.1.1 | Aug 12, 2024 |
0.1.0 | Apr 29, 2024 |
#220 in Science
135 downloads per month
Used in stac-cli
2MB
8K
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
If you'd like to serve your own pgstac backend with some sample items:
docker compose up -d pgstac
scripts/load-pgstac-fixtures # This might take a while, e.g. 30 seconds or so
Library
To use this library in another application:
[dependencies]
stac-server = "0.3"
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 two optional features.
axum
The axum
feature enables routing and serving using axum.
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
~18–32MB
~507K SLoC