Install & Compatibility
Where this runs
tested against v0.7.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
py 3.9
✕ build_error
✕ build_error
28MB installed
● package 28MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
StarletteRouter
✓ from fastopenapi.routers import StarletteRouter
✗ from fastopenapi import StarletteRouter
Since v0.3.0 routers are under fastopenapi.routers
FlaskRouter
✓ from fastopenapi.routers import FlaskRouter
✗ from fastopenapi import FlaskRouter
Same for all routers
Minimal FastOpenAPI app with Starlette and Pydantic v2.
from fastopenapi.routers import StarletteRouter
from pydantic import BaseModel
from starlette.applications import Starlette
from starlette.responses import JSONResponse
import uvicorn
app = Starlette()
router = StarletteRouter(app)
class HelloResponse(BaseModel):
message: str
@router.get("/hello/{name}", response_model=HelloResponse)
def hello(name: str) -> HelloResponse:
return HelloResponse(message=f"Hello, {name}!")
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'fastopenapi'
Package not installed, or installed without the desired framework extra.
fixRun 'pip install fastopenapi' for base, or 'pip install fastopenapi[starlette]' for Starlette support.
ImportError: cannot import name 'StarletteRouter' from 'fastopenapi'
Using old import path 'from fastopenapi import StarletteRouter' which is incorrect since v0.3.0.
fixUse 'from fastopenapi.routers import StarletteRouter'.
ValueError: 'use_aliases' is not a valid parameter for this router
Trying to pass use_aliases argument in v0.7.0 where it was removed.
fixRemove the use_aliases parameter; aliasing is always enabled.
Upgrade
Version history
0.7.0latest on PyPI · released Apr 27, 2025
Audit
Dependencies
pydanticrequiredCore dependency for data validation and schema generation
starletteoptionalRequired for StarletteRouter
flaskoptionalRequired for FlaskRouter
aiohttpoptionalRequired for AioHttpRouter
falconoptionalRequired for FalconRouter
quartoptionalRequired for QuartRouter
sanicoptionalRequired for SanicRouter
tornadooptionalRequired for TornadoRouter