Chirp 0.1.9
Route directory contract, sync-path improvements, route introspection, and synthetic benchmarks
Key additions: a documented route-directory golden path, faster sync request handling, debug route introspection, and a synthetic benchmark suite.
Highlights
Route Directory Golden Path
Filesystem routes now have a clearer contract for app-shell projects:
_meta.pyfor titles, sections, breadcrumbs, and shell mode_context.pyfor inherited route context_actions.pyfor_action-driven form mutations_viewmodel.pyfor template assembly when a route needs more than a simple handler
The new route-directory guide and route-contract reference document how these files work together, andapp.check()now validates section bindings, shell-mode expectations, and route-file consistency.
Sync Path and Request Handling
Chirp now exposes a fused sync path throughApp.handle_sync() for simple request-response routes. The new SyncRequestkeeps method and path eager while URL query values, cookies, and headers stay lazy until accessed.
On the standard ASGI path, sync handlers also avoid blocking the event loop, so the framework is safer under mixed sync/async workloads even when a route does not use the fused path.
Route Introspection in Debug Mode
Debug builds now include route-focused introspection tools:
X-Chirp-Route-*headers for route kind, section, metadata, and discovered files/__chirp/routesexplorer for drilling into layouts, providers, actions, handler signatures, and route metadata
These additions make filesystem routing and app-shell debugging much easier without adding production surface area.
Synthetic Benchmarks
Chirp now ships a synthetic benchmark suite for comparing Chirp, FastAPI, and Flask across JSON and CPU workloads, plus Chirp-specific fused sync and mixed JSON+SSE scenarios.
The benchmark docs explicitly frame these as synthetic tests, not production claims, and the newbenchmarkextra installs the comparison stack when you want to run them locally.
Changed
- Route contracts — Section registration, shell context assembly, fragment-target expectations, and route metadata are now first-class parts of the filesystem routing model.
- CLI scaffolds —
chirp newnow keeps its templates in dedicated modules, with updated shell and SSE scaffolds. - Package metadata — Homepage/docs URLs now point to the published site, and the project metadata better reflects Chirp's HTMX + HTML-over-the-wire positioning.
Dependencies
kida-templates>=0.2.7bengal-pounce>=0.2.2chirp-ui>=0.1.6(optional, forchirp[ui])
Breaking Changes
None. This release adds new routing structure, diagnostics, and performance-oriented paths without changing the existing public programming model.
Upgrading
Optional extras:
- UI layer:
pip install "bengal-chirp[ui]" - Benchmark suite:
pip install "bengal-chirp[benchmark]"