Starlette has a rapidly growing community of developers, building tools that integrate into Starlette, tools that depend on Starlette, etc.
Here are some of those third party packages:
## Backports
### Python 3.5 port
GitHub
## Plugins
### Starlette APISpec
GitHub
Simple APISpec integration for Starlette.
Document your REST API built with Starlette by declaring OpenAPI (Swagger)
schemas in YAML format in your endpoint's docstrings.
### SpecTree
GitHub
Generate OpenAPI spec document and validate request & response with Python annotations. Less boilerplate code(no need for YAML).
### Mangum
GitHub
Serverless ASGI adapter for AWS Lambda & API Gateway.
### Nejma
GitHub
Manage and send messages to groups of channels using websockets.
Checkout nejma-chat, a simple chat application built using `nejma` and `starlette`.
### ChannelBox
GitHub
Another solution for websocket broadcast. Send messages to channel groups from any part of your code.
Checkout channel-box-chat, a simple chat application built using `channel-box` and `starlette`.
### Scout APM
GitHub
An APM (Application Performance Monitoring) solution that can
instrument your application to find performance bottlenecks.
### Starlette Prometheus
GitHub
A plugin for providing an endpoint that exposes [Prometheus](https://prometheus.io/) metrics based on its [official python client](https://github.com/prometheus/client_python).
### webargs-starlette
GitHub
Declarative request parsing and validation for Starlette, built on top
of [webargs](https://github.com/marshmallow-code/webargs).
Allows you to parse querystring, JSON, form, headers, and cookies using
type annotations.
### Authlib
GitHub |
Documentation
The ultimate Python library in building OAuth and OpenID Connect clients and servers. Check out how to integrate with [Starlette](https://docs.authlib.org/en/latest/client/starlette.html).
### Starlette OAuth2 API
GitLab
A starlette middleware to add authentication and authorization through JWTs.
It relies solely on an auth provider to issue access and/or id tokens to clients.
### Starlette Context
GitHub
Middleware for Starlette that allows you to store and access the context data of a request.
Can be used with logging so logs automatically use request headers such as x-request-id or x-correlation-id.
### Starlette Cramjam
GitHub
A Starlette middleware that allows **brotli**, **gzip** and **deflate** compression algorithm with a minimal requirements.
## Frameworks
### Responder
GitHub |
Documentation
Async web service framework. Some Features: flask-style route expression,
yaml support, OpenAPI schema generation, background tasks, graphql.
### FastAPI
GitHub |
Documentation
High performance, easy to learn, fast to code, ready for production web API framework.
Inspired by **APIStar**'s previous server system with type declarations for route parameters, based on the OpenAPI specification version 3.0.0+ (with JSON Schema), powered by **Pydantic** for the data handling.
### Flama
GitHub |
Documentation
Formerly Starlette API.
Flama aims to bring a layer on top of Starlette to provide an **easy to learn** and **fast to develop** approach for building **highly performant** GraphQL and REST APIs. In the same way of Starlette is, Flama is a perfect option for developing **asynchronous** and **production-ready** services.