Starlette
Last updated: Nov 4, 2026
Rationale
Starlette is the backend framework of the Fluid Attacks platform.
These are the primary reasons why Fluid Attacks selected it and not other alternatives:
- It is open source.
- It is a high-level framework. It decreases cognitive complexity for developers, because it gives routes, responses, validations, and more.
- It is one of the most reliable Python backend frameworks.
- It fully supports async programming, which is very important for the performance of the application.
- It has full static typing support.
Alternatives
Fluid Attacks examined these alternatives, but it did not select them for these reasons:
Django
- Starlette replaced Django.
- It supported only synchronous backends.
- It supported DB models for SQL databases. These features had no value for Fluid Attacks, because it uses DynamoDB.
- It supported templates to serve frontends. These features had no value for Fluid Attacks, because it uses a SPA.
FastAPI
- FastAPI uses Starlette below it.
- Its primary value is its endpoint validations and its automatic API documentation. These features are available only for REST APIs. They are not important for the Fluid Attacks platform, because it uses GraphQL. Other Fluid Attacks components use FastAPI for their REST services, for example, bridges, interacts, fixes, and smells.
Falcon
Falcon had a lower-level approach than Starlette. Thus, the cognitive complexity for developers was higher.
Usage
Fluid Attacks uses Starlette as the backend framework of the Fluid Attacks platform.