awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
emmett-framework avatar

emmett-framework/granian

0
View on GitHub↗
5,074 stars·147 forks·Rust·bsd-3-clause·4 vues

Granian

Granian is a Rust-based HTTP server written specifically to serve Python web applications. It supports the three major Python gateway interfaces—ASGI for asynchronous apps, WSGI for synchronous apps, and RSGI for async requests—while also handling HTTP/1.1, HTTP/2, and WebSocket connections through automatic protocol negotiation.

Architecturally, Granian uses a multiprocess worker model that isolates requests across CPU cores and provides configurable threadpool-limited concurrency to control backpressure per worker. It includes built-in Prometheus metrics exposition for connection counts and request rates, startup/shutdown/reload event hooks for application lifecycle management, and a static file serving bypass that delivers assets directly without involving the application runtime. Trusted proxy header rewriting preserves original client details when the server sits behind a reverse proxy.

The server can run applications using any of the supported gateway protocols, control its own lifecycle through synchronous or asynchronous callbacks, and tune how many concurrent connections are handled per worker. It also handles forwarded headers from trusted proxies to maintain correct client address and protocol information.

Features

  • WSGI Application Servers - Serves Python applications using ASGI, WSGI, and RSGI protocols.
  • Worker Process Isolation - Uses multiple worker processes to isolate requests across CPU cores.
  • HTTP/2 and WebSocket Servers - Supports HTTP/1.1, HTTP/2, and WebSocket connections with automatic protocol negotiation.
  • Protocol Negotiation - Accepts connections over both HTTP/1.1 and HTTP/2 via protocol negotiation.
  • Automatic HTTP Protocol Selectors - Automatically selects HTTP/1.1 or HTTP/2 during connection handshake.
  • Rust-Based Python Web Servers - A high-performance HTTP server written in Rust that serves Python web applications.
  • Async-Sync Compatibility Layers - Supports both ASGI and WSGI applications within the same server runtime.
  • Lifecycle Hooks - Provides startup, shutdown, and reload hooks for server lifecycle management.
  • ASGI Request Producers - Processes incoming requests for asynchronous Python ASGI applications.
  • Rust-Based Python HTTP Servers - A high-performance HTTP server written in Rust that serves Python web applications using multiple gateway protocols.
  • Multi-Protocol Servers - Supports HTTP/1.1, HTTP/2, WebSocket, and multiple Python gateway protocols on a single server.
  • RSGI Application Servers - Process requests for applications that use an asynchronous gateway interface and return responses.
  • ASGI and WSGI Servers - Serves Python web applications using ASGI, WSGI, and RSGI gateway protocols.
  • Web Applications - Runs web applications with support for multiple protocols and WebSockets.
  • Concurrency Limits - Restricts concurrent connections per worker using configurable thread pools.
  • Startup Hooks - Executes custom callbacks at startup, shutdown, and reload events.
  • Proxy Headers - Rewrites request metadata based on forwarded headers from trusted proxies.
  • Metrics Exporters - Exposes server metrics like connection counts and request rates for monitoring.
  • Prometheus Exporters - Exposes built-in Prometheus metrics for connection counts, request rates, and threadpool statistics.
  • Prometheus-Based Metric Exporters - Exposes connection counts and request rates in standard Prometheus format.
  • Worker Threadpool Throttles - Limits concurrent connections per worker with configurable thread pools.
  • Web Servers - A Rust HTTP server for Python applications supporting WSGI/ASGI/RSGI.
  • Web Servers - Listed in the “Web Servers” section of the Awesome Python awesome list.

Historique des stars

Graphique de l'historique des stars pour emmett-framework/granianGraphique de l'historique des stars pour emmett-framework/granian

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait emmett-framework/granian ?

Granian is a Rust-based HTTP server written specifically to serve Python web applications. It supports the three major Python gateway interfaces—ASGI for asynchronous apps, WSGI for synchronous apps, and RSGI for async requests—while also handling HTTP/1.1, HTTP/2, and WebSocket connections through automatic protocol negotiation.

