Skip to main content

Arturo's STAC compliant API implementation

Project description

arturo-stac-api arturo-stac-api


Documentation: coming soon...

Source Code: https://github.com/arturo-ai/arturo-stac-api


Python library for building and customizing a STAC compliant API:

pip install arturo-stac-api

Usage

# my_app.py
from stac_api.config import ApiSettings
from stac_api.api import create_app

settings = ApiSettings()
app = create_app(settings)
$ uvicorn my_app:app --reload

Project Structure

.
├── alembic             # Database migrations
│   └── versions        # Migration versions
├── scripts             # Scripts for local development
├── stac_api
│   ├── api             # API layer
│   ├── clients
│   │   ├── postgres    # Postgres CRUD client
│   │   └── tiles       # OGC Tiles API client
│   ├── models          # Pydantic and ORM models
│   └── utils           # Helper functions
└── tests
    ├── api             # Test api creation
    ├── clients         # Test application logic
    └── resources       # Test api endpoints

Local Development

Use docker-compose to deploy the application, migrate the database, and ingest some example data:

docker-compose build
docker-compose up

For local development it is often more convenient to run the application outside of docker-compose:

make docker-run

Testing

The database container provided by the docker-compose stack must be running. Run all tests:

make test

Run individual tests by running pytest within the docker container:

make docker-shell
$ pytest -v

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

arturo-stac-api-1.1.0.tar.gz (26.8 kB view hashes)

Uploaded Source

Built Distribution

arturo_stac_api-1.1.0-py3-none-any.whl (39.5 kB view hashes)

Uploaded Python 3

Supported by

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