Skip to main content

A stac-fastapi implementation with a stac-geoparquet backend

Project description

stac-fastapi-geoparquet

GitHub Actions Workflow Status PyPI - Version GitHub License

A stac-fastapi with a stac-geoparquet backend.

stac-fastapi-geoparquet can serve a full-featured STAC API from one or more stac-geoparquet files located (e.g.) in blob storage — no database required.

[!WARNING] 👷 This project is under active development and may change and break at any time.

Usage

To start a STAC API server pointing to a single stac-geoparquet file:

$ python -m pip install 'stac-fastapi-geoparquet[serve]'
$ STAC_FASTAPI_GEOPARQUET_HREF=data/naip.parquet uvicorn stac_fastapi.geoparquet.main:app
INFO:     Started server process [47920]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

This will start the server on http://127.0.0.1:8000. The collection will be auto-generated from the items in the stac-geoparquet file.

Using collections

Instead of providing the href to a single file, you can provide the href to a file containing a JSON list of collections. Any collection assets with a application/vnd.apache.parquet type field will be added to the server as sources of items. For an example, see data/collections.json.

To start a server with one or more collections:

$ STAC_FASTAPI_COLLECTIONS_HREF=data/collections.json uvicorn stac_fastapi.geoparquet.main:app
INFO:     Started server process [47920]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

To auto-generate the collections file, we provide a script:

scripts/generate-collections s3://my-bucket/a.parquet s3://my-bucket/b.parquet

This will update ./data/collections.json.

Limitations

Development

Get uv, then:

git clone git@github.com:stac-utils/stac-fastapi-geoparquet.git
cd stac-fastapi-geoparquet
uv sync

To run the tests:

uv run pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stac_fastapi_geoparquet-0.0.5.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stac_fastapi_geoparquet-0.0.5-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file stac_fastapi_geoparquet-0.0.5.tar.gz.

File metadata

  • Download URL: stac_fastapi_geoparquet-0.0.5.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stac_fastapi_geoparquet-0.0.5.tar.gz
Algorithm Hash digest
SHA256 b8bcd732374cc2e28b4d21cb5f2b782eed696906f15c14d8a18858e7c4bee330
MD5 64014833a4b02ef1c2fea526b769af3b
BLAKE2b-256 4dbadf94ddcb84a27d57b9165c59384ae69cdff13bd358c2b0665f8fc3bdda02

See more details on using hashes here.

Provenance

The following attestation bundles were made for stac_fastapi_geoparquet-0.0.5.tar.gz:

Publisher: release.yml on stac-utils/stac-fastapi-geoparquet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file stac_fastapi_geoparquet-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for stac_fastapi_geoparquet-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 86f0180a17b1d768d09c6a0994d6b2702ea97707df2e0facc247a9ff22275800
MD5 77bd8c42c3d09229729de79faf861390
BLAKE2b-256 801e3861705e8947d9e02ddbc3f7dc442a27d576b08ec3582f4ac08bd1a14a9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for stac_fastapi_geoparquet-0.0.5-py3-none-any.whl:

Publisher: release.yml on stac-utils/stac-fastapi-geoparquet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page