Sushi Kitchen
Sashimi
Sashimi

FastAPI

sashimi.fastapi

A Docker Compose file for FastAPI alone, generated from the catalog and checked by the safety inspector. No account needed.

Python web framework for HTTP APIs that derives validation, serialisation and OpenAPI documentation from type annotations, running async on an ASGI server.

FastAPI reads the type annotations on a route function and uses them to validate incoming requests, coerce parameters, serialise responses and generate an OpenAPI description — so the schema and the code cannot drift apart, because one is produced from the other. Interactive documentation is served from that description without any additional configuration. A dependency injection system handles shared concerns such as authentication, database sessions and pagination as composable callables rather than middleware. It runs on ASGI, so async route handlers, websockets and background tasks are native rather than bolted on.

You know it worked when

  • The application starts and answers a request on its health route.
  • The generated OpenAPI description lists every defined route.
  • The interactive documentation page loads and executes a request.
  • A request with a wrong parameter type returns a validation error naming the field.
  • A response conforms to its declared model rather than exposing extra fields.

Known sharp edges

  • The development server reloads on file change and runs a single worker; production needs a process manager with multiple workers configured explicitly.
  • A synchronous blocking call inside an async route stalls the whole event loop, which shows up as unexplained latency across every request rather than in the slow route.
  • The interactive documentation endpoints are served publicly by default and expose the full API surface unless disabled or protected.
  • Response models must be declared to filter output; without one, a returned object serialises every field it has, including ones not intended to leave the service.
apipythonopenapi