Quelles sont les fonctionnalités principales de emmett-framework/granian ?

Les fonctionnalités principales de emmett-framework/granian sont : WSGI Application Servers, Worker Process Isolation, HTTP/2 and WebSocket Servers, Protocol Negotiation, Automatic HTTP Protocol Selectors, Rust-Based Python Web Servers, Async-Sync Compatibility Layers, Lifecycle Hooks.

Quelles sont les alternatives open-source à emmett-framework/granian ?

Les alternatives open-source à emmett-framework/granian incluent : benoitc/gunicorn — Gunicorn is a production-grade WSGI HTTP server designed for deploying Python web applications. It functions as a… apache/brpc — brpc is a high-performance C++ RPC framework and network programming library designed for building distributed… twinproduction/gatus — Gatus is a multi-protocol health checker and automated service alerting tool. It provides a monitoring dashboard for… vectordotdev/vector — Vector is a high-performance observability data pipeline designed to collect, transform, and route logs, metrics, and… roadrunner-server/roadrunner — RoadRunner is a high-performance application server and process manager designed to serve PHP applications using a… sanic-org/sanic — Sanic is an asynchronous Python web framework designed for building high-performance APIs and services. It operates as…

Alternatives open source à Granian

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Granian.
  • benoitc/gunicornAvatar de benoitc

    benoitc/gunicorn

    10,443Voir sur GitHub↗

    Gunicorn is a production-grade WSGI HTTP server designed for deploying Python web applications. It functions as a process manager that utilizes a pre-fork worker model, where a master process initializes the application and spawns multiple child processes to handle incoming requests in parallel. This architecture ensures high performance and stability by isolating application execution within persistent worker processes. The server distinguishes itself through its flexible concurrency models and robust process lifecycle management. It supports interchangeable worker types, including synchrono

    Pythonhttphttp-serverpython
    Voir sur GitHub↗10,443
  • apache/brpcAvatar de apache

    apache/brpc

    17,545Voir sur GitHub↗

    brpc is a high-performance C++ RPC framework and network programming library designed for building distributed systems. It functions as a multi-protocol RPC server capable of hosting and detecting multiple communication protocols, including gRPC, Thrift, HTTP, Redis, and Memcached, on a single TCP port. The project distinguishes itself through high-throughput data transport and memory efficiency, utilizing RDMA-based transport to bypass the kernel TCP stack and zero-copy memory management to eliminate data duplication. It also implements the Raft algorithm for consensus-based state replicatio

    C++rpc
    Voir sur GitHub↗17,545
  • twinproduction/gatusAvatar de TwinProduction

    TwinProduction/gatus

    11,255Voir sur GitHub↗

    Gatus is a multi-protocol health checker and automated service alerting tool. It provides a monitoring dashboard for tracking the uptime and health of HTTP, TCP, DNS, and gRPC endpoints, and serves as a Prometheus metrics exporter to track response times and success rates. The project distinguishes itself with a developer-oriented approach to status pages, securing administrative access and dashboards via OpenID Connect and Basic Authentication. It supports complex network environments through SSH tunneling to monitor internal services via bastion hosts and allows remote agents to push health

    Go
    Voir sur GitHub↗11,255
  • vectordotdev/vectorAvatar de vectordotdev

    vectordotdev/vector

    22,071Voir sur GitHub↗

    Vector is a high-performance observability data pipeline designed to collect, transform, and route logs, metrics, and traces across distributed infrastructure. It functions as a modular engine that decouples data ingestion from processing and transmission, utilizing a component-based architecture to connect diverse sources to multiple destinations. The project distinguishes itself through a focus on reliability and flow control. It implements backpressure-aware data movement to prevent data loss during traffic spikes and utilizes disk-backed event buffering to ensure durability during network

    Rusteventsforwarderhacktoberfest
    Voir sur GitHub↗22,071
  • Voir les 30 alternatives à Granian→