17 repository-uri
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 este un framework HTTP JavaScript minimal conceput pentru construirea de servere web pe mai multe runtime-uri, inclusiv Node.js, edge runtimes și platforme serverless. Acesta funcționează ca un server web cross-runtime și un wrapper pentru API-urile web standard, normalizând diverse obiecte de cerere și răspuns ale runtime-urilor în semnături standard Web API. Proiectul servește drept orchestrator de middleware HTTP și handler de cereri, utilizând un pipeline de cereri bazat pe middleware și montarea ierarhică a rutelor pentru a crea structuri de server modulare. Se distinge printr-un wrapper de evenimente agnostic față de runtime, care asigură un comportament consistent indiferent de mediul de deployment. Framework-ul acoperă o gamă largă de capabilități, inclusiv rutarea cererilor HTTP cu capturarea dinamică a parametrilor, comunicare WebSocket în timp real și măsuri de securitate cuprinzătoare, cum ar fi gestionarea CORS și autentificarea de bază. De asemenea, oferă utilitare pentru gestionarea sesiunilor prin cookie-uri, servirea activelor statice și gestionarea traficului prin proxy-uri de cereri și redirecționări URL. Proiectul este implementat în TypeScript.
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 este un framework API în timp real și un backend MongoDB ca serviciu care permite crearea de interfețe de rețea care sincronizează datele și evenimentele între clienți și servere. Funcționează ca un middleware API JavaScript care poate fi integrat cu servere HTTP pentru a oferi autentificare, interceptori de cereri și capabilități în timp real. Proiectul dispune de un dashboard de gestionare API self-hosted pentru configurarea setărilor resurselor, gestionarea colecțiilor de date și monitorizarea stării serverului printr-o interfață web. Include un motor de sincronizare a datelor în timp real care trimite actualizări live ale bazei de date către clienții conectați folosind socket-uri. Sistemul acoperă gestionarea datelor backend cu validarea schemei și interogări recursive, precum și fluxuri de lucru de autentificare a utilizatorilor care urmăresc sesiunile între cereri stateless și conexiuni persistente. De asemenea, oferă capabilități pentru difuzarea evenimentelor în timp real, extensia middleware API personalizată prin module și controlul accesului administrativ. Proiectul include un CLI pentru a boota proiecte noi și a rula servere de dezvoltare.
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 este un framework bazat pe specificații pentru construirea de API-uri care mapează automat specificațiile OpenAPI la logica aplicației. Utilizează aceste specificații pentru a automatiza rutarea, validarea cererilor și serializarea răspunsurilor, legând operațiunile API de funcțiile handler backend prin ID-uri de operațiune. Proiectul se diferențiază prin furnizarea unui server mock bazat pe schemă care simulează comportamentul API-ului folosind răspunsuri exemplu din specificație, fără a necesita logică backend. Include, de asemenea, un sistem de găzduire a documentației dinamice care traduce specificația API într-o consolă interactivă live pentru explorarea și testarea endpoint-urilor. Framework-ul acoperă domenii largi de capabilități, inclusiv aplicarea securității prin autentificare bazată pe middleware și validarea scope-ului, logică de validare pluggable pentru cereri și răspunsuri, și injectarea automată a parametrilor în argumentele funcțiilor tipizate. Oferă, de asemenea, utilitare pentru gestionarea ciclului de viață al aplicației, integrarea middleware-ului personalizat și simularea cererilor pentru testare. Proiectul poate fi utilizat pentru a bootstrap-a aplicații web standalone sau poate fi integrat în framework-uri existente pentru a adăuga capabilități bazate pe specificații.
Provides hooks to execute initialization and teardown code during the application lifecycle.
Connexion este un framework web Python de tip spec-first conceput pentru a deriva comportamentul serverului și logica de validare direct dintr-un contract API predefinit. Permite dezvoltarea de servicii web prin utilizarea unei specificații OpenAPI pentru a gestiona automat rutarea, validarea cererilor și serializarea răspunsurilor. Framework-ul se distinge prin faptul că acționează ca un validator de cereri OpenAPI și server mock. Poate simula comportamentul API-ului prin servirea de răspunsuri exemplu bazate pe schemele specificației, permițând dezvoltarea frontend-ului și prototiparea înainte ca implementarea backend-ului să fie finalizată. În plus, găzduiește o interfață de documentație API interactivă, oferind o consolă pentru utilizatori pentru a vizualiza și testa endpoint-urile. Proiectul acoperă o gamă largă de capabilități, inclusiv înregistrarea automată a rutelor, injectarea parametrilor și aplicarea securității bazată pe definițiile contractului. Oferă, de asemenea, instrumente pentru validarea schemei atât a cererilor, cât și a răspunsurilor, precum și capacitatea de a mapa excepțiile aplicației la răspunsuri de eroare standardizate, lizibile de către mașină.
Integrates resource initialization and cleanup logic with the ASGI application lifecycle events.
Nominatim este un motor de căutare geospațială self-hosted și un server de geocodare care utilizează date OpenStreetMap. Oferă o infrastructură completă pentru geocodare directă, convertind adresele sau numele locurilor în coordonate geografice, și geocodare inversă, traducând coordonatele în adrese fizice lizibile pentru oameni. Proiectul dispune de un importator de date dedicat care parsează datele brute de hartă într-o bază de date geospațială PostgreSQL. Se distinge printr-un pipeline de import configurabil care utilizează fișiere de stil pentru a filtra caracteristicile hărții și un sistem de clasificare bazat pe importanță pentru a prioritiza rezultatele căutării pe baza popularității și a tipului de caracteristică. Sistemul acoperă o gamă largă de capabilități, inclusiv indexarea spațială, calculul ierarhic al adreselor și indexarea căutării bazată pe token-uri pentru căutări fuzzy. Suportă integrarea seturilor de date externe pentru numere de casă și centroizi de cod poștal, precum și replicarea incrementală a datelor pentru a menține seturile de date locale sincronizate cu sursele globale. Serviciul este implementat ca o aplicație web bazată pe ASGI, oferind un API de căutare geospațială cu suport pentru mai multe formate de ieșire, inclusiv JSON, GeoJSON și XML.
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.