#geospatial #metadata #raster #geo #stac #api-server

stac-server

SpatioTemporal Asset Catalog (STAC) API server

1 unstable release

new 0.1.0 Apr 29, 2024

#296 in Science

Download history 70/week @ 2024-04-24

70 downloads per month
Used in stac-cli

MIT/Apache

1.5MB
5.5K SLoC

stac-server

GitHub Workflow Status docs.rs Crates.io Crates.io Contributor Covenant

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.

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