Skip to content

Latest commit

 

History

History
146 lines (78 loc) · 5.41 KB

third-party-packages.md

File metadata and controls

146 lines (78 loc) · 5.41 KB

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 metrics based on its official python client.

webargs-starlette

GitHub

Declarative request parsing and validation for Starlette, built on top of 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.

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.

Starsessions

GitHub

An alternate session support implementation with customizable storage backends.

Starlette Cramjam

GitHub

A Starlette middleware that allows brotli, gzip and deflate compression algorithm with a minimal requirements.

Imia

GitHub

An authentication framework for Starlette with pluggable authenticators and login/logout flow.

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.

Starlette-apps

Roll your own framework with a simple app system, like Django-GDAPS or CakePHP.

GitHub