An open API service indexing awesome lists of open source software.

awesome-starlette

Awesome resources for the Starlette web framework
https://github.com/sfermigier/awesome-starlette

Last synced: 6 days ago
JSON representation

  • Extensions

    • Admin

      • sqladmin - SQLAlchemy Admin for FastAPI and Starlette
      • Starlette-Admin - Simple and extensible admin interface framework built with Tabler and Datatables. Supports complex filtering, exports, file uploads. [Docs](https://jowilf.github.io/starlette-admin)
      • starlette-admin - (Archived) Simple admin site for CRUD operations from the `accent-starlette` project group.
    • API (REST, GraphQL...)

      • Apiman - Integrate Swagger/OpenAPI documentation easily, providing SwaggerUI and RedocUI.
      • SpecTree - Generate OpenAPI documentation and validate requests & responses using Python annotations. [Docs](https://spectree.readthedocs.io/)
      • Starlette APISpec - Simple APISpec integration. Document your REST API by declaring OpenAPI schemas in YAML format in endpoint docstrings.
      • Strawberry GraphQL - Python GraphQL library based on dataclasses, works well with Starlette/FastAPI. [Docs](https://strawberry.rocks/)
      • uapi - An elegant, high-level, extremely low-overhead microframework for writing HTTP APIs, either synchronously or asynchronously.
    • APM & Monitoring

      • Apitally - Analytics, request logging and monitoring for REST APIs. [Docs](https://docs.apitally.io/frameworks/starlette)
      • Scout APM - Application Performance Monitoring (APM) solution to find performance bottlenecks. [Docs](https://docs.scoutapm.com/#python-agent)
      • Sentry - Error tracking and performance monitoring platform. [Docs](https://docs.sentry.io/platforms/python/guides/starlette/)
      • Starlette Exporter - Prometheus integration for FastAPI and Starlette.
      • Starlette OpenTracing - Opentracing support for Starlette and FastAPI.
      • Starlette Prometheus - Plugin providing an endpoint that exposes Prometheus metrics.
    • Authentication & Authorization

      • Authlib - The ultimate Python library for building OAuth and OpenID Connect clients and servers. [Starlette Integration Docs](https://docs.authlib.org/en/latest/client/starlette.html).
      • Imia - Authentication framework with pluggable authenticators and login/logout flow.
      • Starlette OAuth2 API - Middleware to add authentication and authorization through JWTs, relying on an external auth provider.
      • Starlette-Login - User session management, inspired by Flask-Login. [Docs](https://starlette-login.readthedocs.io/en/stable/)
      • starlette-auth - (Archived) Provides a SQLAlchemy backend for user authentication from the `accent-starlette` project group.
    • Compression

      • Starlette Compress - Fast middleware for compressing responses with Zstd, Brotli, and GZip.
      • Starlette Cramjam - Middleware adding Brotli, Gzip, and Deflate compression with minimal requirements via the `cramjam` library.
    • Core Utilities

      • Starlette Bridge - Backwards compatibility shim for `on_startup` / `on_shutdown` event handlers using the newer `lifespan` context manager internally. [Docs](https://starlette-bridge.tarsild.io/)
      • Starlette Context - Middleware to store and access request context data easily, useful for logging request IDs.
      • Starsessions - Alternate session implementation with customizable storage backends.
      • webargs-starlette - Declarative request parsing and validation (query, JSON, form, headers, cookies) using type annotations, built on webargs.
      • starlette-core - (Archived) Basic functionality (database, flash messages, email, pagination) from the `accent-starlette` project group.
    • Debugging

      • Starception - Beautiful interactive exception page for Starlette/FastAPI applications.
    • Deployment / Serverless

      • Mangum - Serverless ASGI adapter for AWS Lambda & API Gateway. [Docs](https://mangum.io/)
      • Vellox - Serverless ASGI adapter for Google Cloud Functions.
      • starlette-docker - (Archived) Base Docker images from the `accent-starlette` project group.
    • WebSockets

      • Nejma - Manage and send messages to groups of WebSocket channels. [Demo Chat](https://github.com/taoufik07/nejma-chat)
      • ChannelBox - Solution for WebSocket broadcast; send messages to channel groups from anywhere in your code. [Demo Chat](https://channel-box.andrey-sobolev.ru/)
    • Forms

      • Starlette WTF - Simple integration of Starlette and WTForms, modeled on Flask-WTF.
    • Internationalization (i18n)

      • Starlette-Babel - Provides translations, localization, and timezone support via Babel integration.
    • Routing

      • DecoRouter - FastAPI-style routing for Starlette using decorators.
      • starlette-dispatch - Routing extensions and dependency injection for Starlette.
    • Static Files

      • Starlette-StaticResources - Allows mounting package resources for static data, similar to `StaticFiles`.
      • starlette-files - (Archived) Save files using S3 or local FS, with image manipulation options, from the `accent-starlette` project group.
  • Frameworks

    • WebSockets

      • Ellar - ASGI web framework for building fast, efficient and scalable REST APIs and server-side applications, inspired by NestJS. Built on Starlette, Pydantic, and Injector. [Docs](https://eadwincode.github.io/ellar/)
      • Flama - Data-science oriented framework to rapidly build modern and robust machine learning APIs with automatic deployment. [Docs](https://flama.dev/)
      • Shiny - Effortless Python web applications using reactive programming, built by Posit (formerly RStudio). [Docs](https://shiny.posit.co/py/)
      • FastAPI - A modern, fast (high-performance), web framework for building APIs with Python 3.7+ based on standard Python type hints. [Docs](https://fastapi.tiangolo.com/)
      • Dark Star - (Inactive) Changes your file paths into Starlette routes and puts your view code right next to your template. Includes support for htmx. [Docs](https://lllama.github.io/dark-star)
      • Greppo - (Inactive) Python framework for building geospatial dashboards and web-applications with data mutation hooks. [Docs](https://docs.greppo.io/)
      • Responder - (Archived) A familiar HTTP Service Framework for Python, built on Starlette and uvloop. [Docs](https://python-responder.org/en/latest/)
      • Starlette-apps - (Inactive) Roll your own framework with a simple app system, like Django-GDAPS or CakePHP.
      • Xpresso - (Abandonned) Flexible and extendable web framework built on top of Starlette, Pydantic and `di`. [Docs](https://xpresso-api.dev/)
  • Starter / App Templates

    • WebSockets

      • StarletteStarter - Starlette web application starter. Ready with Register, Login, Forgot Password, Setting and more pages.
      • Starlette-template - A comprehensive project starter for Starlette web applications, prioritizing developer experience with built-in features like authentication, database management, and deployment tooling.