Skip to content

Packages

Thirteen packages, all Apache 2.0, all alpha (0.0.x) — current release 0.0.42. The two foundation packages — quadkit and quadkit-contracts — are all you need to start. Everything else is optional: install only what the app uses.

Every extension depends only on quadkit and quadkit-contracts, never on another extension.

Foundation
quadkit → Application, container, providers, modules, Result, YAML config
quadkit-contracts → Zero dependencies (protocols, types, exceptions)
Web
quadkit-web → ASGI, controllers, routing, middleware, OpenAPI
quadkit-http → Outbound HTTP client: typed Result errors, retries, timeouts
Data
quadkit-sql → Async SQL: repositories, migrations, pooling
quadkit-cache → Cache protocol, in-memory and Redis, single-flight helpers
quadkit-storage → BlobStore protocol, local and S3, content-addressed keys
Events
quadkit-events → Event bus, outbox, durable subscriptions, replay
Infra
quadkit-tasks → Queues, worker pools, schedules, task console
quadkit-monitor → Counters, histograms, health probes, metrics endpoint
Security
quadkit-auth → API keys, MFA, RBAC, sessions, login flows
Tooling
quadkit-cli → Scaffolding, generators, dev server
quadkit-testing → Test harnesses, fakes, fixtures

Start from the CLI. Templates pick the packages; you add the rest later.

Terminal window
uv add "quadkit-cli>=0.0.42,<0.1"
quadkit new project my-app --template web-api
quadkit run

This catalog is the same list as The Ecosystem and the sidebar. Canonical URLs live under /packages/{group}/…. Ungrouped /packages/quadkit-* paths redirect here.

Foundation

The container, the lifecycle, and the contracts everything else builds on.

PackageWhat it does
quadkitAsync-first core: the DI container, application lifecycle, providers, modules, typed config, and the Result model.
quadkit-contractsProtocols, shared types, and the exception hierarchy — zero runtime dependencies beyond typing-extensions.

Web & HTTP

ASGI, routing, middleware, and the Result-to-HTTP bridge.

PackageWhat it does
quadkit-webThe async web layer: controllers with signature-based binding, middleware pipelines, a Result-to-HTTP bridge, and OpenAPI.
quadkit-httpHTTP client with typed Result errors, retries, timeouts, and a pluggable transport for calling other services.

Data

Relational and document storage behind repositories.

PackageWhat it does
quadkit-sqlAsync SQL repositories: typed rows, migrations, connection pooling, and a repository base over SQLAlchemy and asyncpg.
quadkit-cacheCache primitives: a Cache protocol, in-memory and Redis backends, stampede-safe single-flight helpers, and TTL invalidation.
quadkit-storageArtifact storage: a BlobStore protocol, local and S3 backends, content-addressed keys, and signed URL helpers.

Events

Publish, subscribe, replay.

PackageWhat it does
quadkit-eventsEvent bus, outbox publishing, durable subscriptions, and a timeline/replay API for auditing what happened.

Infra

Background work and operational visibility.

PackageWhat it does
quadkit-tasksBackground tasks: a queue, worker pools, retries with backoff, schedules, and an HTTP console for observing runs.
quadkit-monitorObservability: counters, histograms, structured logs, health/readiness probes, and a metrics endpoint.

Security

Identity, sessions, and access control.

PackageWhat it does
quadkit-authAuthentication 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.

PackageWhat it does
quadkit-cliThe quadkit command line: project scaffolding, generators, a smart runner, and admin commands.
quadkit-testingTest harnesses, fakes, and fixtures that boot the real application in-process.