Skip to content

Changelog

Unreleased

Added

  • without: the narrow-waist core. The Stream / Processor / Context contracts, the four builders (from_map, from_scan, from_sink, from_fold), the wiring connectors (compose, sample, stream_from_iterable, stream_from_queue, collect, buffer, stack), and the with-scoped task helpers (background_task, limit_concurrency, sleep_forever, cancel_futures, as_async_iterator).
  • without-env: a static Context loaded once from environment variables with pydantic-settings.
  • without-configmap: a behavior source backed by a Kubernetes ConfigMap mount, reloaded with watchfiles (watches the mount directory to catch the atomic ..data symlink swap).
  • without-asgi: adapters between an ASGI app's receive/send and typed event streams, complete in both the app and server directions, plus make_asgi_app and the unopinionated routing/middleware vocabulary.
  • without-web: an opinionated HTTP/WebSocket router with trie matching, typed path parameters, converters, extractors, 405-vs-404, mounting, scoped middleware, exception handlers, and structure-recovered OpenAPI.
  • without-http: an asyncio ASGI server and connection-pooling HTTP client built on the sans-IO h11/h2/wsproto state machines, serving HTTP/1.1, HTTP/2, and WebSockets (over the HTTP/1.1 upgrade), with TLS, keep-alive, streaming and buffered bodies, trailers, and client middleware.
  • without-dag: bounded-concurrency execution of DAG-shaped async workflows, a typed Graph builder, and a single-input CompiledGraph that lifts straight into a Processor via from_map.
  • Documentation site (mkdocs-material + mkdocstrings): narrative guides, an API reference recovered from the source docstrings, and a package dependency graph derived from the workspace pyproject.toml files.