0.1.0
Initial release — free-threading-native ASGI server with HTTP/2, WebSocket, TLS, and multi-worker
Highlights
- Free-threading native — Built for Python 3.14t (nogil); uses threads when GIL is disabled, processes when enabled
- Full protocol support — HTTP/1.1, HTTP/2, WebSocket, TLS termination
- Multi-worker — Auto-detects GIL state; scales across CPU cores with SO_REUSEPORT or shared sockets
- Dev workflow —
--reloadwith file watcher, hot module reimport, app factory support - Optional speed —
pounce[fast]for C-accelerated HTTP parsing via httptools
Protocol & Features
- HTTP/2 — ALPN negotiation, stream multiplexing, WebSocket over H2 (RFC 8441), priority signals (RFC 9218)
- WebSocket — Full ASGI lifecycle, RFC 6455 compliant
- TLS —
--ssl-certfile,--ssl-keyfile, secure defaults, ALPN - Compression — zstd and gzip content-encoding with Accept-Encoding negotiation
- Keep-alive — Configurable
--keep-alive-timeout,--max-requests-per-connection
Developer Experience
- Dev reload —
--reloadwatches source files and restarts workers - Configurable watch —
--reload-includeand--reload-dirfor templates and assets - App factory —
pounce "myapp:create_app()"works out of the box - Lifecycle scopes — Per-worker startup/shutdown hooks for async resource setup
Status
- 188+ tests (unit, integration, ASGI 3.0 compliance)
- HTTP/1.1, HTTP/2, WebSocket, TLS, multi-worker
- ASGI 3.0 compliant
Install
uv add "bengal-pounce==0.1.0"