Skip to content

FastAPI API Reference

App Factory

yoro.fastapi.app.create_app(prefix='')

Create the Yoro FastAPI application.

Parameters:

Name Type Description Default
prefix str

Optional URL prefix for all routes (e.g. "/api/v1/yoro").

''
Source code in src/yoro/fastapi/app.py
def create_app(prefix: str = "") -> FastAPI:
    """Create the Yoro FastAPI application.

    Args:
        prefix: Optional URL prefix for all routes (e.g. ``"/api/v1/yoro"``).
    """
    app = FastAPI(
        title="Yoro API",
        description="Geographic addressing via Hilbert curves — GPS ↔ compact codes",
        version=__version__,
    )
    app.include_router(router, prefix=prefix)
    return app

Pydantic Schemas

yoro.fastapi.app.BoundsSchema

Bases: BaseModel

Source code in src/yoro/fastapi/app.py
class BoundsSchema(BaseModel):
    lat_min: float
    lat_max: float
    lon_min: float
    lon_max: float

yoro.fastapi.app.EncodeResponse

Bases: BaseModel

Source code in src/yoro/fastapi/app.py
class EncodeResponse(BaseModel):
    code: str
    lat: float
    lon: float
    precision: int
    resolution_m: float
    bounds: BoundsSchema

yoro.fastapi.app.DecodeResponse

Bases: BaseModel

Source code in src/yoro/fastapi/app.py
class DecodeResponse(BaseModel):
    code: str
    lat: float
    lon: float
    precision: int
    domain: str
    resolution_m: float
    bounds: BoundsSchema
    neighbors: list[str]

yoro.fastapi.app.PrecisionLevelSchema

Bases: BaseModel

Source code in src/yoro/fastapi/app.py
class PrecisionLevelSchema(BaseModel):
    precision: int
    code_length: int
    grid_size: int
    total_cells: int
    resolution_m: float

yoro.fastapi.app.PrecisionsResponse

Bases: BaseModel

Source code in src/yoro/fastapi/app.py
class PrecisionsResponse(BaseModel):
    domain: str
    levels: list[PrecisionLevelSchema]