Skip to content

Latest commit

 

History

History
58 lines (52 loc) · 5.29 KB

File metadata and controls

58 lines (52 loc) · 5.29 KB

CLI feature matrix

Reviewed on: 2026-03-28

Legend:

  • C-RFC — tigrcorn implements the surface and includes it in the current certified RFC boundary.
  • C-OP — tigrcorn implements the surface and includes it in the current certified public/operator surface.
  • S — current official docs show first-class public support.
  • Cfg — current official docs show public support through a primary config surface rather than a dedicated CLI switch.
  • P — partial, optional, qualified, or draft support.
  • M — middleware/wrapper based support instead of a first-class server surface.
  • O — intentionally outside tigrcorn's current product boundary.
  • — no current official public support claim found in the reviewed primary docs.
CLI feature family Tigrcorn Uvicorn Hypercorn Granian Notes
App factory loading C-OP S S Granian and Uvicorn expose --factory; Hypercorn expects an app object path.
Working-dir / app-dir control C-OP S Cfg S Hypercorn exposes application_path via config.
Config file loading C-OP S Hypercorn supports TOML/Python/module config.
Env-file loading C-OP S S Granian requires its dotenv extra for env files.
Env-prefix override C-OP tigrcorn-only public env-prefix surface.
Reload + watch filters C-OP S P S Hypercorn documents reload; Granian documents reload paths/ignore controls.
Workers + recycling C-OP S S S All four expose worker/process controls; exact semantics differ.
Runtime / worker-class selection C-OP P S S Uvicorn exposes loop/http/ws selectors; Hypercorn exposes worker class; Granian exposes loop/runtime mode/task implementation.
Host / port bind C-OP S S S Common across all four.
Unix domain socket bind C-OP S S S Common across all four.
FD bind C-OP S S Granian docs do not expose an FD bind in the reviewed README.
Multi-bind / endpoint grammar C-OP S P Hypercorn documents multiple binds; Granian exposes route/mount pairs but not Hypercorn-style bind grammar.
QUIC / HTTP/3 bind C-OP S Hypercorn exposes --quic-bind; Uvicorn and Granian do not in the reviewed docs.
Transport selection incl. pipe/inproc/raw C-OP tigrcorn-only surface.
Socket ownership / permissions C-OP S S Hypercorn exposes user/group/umask; Granian exposes UDS permissions and process controls.
Server-native static route / mount C-OP S Granian and tigrcorn expose first-class static serving.
Static dir-to-file / index control C-OP S Granian exposes --static-path-dir-to-file; tigrcorn also exposes explicit index policy controls.
Static expires control C-OP S Granian and tigrcorn expose explicit static expiry controls.
TLS key / cert input C-OP S S S All four expose basic TLS material input.
Encrypted key password C-OP S S S All peers now document password-protected key support.
CA / client-cert verification C-OP S S S All peers expose a public client-cert verification path.
Direct CRL file input C-OP S tigrcorn and Granian expose direct CRL material input in the reviewed docs.
OCSP controls C-OP tigrcorn-only public OCSP mode/cache/soft-fail surface in this comparison.
ALPN controls C-OP Cfg Hypercorn documents ALPN via config; tigrcorn exposes a CLI surface.
Proxy trust controls C-OP S M M Hypercorn points to ProxyFixMiddleware; Granian points to proxy wrappers.
Custom server/date/header controls C-OP S Cfg P Hypercorn exposes server/date behavior via config; Granian has url-path-prefix and process/log options but not the same header family.
Structured log / log files C-OP P S S Uvicorn supports log config; Hypercorn and Granian expose richer file-oriented logging surfaces.
Metrics / StatsD / OTel C-OP S S Hypercorn documents StatsD; Granian documents Prometheus metrics.
Timeouts / concurrency limits C-OP S S S All four expose operator-grade timeout and limit controls.
HTTP/1 tuning family C-OP P Cfg S Uvicorn documents only h11 incomplete-event size; Hypercorn exposes h11 sizing in config; Granian exposes a broader H1 family.
HTTP/2 tuning family C-OP Cfg S Hypercorn exposes H2 sizing in config; Granian exposes a larger direct CLI family.
WebSocket size / queue / ping / compression C-OP S P P Hypercorn documents size and ping interval; Granian documents WebSocket support but not the same full CLI family in the reviewed excerpt.
Alt-Svc controls C-OP Cfg Hypercorn exposes config-based Alt-Svc headers.
CONNECT / trailer / content-coding policy C-OP tigrcorn-only policy family in this comparison.

Primary peer sources:

  • Uvicorn settings: https://www.uvicorn.org/settings/
  • Hypercorn configuring/binds: https://hypercorn.readthedocs.io/en/latest/how_to_guides/configuring.html
  • Hypercorn binds: https://hypercorn.readthedocs.io/en/latest/how_to_guides/binds.html
  • Granian README / CLI help excerpt: https://github.com/emmett-framework/granian