Skip to main content

FastApi implementation conforming to the OpenEO Api specification.

Project description

OpenEO FastAPI

PyPI - Status PyPI PyPI - Python Version

A FastAPI implementation of the OpenEO Api specification.

Install

Install using pip

pip install openeo-fastapi

Use

The openeo fastapi repo has been set up to work with alembic. When you use this package to to prepare your api, you will need to create an alembic directory. In this directory, you can optionally add a models.py file and extend and of the models from openeo_fastapi.client.models.

The env.py file in the alembic directory, needs to be edited in the following way.

from openeo_fastapi.settings import BASE

target_metadata = BASE.metadata

You can now create auto revisions for a psql database using the alembic python commands.

alembic_cfg = Config("alembic.ini")

command.revision(alembic_cfg, f"openeo-fastapi-{__version__}", autogenerate=True)
command.upgrade(alembic_cfg, "head")

engine = get_engine()

Check how it is configured for the tests to see more.

Contribute

Included is a vscode dev container which is intended to be used as the development environment for this package. A virtual environment needs to be set up inside the dev container, this is managed by poetry.

Setup

  1. In VSCode Ctrl + shift + p and select "Dev Containers: Rebuild Container" to open the development environment for the first time.

  2. Once the development environment is ready, run the following commands.

    # From /openeo-fastapi
    
    poetry config virtualenvs.path "<I tend to set this to the repo. I.e, ~/openeo-fastapi/.venv>"
    
    poetry lock
    
    poetry install --all-extras
    
    poetry run pre-commit install
    

    If you want to add a new dependency. Add it to the pyproject.toml and rerun the two commands again.

    Git is available in the container, so you can commit and push directy to your development branch.

  3. You are now ready to write code and run tests!

    Either

    poetry run python -m pytest
    

    Or, run them directly from the testing section of vscode.

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

openeo_fastapi-2025.5.1.tar.gz (35.5 kB view details)

Uploaded Source

Built Distribution

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

openeo_fastapi-2025.5.1-py3-none-any.whl (44.4 kB view details)

Uploaded Python 3

File details

Details for the file openeo_fastapi-2025.5.1.tar.gz.

File metadata

  • Download URL: openeo_fastapi-2025.5.1.tar.gz
  • Upload date:
  • Size: 35.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for openeo_fastapi-2025.5.1.tar.gz
Algorithm Hash digest
SHA256 deb16e09914a97ae87749b1deacccc16d02b1a13848978e32055547ff1732482
MD5 34ea18d55c1d0f3b2898e07c10a20ef8
BLAKE2b-256 bac78f37752992182f96b8539a9721f3b9b7ee67d3ee7a4c4fcc7a0c27c4f0df

See more details on using hashes here.

Provenance

The following attestation bundles were made for openeo_fastapi-2025.5.1.tar.gz:

Publisher: release.yaml on eodcgmbh/openeo-fastapi

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

File details

Details for the file openeo_fastapi-2025.5.1-py3-none-any.whl.

File metadata

File hashes

Hashes for openeo_fastapi-2025.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e0e0403a6845ce085afde6dbe568d26ce7a7839e5b47b2e5ca2b56efceed6ece
MD5 44455feaa617e4a2b7aba2657b67ead4
BLAKE2b-256 d1cd4fb57a2339c0c421f97875a94b69c280b7d4e5603db1135c882de64b6b0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for openeo_fastapi-2025.5.1-py3-none-any.whl:

Publisher: release.yaml on eodcgmbh/openeo-fastapi

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