17 Repos
Web frameworks that implement the Asynchronous Server Gateway Interface for interoperability with various ASGI servers.
Distinct from Web Server Frameworks: Distinct from Web Server Frameworks: specifically focuses on the ASGI standard for asynchronous interoperability.
Explore 17 awesome GitHub repositories matching web development · ASGI Frameworks. Refine with filters or upvote what's useful.
Sanic is a Python ASGI web framework and asynchronous HTTP server. It is designed to build high-performance web applications and servers that handle concurrent requests using non-blocking logic. The framework implements the Asynchronous Server Gateway Interface standard, allowing applications to be deployed across various ASGI-compatible servers. It utilizes an asyncio-based event loop and integrates a Cython-based runtime wrapper around libuv to manage I/O operations. The system manages traffic through route-based request dispatching and a middleware-based request pipeline. These components
Serves as an ASGI-compatible framework for building asynchronous web applications.
Starlette is an asynchronous web framework and toolkit for building high-performance web services based on the ASGI specification. It serves as a lightweight foundation for creating web applications with a focus on asynchronous request and response handling. The framework provides specialized toolkits for managing persistent bidirectional WebSocket communication and an asynchronous HTTP server toolkit for routing and middleware. It distinguishes itself by offering a non-blocking background task queue that executes functions after a response has been sent to the client. The project covers a b
Implements the ASGI specification to enable high-performance, non-blocking asynchronous web service development.
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
Implements a lightweight web framework based on the ASGI specification for high-performance asynchronous services.
Falcon is a minimalist Python web API framework and high-performance microservices framework. It serves as a resource-oriented API toolkit designed for building RESTful APIs and data plane services that prioritize low overhead, reliability, and scale. The framework implements an ASGI web server interface to handle both synchronous and asynchronous HTTP requests and WebSockets. It features a dedicated HTTP middleware system for intercepting network traffic and executing shared processing logic across multiple API endpoints. Its capability surface covers resource-based routing, HTTP specificat
Implements the ASGI specification to provide interoperability between asynchronous Python applications and web servers.
Litestar is a high-performance Python ASGI web framework designed for building asynchronous APIs and web services. It functions as a type-safe toolkit that leverages Python type hints to provide automatic request validation and response serialization, while natively generating interactive API documentation based on the OpenAPI specification. The framework is distinguished by its integrated dependency injection system, which manages shared resources and resolves complex nested service chains directly within request handlers. It further organizes API development through class-based controllers
Functions as a high-performance Python web framework implementing the ASGI standard for asynchronous interoperability.
Octokit.js is a GitHub API SDK used to interact with GitHub via REST and GraphQL interfaces. It serves as a client for executing typed queries and mutations, managing authenticated REST requests, and handling signed webhooks across Node.js, Deno, and browser environments. The library features a plugin-based request pipeline and an adapter-based HTTP client, allowing the interception of requests and responses across different runtimes. It employs strategy-based authentication to separate credential management from request logic, supporting static tokens, OAuth flows, and GitHub App installatio
Provides pre-built server middleware to handle webhook endpoints and process OAuth redirect routes.
Hono ist ein minimales JavaScript-HTTP-Framework, das für den Aufbau von Webservern über mehrere Runtimes hinweg entwickelt wurde, einschließlich Node.js, Edge-Runtimes und Serverless-Plattformen. Es fungiert als Cross-Runtime-Webserver und Web-Standard-API-Wrapper, der verschiedene Runtime-Request- und Response-Objekte in Standard-Web-API-Signaturen normalisiert. Das Projekt dient als HTTP-Middleware-Orchestrator und Request-Handler, der eine Middleware-basierte Request-Pipeline und hierarchisches Routen-Mounting nutzt, um modulare Serverstrukturen zu erstellen. Es zeichnet sich durch einen Runtime-agnostischen Event-Wrapper aus, der konsistentes Verhalten unabhängig von der Bereitstellungsumgebung gewährleistet. Das Framework deckt ein breites Spektrum an Funktionen ab, einschließlich HTTP-Request-Routing mit dynamischer Parametererfassung, Echtzeit-WebSocket-Kommunikation und umfassenden Sicherheitsmaßnahmen wie CORS-Management und Basic-Authentifizierung. Zudem bietet es Hilfsmittel für das Sitzungsmanagement via Cookies, statisches Asset-Serving und Traffic-Management durch Request-Proxying und URL-Weiterleitung. Das Projekt ist in TypeScript implementiert.
Connects existing third-party middleware to the modern server environment to maintain compatibility with older libraries.
FastStream is an asynchronous Python framework designed for building event-driven microservices. It provides a unified abstraction layer for interacting with various message brokers, enabling developers to manage event production and consumption through a consistent interface while maintaining access to native provider-specific features. The framework centers on a decorator-based routing model that binds application logic directly to broker topics, supported by a built-in dependency injection container that resolves resources at runtime. The framework distinguishes itself through its deep int
Executes startup and shutdown routines to initialize connections or clean up resources in sync with application lifecycles.
deployd ist ein Echtzeit-API-Framework und ein MongoDB-Backend-as-a-Service, das die Erstellung vernetzter Interfaces ermöglicht, die Daten und Ereignisse zwischen Clients und Servern synchronisieren. Es fungiert als JavaScript-API-Middleware, die in HTTP-Server integriert werden kann, um Authentifizierung, Request-Interceptors und Echtzeitfunktionen bereitzustellen. Das Projekt bietet ein selbst gehostetes API-Management-Dashboard zur Konfiguration von Ressourceneinstellungen, zur Verwaltung von Datensammlungen und zur Überwachung des Serverstatus über ein webbasiertes Interface. Es enthält eine Echtzeit-Datensynchronisations-Engine, die Live-Datenbankaktualisierungen über Sockets an verbundene Clients sendet. Das System deckt Backend-Datenmanagement mit Schema-Validierung und rekursiven Abfragen ab sowie Benutzerauthentifizierungs-Workflows, die Sitzungen über zustandslose Anfragen und persistente Verbindungen hinweg verfolgen. Es bietet zudem Funktionen für Echtzeit-Event-Broadcasting, benutzerdefinierte API-Middleware-Erweiterung über Module und administrative Zugriffskontrolle. Das Projekt enthält ein CLI zum Bootstrapping neuer Projekte und zum Ausführen von Entwicklungsservern.
Integrates as middleware to add real-time API capabilities and request handling to existing web servers.
This is a dependency injection framework and inversion of control container for Python. It decouples object creation from business logic by managing how services and their dependencies are assembled, delivered, and linked within an application. The framework is distinguished by its ability to perform automated component wiring, using import hooks and decorators to inject dependencies into functions and classes across different modules. It supports non-blocking flows through an asynchronous dependency resolver and manages the initialization and shutdown sequences of shared external resources a
Binds resource initialization and shutdown sequences to the ASGI application lifecycle to ensure components start and stop correctly.
Strawberry is a type-safe GraphQL library for Python that enables the design of schemas using Python type annotations and dataclasses. It functions as an asynchronous GraphQL server and execution engine, providing a bridge to expose schemas across ASGI-compliant web frameworks such as FastAPI, Django, Flask, and Litestar. The project implements GraphQL Federation, allowing for the creation of distributed schemas and entities that merge into a unified supergraph across multiple services. It also includes a dedicated toolkit for the Relay specification, supporting global object identification a
Exposes GraphQL schemas over HTTP and WebSockets using the ASGI specification for asynchronous server interoperability.
Connexion ist ein spezifikationsgetriebenes Framework für den Bau von APIs, das OpenAPI-Spezifikationen automatisch auf Anwendungslogik abbildet. Es nutzt diese Spezifikationen, um Routing, Request-Validierung und Response-Serialisierung zu automatisieren und API-Operationen über Operations-IDs mit Backend-Handler-Funktionen zu verknüpfen. Das Projekt zeichnet sich dadurch aus, dass es einen schema-getriebenen Mock-Server bereitstellt, der API-Verhalten unter Verwendung von Beispielantworten aus der Spezifikation simuliert, ohne Backend-Logik zu erfordern. Es enthält zudem ein dynamisches Dokumentations-Hosting-System, das die API-Spezifikation in eine interaktive Live-Konsole zum Erkunden und Testen von Endpunkten übersetzt. Das Framework deckt breite Funktionsbereiche ab, einschließlich Sicherheitsdurchsetzung durch Middleware-basierte Authentifizierung und Scope-Validierung, austauschbare Request- und Response-Validierungslogik sowie automatisierte Parameter-Injektion in typisierte Funktionsargumente. Es bietet zudem Dienstprogramme für das Application-Lifespan-Management, Middleware-Integration und Request-Simulation für Tests. Das Projekt kann verwendet werden, um Standalone-Webanwendungen zu booten oder bestehende Frameworks zu umhüllen, um spezifikationsgetriebene Funktionen hinzuzufügen.
Provides hooks to execute initialization and teardown code during the application lifecycle.
Connexion ist ein Spec-First-Python-Webframework, das darauf ausgelegt ist, Serververhalten und Validierungslogik direkt aus einem vordefinierten API-Vertrag abzuleiten. Es ermöglicht die Entwicklung von Webdiensten durch die Verwendung einer OpenAPI-Spezifikation, um Routing, Request-Validierung und Response-Serialisierung automatisch zu handhaben. Das Framework zeichnet sich dadurch aus, dass es als OpenAPI-Request-Validator und Mock-Server fungiert. Es kann API-Verhalten simulieren, indem es Beispielantworten basierend auf Spezifikationsschemata bereitstellt, was Frontend-Entwicklung und Prototyping vor Abschluss der Backend-Implementierung ermöglicht. Zudem hostet es eine interaktive API-Dokumentationsschnittstelle, die Benutzern eine Konsole zur Visualisierung und zum Testen von Endpunkten bietet. Das Projekt deckt ein breites Spektrum an Funktionen ab, einschließlich automatisierter Routenregistrierung, Parameter-Injektion und Sicherheitsdurchsetzung basierend auf Vertragsdefinitionen. Es bietet zudem Tools zur Schema-Validierung von Requests und Responses sowie die Möglichkeit, Anwendungs-Exceptions auf standardisierte maschinenlesbare Fehlerantworten abzubilden.
Integrates resource initialization and cleanup logic with the ASGI application lifecycle events.
Nominatim is a self-hosted geospatial search engine and geocoding server that utilizes OpenStreetMap data. It provides a complete infrastructure for forward geocoding, converting addresses or place names into geographic coordinates, and reverse geocoding, translating coordinates into human-readable physical addresses. The project features a dedicated data importer that parses raw map data into a PostgreSQL geospatial database. It distinguishes itself through a configurable import pipeline that uses style files to filter map features and an importance-based ranking system to prioritize search
Runs as a web application using an ASGI framework to serve geocoding requests over HTTP.
Quart is an asynchronous Python web framework that implements the ASGI specification. It is used to build high-performance HTTP and WebSocket services, JSON REST APIs, and web applications using async and await syntax for non-blocking request handling. The framework supports persistent bidirectional communication via WebSocket API servers and enables the proactive delivery of assets through HTTP server push. It also includes a template engine for rendering dynamic HTML web pages and supports incremental request and response streaming to manage large payloads. General capabilities cover reque
Implements the ASGI specification to ensure interoperability with various asynchronous Python web servers.
Provides guidance on implementing middleware directly on the ASGI interface for better performance.
AWS Powertools for Python is a utility framework designed for building production-ready Python functions on AWS Lambda. It provides a comprehensive suite of tools for observability, event parsing, routing, and idempotency management to streamline the development of serverless applications. The project distinguishes itself through specialized capabilities for event-driven architectures and AI agent orchestration. It enables the implementation of AI agents by exposing functions as tools via OpenAPI schemas and managing conversation states. Additionally, it features an idempotency library that p
Implements the ASGI specification to enable local testing and execution of serverless APIs.