The catalog documents eighteen packages, all published at 0.0.50. The open-core expansion added quadkit-ai-llm, quadkit-ai-agents, quadkit-ai-mcp, quadkit-workflow, and quadkit-notification to the thirteen that shipped before. The catalog includes libraries you compose into an app and two tooling packages: quadkit-cli scaffolds and runs projects, while quadkit-testing boots them under test.
Package dependencies vary by family; shared interfaces belong in quadkit-contracts, and the import-boundary checks include explicit exceptions for composites and tracked edges. See Architecture and Compatibility.
Start from the CLI’s api starter, which includes the web layer; add other installed packages as needed.
uv add "quadkit-cli>=0.0.50,<0.1"quadkit new project my-app --template apicd my-appquadkit runThis catalog is the same list as the package sidebar and the landing cards. Canonical URLs live under /packages/{group}/…. Ungrouped /packages/quadkit-* paths redirect here.
Foundation
The container, the lifecycle, and the contracts everything else builds on.
| Package | Availability | What it does |
|---|---|---|
quadkit | Published | Async-first core: the DI container, application lifecycle, providers, modules, typed config, and the Result model. |
quadkit-contracts | Published | Protocols, shared types, and the exception hierarchy — zero runtime dependencies beyond typing-extensions. |
Web & HTTP
ASGI, routing, middleware, and the Result-to-HTTP bridge.
| Package | Availability | What it does |
|---|---|---|
quadkit-web | Published | The async web layer: controllers with signature-based binding, middleware pipelines, a Result-to-HTTP bridge, and OpenAPI. |
quadkit-http | Published | HTTP client with typed Result errors, retries, timeouts, and a pluggable transport for calling other services. |
AI & Agents
Model providers, agent loops, tool registries, and Model Context Protocol servers & clients.
| Package | Availability | What it does |
|---|---|---|
quadkit-ai-llm | Published | Unified async LLM layer: streaming completions, structured outputs, embeddings, cost attribution, and multi-provider adapters. |
quadkit-ai-agents | Published | Typed agent loops, `@tool` functions, handoffs, human-in-the-loop checkpoints, and structured execution traces. |
quadkit-ai-mcp | Published | Model Context Protocol servers and clients: stdio and HTTP/SSE transports, tool/resource/prompt bridges, and DI wiring. |
Data
Relational and document storage behind repositories.
| Package | Availability | What it does |
|---|---|---|
quadkit-sql | Published | Async SQL repositories: typed rows, migrations, connection pooling, and a repository base over SQLAlchemy and asyncpg. |
quadkit-cache | Published | Cache primitives: a Cache protocol, in-memory and Redis backends, stampede-safe single-flight helpers, and TTL invalidation. |
quadkit-storage | Published | Artifact storage: a BlobStore protocol, local and S3 backends, content-addressed keys, and signed URL helpers. |
Events & Notifications
Publish, subscribe, replay, and deliver multi-channel notifications.
| Package | Availability | What it does |
|---|---|---|
quadkit-events | Published | Event bus, outbox publishing, durable subscriptions, and a timeline/replay API for auditing what happened. |
quadkit-notification | Published | Multi-channel notifications: email, SMS, push, Slack, and webhook delivery with templates, user preferences, and digest batching. |
Infra & Workflows
Background work, durable DAG workflows, and operational visibility.
| Package | Availability | What it does |
|---|---|---|
quadkit-tasks | Published | Background tasks: a queue, worker pools, retries with backoff, schedules, and an HTTP console for observing runs. |
quadkit-workflow | Published | Durable workflows, DAG pipelines, state machines, human approval gates, and compensating sagas with checkpoint/resume. |
quadkit-monitor | Published | Observability: counters, histograms, structured logs, health/readiness probes, and a metrics endpoint. |
Security
Identity, sessions, and access control.
| Package | Availability | What it does |
|---|---|---|
quadkit-auth | Published | Authentication and authorization: API keys, MFA, RBAC, session stores, and login flows wired through the DI container. |
Tooling
Scaffold, run, and test a project: the CLI and the testing harness.
| Package | Availability | What it does |
|---|---|---|
quadkit-cli | Published | The quadkit command line: project scaffolding, generators, a smart runner, and admin commands. |
quadkit-testing | Published | Test harnesses, fakes, and fixtures that boot the real application in-process. |
Choosing packages
Section titled “Choosing packages”A typical web application starts like this:
quadkit new project my-app --template api # quadkit, quadkit-contracts, quadkit-webquadkit add web # wire the web section explicitlyuv add --dev quadkit-testing # test harnessquadkit add offers providers that are actually installed. A 0.0.50 PyPI install exposes all eighteen published packages.
Staged stacks: Adoption Paths. Dependency rules, extras, and runtime constraints: Compatibility.
Next Steps
Section titled “Next Steps”- Installation —
uv add quadkit-cliand scaffold - Your First App — scaffold with the CLI and run
- Architecture — the boundary rules that hold the ecosystem together
- Adoption Paths — from a hello-world route to a tested service
- Compatibility — extras, drivers, and dependency rules