0.2.2

Sync worker mode, CPU affinity, per-worker executor, httptools removed

Highlights

  • Sync worker mode — Blocking I/O workers for request-response workloads. On Python 3.14t, runs in threads with true parallelism. No asyncio overhead for simple apps. Streaming and WebSocket hand off to an async pool.
  • CPU affinity — Pin workers to cores on Linux for reduced cache thrashing.
  • httptools removedpounce[fast]extra removed. HTTP/1.1 is h11-only (pure Python, free-threading compatible).

Added

  • --worker-mode auto|sync|async— Choose worker execution model (default: auto)
  • --cpu-affinity— Pin each worker to a CPU core (Linux only)
  • Per-workerThreadPoolExecutorto prevent executor contention on 3.14t
  • Response frame templates and fused sync path for lower overhead
  • Performance and thread-safety documentation

Changed

  • Scope building optimized (cached ASGI version, tuples, deduplicated target split)
  • Project metadata and URLs updated

Removed

  • pounce[fast]— httptools backend removed (incompatible with free-threaded Python)

Install

uv add "bengal-pounce==0.2.2"