emmett-framework/granian

A Rust HTTP server for Python applications

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 4 minutes ago
Added to GitGenius on September 12th, 2026
Created on April 15th, 2022
Open Issues & Pull Requests: 42 (+0)
GitHub issues: Enabled
Number of forks: 174
Total Stargazers: 5,634 (+0)
Total Subscribers: 42 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 7.0 hours
Mean response time: 29.1 days
90th percentile: 43.5 days
Tracked items: 210

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 93% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "wsgi" is answered fastest, typically in about 2 hours, while "enhancement" waits about 2 days. Only 9% of issues opened in the past year have been closed. Three people close 96% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 30
New in 7 days: 2
Closed in 7 days: 1
Avg open age: 347 days
Stale 30+ days: 23
Stale 90+ days: 18

Recent activity

Opened in 7 days: 2
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (45)
  • enhancement (44)
  • asgi (27)
  • wontfix (26)
  • invalid (17)
  • wsgi (13)
  • rsgi (7)
  • help wanted (6)

Most active issues this week

Detailed Description

Granian is a Rust HTTP server for Python applications.

Granian addresses the need for a performant, unified HTTP server for Python by implementing a single correct HTTP implementation supporting versions 1 and 2 on top of Hyper and Tokio. Rather than composing multiple dependencies like Gunicorn, uvicorn, and http-tools, it provides a single package across platforms. The tool supports ASGI, WSGI, and RSGI interface applications, handles HTTPS and mTLS, includes WebSocket support, and can serve static files directly.

Granian suits projects prioritizing throughput and modern HTTP/2 performance for both ASGI and WSGI applications, particularly those needing strong concurrency capabilities with WebSockets. It is not the right choice if your application requires a pure Python solution, relies on trio or gevent, needs advanced debugging features, or depends on ASGI extensions not yet implemented in the tool. The README explicitly notes that existing alternatives exist but does not name them for comparison.

The project maintains active engagement with issues and feature requests, as evidenced by documented discussions around unimplemented ASGI extensions. Development appears focused on expanding protocol support, with HTTP/3 mentioned as an eventual addition. The tool integrates with Python's standard logging module rather than imposing its own logging system, reflecting attention to Python ecosystem conventions.