{"id":26968305,"url":"https://github.com/sfermigier/awesome-starlette","last_synced_at":"2026-02-06T17:34:37.669Z","repository":{"id":285516210,"uuid":"957524600","full_name":"sfermigier/awesome-starlette","owner":"sfermigier","description":"Awesome resources for the Starlette web framework","archived":false,"fork":false,"pushed_at":"2025-04-01T06:23:04.000Z","size":9,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T07:28:29.199Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sfermigier.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-30T15:31:46.000Z","updated_at":"2025-04-01T06:23:08.000Z","dependencies_parsed_at":"2025-04-01T07:28:35.371Z","dependency_job_id":"a8ebe839-9384-47b6-9a58-c1286b89d3ef","html_url":"https://github.com/sfermigier/awesome-starlette","commit_stats":null,"previous_names":["sfermigier/awesome-starlette"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfermigier%2Fawesome-starlette","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfermigier%2Fawesome-starlette/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfermigier%2Fawesome-starlette/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfermigier%2Fawesome-starlette/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfermigier","download_url":"https://codeload.github.com/sfermigier/awesome-starlette/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246970317,"owners_count":20862509,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-03T09:02:01.415Z","updated_at":"2026-02-06T17:34:32.643Z","avatar_url":"https://github.com/sfermigier.png","language":null,"funding_links":[],"categories":["Programming Language Lists","Micro-frameworks"],"sub_categories":["Python Lists","Async"],"readme":"# Awesome Starlette\n\n\u003e A curated list of awesome projects, extensions, and resources for the Starlette ASGI framework/toolkit.\n\n[![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\nStarlette is a lightweight [ASGI](https://asgi.readthedocs.io/) framework/toolkit for Python, which is ideal for building high-performance asyncio services. It is production-ready and gives you tools for building APIs, WebSockets, GraphQL endpoints, and more. Many high-level frameworks (like FastAPI) are built on top of Starlette.\n\n**Starlette:** [Docs](https://www.starlette.io/) | [Source](https://github.com/encode/starlette)\n\n**Legend:** ⚠️ = Unmaintained or Archived\n\n## Contents\n\n- [Extensions](#extensions)\n  - [Admin](#admin)\n  - [API](#api)\n  - [APM \u0026 Monitoring](#apm--monitoring)\n  - [Authentication \u0026 Authorization](#authentication--authorization)\n  - [Compression](#compression)\n  - [Core Utilities](#core-utilities)\n  - [Debugging](#debugging)\n  - [Deployment / Serverless](#deployment--serverless)\n  - [Forms](#forms)\n  - [Internationalization (i18n)](#internationalization-i18n)\n  - [Routing](#routing)\n  - [Static Files](#static-files)\n  - [WebSockets](#websockets)\n- [Frameworks](#frameworks)\n- [Contributing](#contributing)\n- [About](#about)\n\n## Extensions\n\n### Admin\n\n- [sqladmin](https://github.com/aminalaee/sqladmin) ★2091 -  SQLAlchemy Admin for FastAPI and Starlette\n- [Starlette-Admin](https://github.com/jowilf/starlette-admin) ★741 - Simple and extensible admin interface framework built with Tabler and Datatables. Supports complex filtering, exports, file uploads. [Docs](https://jowilf.github.io/starlette-admin)\n- ⚠️ [starlette-admin](https://github.com/accent-starlette/starlette-admin) ★40 - (Archived) Simple admin site for CRUD operations from the `accent-starlette` project group.\n\n### API (REST, GraphQL...)\n\n- [Apiman](https://github.com/strongbugman/apiman) ★111 - Integrate Swagger/OpenAPI documentation easily, providing SwaggerUI and RedocUI.\n- [SpecTree](https://github.com/0b01001001/spectree) ★332 - Generate OpenAPI documentation and validate requests \u0026 responses using Python annotations. [Docs](https://spectree.readthedocs.io/)\n- [Starlette APISpec](https://github.com/Woile/starlette-apispec) ★53 - Simple APISpec integration. Document your REST API by declaring OpenAPI schemas in YAML format in endpoint docstrings.\n- [Strawberry GraphQL](https://github.com/strawberry-graphql/strawberry) ★4220 - Python GraphQL library based on dataclasses, works well with Starlette/FastAPI. [Docs](https://strawberry.rocks/)\n- [uapi](https://github.com/Tinche/uapi) ★92 - An elegant, high-level, extremely low-overhead microframework for writing HTTP APIs, either synchronously or asynchronously.\n\n### APM \u0026 Monitoring\n\n- [Apitally](https://github.com/apitally/apitally-py) ★71 - Analytics, request logging and monitoring for REST APIs. [Docs](https://docs.apitally.io/frameworks/starlette)\n- [Scout APM](https://github.com/scoutapp/scout_apm_python) ★68 - Application Performance Monitoring (APM) solution to find performance bottlenecks. [Docs](https://docs.scoutapm.com/#python-agent)\n- [Sentry](https://github.com/getsentry/sentry-python) ★1976 - Error tracking and performance monitoring platform. [Docs](https://docs.sentry.io/platforms/python/guides/starlette/)\n- [Starlette Exporter](https://github.com/stephenhillier/starlette_exporter) ★317 - Prometheus integration for FastAPI and Starlette.\n- [Starlette OpenTracing](https://github.com/acidjunk/starlette-opentracing) ★65 - Opentracing support for Starlette and FastAPI.\n- [Starlette Prometheus](https://github.com/perdy/starlette-prometheus) ★289 - Plugin providing an endpoint that exposes Prometheus metrics.\n\n### Authentication \u0026 Authorization\n\n- [Authlib](https://github.com/lepture/Authlib) ★4757 - 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).\n- [Imia](https://github.com/alex-oleshkevich/imia) ★98 - Authentication framework with pluggable authenticators and login/logout flow.\n- [Starlette OAuth2 API](https://gitlab.com/jorgecarleitao/starlette-oauth2-api) - Middleware to add authentication and authorization through JWTs, relying on an external auth provider.\n- [Starlette-Login](https://github.com/jockerz/Starlette-Login) ★13 - User session management, inspired by Flask-Login. [Docs](https://starlette-login.readthedocs.io/en/stable/)\n- ⚠️ [starlette-auth](https://github.com/accent-starlette/starlette-auth) ★11 - (Archived) Provides a SQLAlchemy backend for user authentication from the `accent-starlette` project group.\n\n### Compression\n\n- [Starlette Compress](https://github.com/Zaczero/starlette-compress) ★16 - Fast middleware for compressing responses with Zstd, Brotli, and GZip.\n- [Starlette Cramjam](https://github.com/developmentseed/starlette-cramjam) ★12 - Middleware adding Brotli, Gzip, and Deflate compression with minimal requirements via the `cramjam` library.\n\n### Core Utilities\n\n- [Starlette Bridge](https://github.com/tarsil/starlette-bridge) ★4 - Backwards compatibility shim for `on_startup` / `on_shutdown` event handlers using the newer `lifespan` context manager internally. [Docs](https://starlette-bridge.tarsild.io/)\n- [Starlette Context](https://github.com/tomwojcik/starlette-context) ★479 - Middleware to store and access request context data easily, useful for logging request IDs.\n- [Starsessions](https://github.com/alex-oleshkevich/starsessions) ★103 - Alternate session implementation with customizable storage backends.\n- [webargs-starlette](https://github.com/sloria/webargs-starlette) ★39 - Declarative request parsing and validation (query, JSON, form, headers, cookies) using type annotations, built on webargs.\n- [starlette-flash]() -\n- ⚠️ [starlette-core](https://github.com/accent-starlette/starlette-core) ★12 - (Archived) Basic functionality (database, flash messages, email, pagination) from the `accent-starlette` project group.\n\n### Debugging\n\n- [Starception](https://github.com/alex-oleshkevich/starception) ★96 - Beautiful interactive exception page for Starlette/FastAPI applications.\n\n### Deployment / Serverless\n\n- [Mangum](https://github.com/erm/mangum) ★1854 - Serverless ASGI adapter for AWS Lambda \u0026 API Gateway. [Docs](https://mangum.io/)\n- [Vellox](https://github.com/junah201/vellox) ★16 - Serverless ASGI adapter for Google Cloud Functions.\n- ⚠️ [starlette-docker](https://github.com/accent-starlette/starlette-docker) ★3 - (Archived) Base Docker images from the `accent-starlette` project group.\n\n### Forms\n\n- [Starlette WTF](https://github.com/muicss/starlette-wtf) ★89 - Simple integration of Starlette and WTForms, modeled on Flask-WTF.\n\n### Internationalization (i18n)\n\n- [Starlette-Babel](https://github.com/alex-oleshkevich/starlette_babel) ★19 - Provides translations, localization, and timezone support via Babel integration.\n\n### Routing\n\n- [DecoRouter](https://github.com/MrPigss/DecoRouter) ★23 - FastAPI-style routing for Starlette using decorators.\n- [starlette-dispatch](https://github.com/alex-oleshkevich/starlette-dispatch) - Routing extensions and dependency injection for Starlette.\n\n### Static Files\n\n- [Starlette-StaticResources](https://github.com/DavidVentura/starlette-static-resources) ★0 - Allows mounting package resources for static data, similar to `StaticFiles`.\n- ⚠️ [starlette-files](https://github.com/accent-starlette/starlette-files) ★11 - (Archived) Save files using S3 or local FS, with image manipulation options, from the `accent-starlette` project group.\n\n### WebSockets\n\n- [ChannelBox](https://github.com/Sobolev5/channel-box) ★16 - Solution for WebSocket broadcast; send messages to channel groups from anywhere in your code. [Demo Chat](https://channel-box.andrey-sobolev.ru/)\n- [Nejma](https://github.com/taoufik07/nejma) ★47 - Manage and send messages to groups of WebSocket channels. [Demo Chat](https://github.com/taoufik07/nejma-chat)\n\n## Frameworks\n\n*Frameworks built using Starlette as a core component.*\n\n- [FastAPI](https://github.com/tiangolo/fastapi) ★82829 - 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/)\n- [Ellar](https://github.com/eadwinCode/ellar) ★55 - 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/)\n- [Flama](https://github.com/vortico/flama) ★274 - Data-science oriented framework to rapidly build modern and robust machine learning APIs with automatic deployment. [Docs](https://flama.dev/)\n- [Shiny](https://github.com/posit-dev/py-shiny) ★1431 - Effortless Python web applications using reactive programming, built by Posit (formerly RStudio). [Docs](https://shiny.posit.co/py/)\n- ⚠️ [Dark Star](https://github.com/lllama/dark-star) ★19 - (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)\n- ⚠️ [Greppo](https://github.com/greppo-io/greppo) ★399 - (Inactive) Python framework for building geospatial dashboards and web-applications with data mutation hooks. [Docs](https://docs.greppo.io/)\n- ⚠️ [Responder](https://github.com/taoufik07/responder) ★3604 - (Archived) A familiar HTTP Service Framework for Python, built on Starlette and uvloop. [Docs](https://python-responder.org/en/latest/)\n- ⚠️ [Starlette-apps](https://github.com/yourlabs/starlette-apps) ★3 - (Inactive) Roll your own framework with a simple app system, like Django-GDAPS or CakePHP.\n- ⚠️ [Xpresso](https://github.com/adriangb/xpresso) ★180 - (Abandonned) Flexible and extendable web framework built on top of Starlette, Pydantic and `di`. [Docs](https://xpresso-api.dev/)\n\n## Starter / App Templates\n\n- [StarletteStarter](https://github.com/jockerz/StarletteStarter) ★5 - Starlette web application starter. Ready with Register, Login, Forgot Password, Setting and more pages.\n- [Starlette-template](https://github.com/alex-oleshkevich/starlette-template) ★1 - A comprehensive project starter for Starlette web applications, prioritizing developer experience with built-in features like authentication, database management, and deployment tooling.\n\n\n## Contributing\n\nContributions are welcome! Please read the [contributing guidelines](CONTRIBUTING.md) (if one exists in the repository, otherwise encourage PRs/Issues) before submitting your suggestions. Ensure your pull request follows the general structure of this list.\n\n## About\n\nThis list aims to be a comprehensive collection of useful packages and resources for Starlette developers. It was originally forked from the unmaintained \u003chttps://github.com/shitianfang/awesome-starlette\u003e and has been significantly updated and expanded.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsfermigier%2Fawesome-starlette","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsfermigier%2Fawesome-starlette","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsfermigier%2Fawesome-starlette/lists"}