# kludex/starlette

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/kludex-starlette).**

12,397 stars · 1,201 forks · Python · BSD-3-Clause

## Links

- GitHub: https://github.com/Kludex/starlette
- Homepage: https://starlette.dev
- awesome-repositories: https://awesome-repositories.com/repository/kludex-starlette.md

## Topics

`asgi` `async` `http` `python` `websockets`

## Description

Starlette is a lightweight ASGI web framework and asynchronous HTTP toolkit used to build high-performance HTTP and WebSocket services. It functions as a WebSocket server framework and a collection of ASGI middleware components for managing network requests through non-blocking asynchronous logic.

The framework provides tools for real-time communication via persistent bidirectional channels and infrastructure for high-performance APIs. It includes specialized capabilities for response compression, incremental data streaming, and the execution of non-blocking background tasks after a response is sent.

The toolkit covers a broad surface of web application needs, including static asset delivery, session management, and cross-origin resource sharing configuration. It also provides mechanisms for managing the application lifecycle through startup and shutdown events.

## Tags

### Web Development

- [High-Performance Web Services](https://awesome-repositories.com/f/web-development/high-performance-web-services.md) — Provides a lightweight ASGI framework for building high-performance, low-latency asynchronous HTTP and WebSocket services. ([source](https://github.com/kludex/starlette#readme))
- [ASGI Frameworks](https://awesome-repositories.com/f/web-development/web-server-frameworks/asgi-frameworks.md) — Implements a lightweight web framework based on the ASGI specification for high-performance asynchronous services.
- [Asynchronous Server Toolkits](https://awesome-repositories.com/f/web-development/asynchronous-server-toolkits.md) — Offers a toolkit of utilities for managing asynchronous request-response lifecycles, including non-blocking routing and streaming responses.
- [Asynchronous Web Frameworks](https://awesome-repositories.com/f/web-development/asynchronous-web-frameworks.md) — Serves as a high-performance server foundation built on a non-blocking execution model for concurrent request processing.
- [Real-Time Communication](https://awesome-repositories.com/f/web-development/real-time-communication.md) — Enables real-time, bidirectional data streaming between clients and servers using the WebSocket protocol.
- [ASGI-Based](https://awesome-repositories.com/f/web-development/request-handling/asgi-based.md) — Implements the Asynchronous Server Gateway Interface (ASGI) to handle concurrent network requests through a non-blocking interface.
- [Middleware Libraries](https://awesome-repositories.com/f/web-development/web-server-frameworks/asgi-frameworks/middleware-libraries.md) — Provides a comprehensive collection of pluggable ASGI middleware for session management, GZip compression, and CORS configuration.
- [Response Streaming](https://awesome-repositories.com/f/web-development/backend-development/request-response-handling/http-response-handling/response-streaming.md) — Sends data to clients in small chunks using asynchronous generators to avoid loading large payloads into memory.
- [Asynchronous API Routing](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/routing-request-handling/asynchronous-api-routing.md) — Provides an asynchronous routing system that maps incoming URL paths to handler functions efficiently.
- [Static Asset Serving](https://awesome-repositories.com/f/web-development/web-infrastructure-deployment/web-server-capabilities/static-asset-serving.md) — Includes capabilities for delivering static assets like images, CSS, and JavaScript from the file system. ([source](https://github.com/kludex/starlette#readme))

### Networking & Communication

- [Application Middleware](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/request-processing-architectures/request-processing/application-middleware.md) — Offers a collection of ASGI middleware for managing session state, CORS, and request-response lifecycles.
- [Middleware-Based Request Pipelines](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/request-processing-architectures/request-processing/middleware-based-request-pipelines.md) — Ships a modular pipeline of pluggable middleware components to intercept and modify network requests and responses.
- [WebSocket Servers](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/communication-protocols/websocket-implementations/websocket-servers.md) — Implements a WebSocket server framework for managing persistent, bidirectional communication channels for real-time data exchange. ([source](https://github.com/kludex/starlette#readme))
- [WebSocket Servers](https://awesome-repositories.com/f/networking-communication/websocket-servers.md) — Provides a server framework for managing persistent, bidirectional WebSocket communication channels.

### Software Engineering & Architecture

- [High-Performance API Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/high-performance-api-frameworks.md) — Provides a lightweight framework optimized for low-latency, high-throughput API communication with built-in streaming and compression.

### Development Tools & Productivity

- [Post-Response Task Execution](https://awesome-repositories.com/f/development-tools-productivity/task-execution/blocking-task-offloaders/post-response-task-execution.md) — Schedules non-blocking functions to run after the response is sent to reduce perceived client latency.

### DevOps & Infrastructure

- [Background Task Runners](https://awesome-repositories.com/f/devops-infrastructure/automation-orchestration/task-execution-frameworks/task-job-management/background-task-runners.md) — Provides mechanisms to run non-blocking background operations in-process after sending a response. ([source](https://github.com/kludex/starlette#readme))

### Part of an Awesome List

- [Web Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/web-frameworks.md) — A lightweight ASGI framework for building high-performance async services.
