Third-Party Packages
Starlette has a fast-growing developer community that builds tools that integrate into Starlette, tools that depend on Starlette, and more.
Here are some third-party software packages:
plug-in
This word may be a rare word or a domain-specific term, and I am not sure about its exact meaning. If you can provide more context or information about the word, I will try to provide you with a more accurate Chinese translation. Based on the current information only,"Apitally" translates literally as "Apitali," but this may not be the result you want
GitHub |document
Simple traffic, error, and response time monitoring, as well as API key and rights management for Starlette (and other frameworks).
Authlib (the word may be a specific name or term, and with more context there may be a more accurate translation)
GitHub |document
The ultimate Python library for building OAuth and OpenID Connect clients and servers. See how to integrate with Starlette.
channel-box
Another solution for WebSocket broadcasting. Send messages to channel groups from any part of your code. Check out MySimpleChat, a simple chat app built with channel-box and starlette.
imia
Authentication framework for Starlette with pluggable authenticator and login/logout process.
mangum
Serverless ASGI adapters for AWS Lambda and API Gateway.
nejma
Use WebSockets to manage and send messages to channel groups. Check out nejma-chat, a simple chat app built with nejma and starlette.
Scout APM
An APM (Application Performance Monitoring) solution that inspects your application to discover performance bottlenecks.
SpecTree (if the word has a specific meaning, it is difficult to accurately translate it into Chinese only according to the current English, so the original form is retained here)
Generate OpenAPI specification documentation and validate requests and responses with Python comments. Less boilerplate code (no YAML required).
starlette API specification
Simple APISpec integration for Starlette. Document REST APIs built with Starlette by declaring OpenAPI (Swagger) schema in YAML format in the document string of the endpoint.
starlette compression
Starlette-Compress is a fast and simple middleware for compressing responses in Starlette. It adds ZStd, Brotli and GZip compression support with reasonable default configurations.
Starlette context
Middleware for Starlette that allows you to store and access the contextual data of a request. Can be used with logging so that logs automatically use request headers such as x-request-id or x-correlation-id.
starlette cramjam
A Starlette middleware that allows brotli, gzip, and deflate compression algorithms with minimal requirements.
starlette OAuth2 API
Starlette middleware for adding authentication and authorization via JWT. It relies entirely on an authentication provider to issue access and/or ID tokens to clients.
starlette prometheus
A plug-in that provides an endpoint that exposes Prometheus metrics based on its official Python client.
starlette WTF
A simple tool for integrating Starlette and WTForms. It is modeled after the excellent Flask-WTF library.
Starlette -Login
GitHub |document
User session management for Starlette. It handles common tasks such as login, logout, and remembering user sessions over time.
starsessions
Alternate session support implementation with customizable storage backend.
Network Parameters- Starlette
Declarative request parsing and validation for Starlette, built on top of webargs.
Allows you to use type annotations to parse query strings, JSON, forms, headers, and cookies.
Router
FastAPI style routing for Starlette.
Allows you to use decorators to generate routing tables.
Starception exception
Aesthetic anomaly pages for Starlette apps.
starlette -Management background
GitHub |document
Simple and extensible management interface framework.
Built with Tabler and Datatables, it allows you to quickly generate a fully customizable management interface for your model. You can export data to multiple formats (CSV, PDF, Excel, etc.), filter data using complex queries including AND and OR conditions, upload files,…
Velox
Serverless ASGI adapter for GCP cloud functions.
Starlette Bridge
GitHub |document
With the retirement of on_startup and on_shutdown, Starlette Bridge ensures that you can still declare events the old way, with the exception of actually creating lifespan internally for you. This ensures backward compatibility with existing packages while maintaining the integrity of Starlette's new lifespan events.
frame
FastAPI
GitHub |document
High-performance, easy-to-learn, fast-coding, production-ready Web API framework. Inspired by APIStar's previous server system, which has type declarations for routing parameters, based on OpenAPI specification version 3.0.0 and above (using JSON schema), with data processing support provided by Pydantic.
Flama
GitHub |document
Flama is a data science-oriented framework for quickly building modern and powerful machine learning (ML) APIs. The main goal of the framework is to make deployment of ML APIs extremely simple. With Flama, data scientists can now quickly transform their ML models into asynchronous, automatically documented APIs with just one line of code. All in seconds!
Flama comes with an intuitive command-line interface (CLI) and provides easy-to-learn concepts to accelerate the building of high-performance GraphQL, REST and ML APIs. Additionally, it provides an ideal solution for asynchronous and production-ready service development, providing automated deployment for ML models.
Greppo
GitHub |document
A Python framework for building geospatial dashboards and web applications.
Greppo is an open source Python framework for building geospatial dashboards and web applications easily. It provides a toolkit for quickly integrating data, algorithms, visualizations, and user interfaces for interactivity. It provides APIs for back-end variable updates, logical recalculations, and reflection of front-end changes (data mutation hooks).
responder
GitHub |document
Asynchronous Web Services Framework. Some features: Flask style routing expressions, yaml support, OpenAPI pattern generation, background tasks, graphql.
starlette application
Build your own framework using simple application systems such as Django-GDAPS or CakePHP.
faint star
A simple framework that helps minimize the amount of code needed to send HTML to the browser. Convert your file paths to Starlette routes and place your view code directly next to your templates. Includes support for htmx to help enhance your front end.
documentation GitHub
Xpresso
A flexible and extensible Web framework built on Starlette, Pydantic and di.
GitHub |documentation
Ellar
GitHub |document
Ellar is an ASGI networking framework for building fast, efficient and scalable RESTAPIs and server-side applications. It provides a high degree of abstraction in building server-side applications and combines elements of OOP (Object Oriented Programming) and FP (Functional Programming)-inspired by Nestjs.
It is built on top of three core libraries Starlette, Pydantic and injector.
Apiman
Easily integrate Swagger/OpenAPI documentation extensions for Starlette projects and provide Swagger UI and Redoc UI.
Starlette -Babel
Translation, localization and time zone support via Babel integration.
starlette -static resource
Allows package resources to be mounted for static data, similar to Static Files.
sentry
GitHub |document
Sentry is a software bug Detection Tools. It provides actionable insights for resolving performance issues and bugs, allowing users to diagnose, fix, and optimize Python debugging. Additionally, it integrates seamlessly with Starlette for Python application development. Sentry features include bug tracking, performance insights, contextual information, and alerts/notifications.
shiny
GitHub |document
Leveraging Starlette and asyncio, Shiny allows developers to create effortless Python web applications using the power of reactive programming. Shiny eliminates the hassle of manual state management, automatically determining the best execution path for your app at runtime while simultaneously minimizing re-rendering. This means that Shiny can support everything from the simplest dashboard to full-featured web apps.