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.