Pounce provides a comprehensive feature set for modern web applications, with particular focus on production deployment, observability, and developer experience.
Core Protocol Support
- HTTP/1.1 — Pure Python (h11) + fast built-in parser (~3 µs/req)
- HTTP/2 — Stream multiplexing, header compression, priority signals
- WebSocket — Full RFC 6455 support with compression
- HTTP/3 — QUIC/UDP via bengal-zoomies (requires TLS)
Production Features
Static File Serving
Chunked file serving with ETags, range requests, and pre-compressed file support.
Middleware System
ASGI3 middleware stack for request/response transformation.
WebSocket Compression
permessage-deflate compression (RFC 7692) with automatic negotiation.
Graceful Reload
Zero-downtime code updates with rolling worker restart.
Development Error Pages
Rich HTML error pages with syntax highlighting and security-safe production mode.
OpenTelemetry Integration
Native distributed tracing with automatic span creation and W3C Trace Context.
Connection Draining
Production-grade graceful shutdown with Kubernetes support.
Lifecycle Logging
Structured event logging for production debugging with correlation IDs.
Observability
- Structured logging — JSON or text format
- OpenTelemetry — Native OTLP exporter
- Lifecycle events — Connection and request tracking
- Server-Timing headers — Built-in performance metrics
- Prometheus metrics — Built-in collector
Learn more about observability →
Development Experience
- Auto-reload — Watch files and restart on changes
- Rich error pages — Syntax-highlighted tracebacks
- CLI interface — Simple command-line usage
- Type-safe configuration — Validated at startup
Deployment Features
- Worker management — Threads (3.14t) or processes (GIL)
- Graceful shutdown — Kubernetes-ready
- TLS/SSL — TLS 1.3 support
- Compression — zstd, gzip
- Health checks — Configurable health check endpoint (opt-in via
health_check_path)