🐮 Calfkit
Build decentralized multi-agent systems. Agents discover each other at runtime, choreograph work, and scale as independent, event-driven services.
Calfkit agents find each other and choreograph work over a mesh — a highly-connected data streaming network they auto-discover and communicate on. Each agent runs as an independent, event-driven service, so you can build free-flowing multi-agent workflows that collaborate and react to live data streams.
Why Calfkit?
- Dynamic agent-to-agent discovery and collaboration. Agents find each other at runtime and work together — messaging each other and handing off tasks — so you build multi-agent systems without complex wiring or orchestration, and extend team capabilities at any time.
- Scalable by default. Every agent runs and scales as an independent microservice, so your agent teams are resilient and scalable from day one.
- React to realtime data streams. Agents are event-driven, so they react to realtime data streams — live market feeds, log streams, support-ticket queues — and send results wherever they're needed. Build agents that work like continuously streaming workflows, not one-off requests.
- Scale on production-ready infrastructure. The agent mesh is Kafka-compatible so you can run + scale your agents on production-ready streaming infrastructure straight out of the box.
Installation
# Recommended for getting started, includes a zero-setup in-memory dev mesh:
pip install 'calfkit[mesh]'
Quickstart
With the [mesh] extra, ck dev spins up a local in-memory mesh for you — no Docker, no CALFKIT_MESH_URL required.
Agent
Save as general.py:
from calfkit import Agent, Handoff, Messaging, OpenAIResponsesModelClient
general = Agent(
name="general",
description="Answers simple questions and routes requests to whoever can handle it.",
system_prompt="You are a general assistant. Defer technical questions to other agents.",
model_client=OpenAIResponsesModelClient(model_name="gpt-5.4"),
peers=[
Messaging(discover=True), # discover and delegate to any agent at runtime
Handoff(discover=True), # discover and hand off to any agent at runtime
],
)
Run it and chat
# Starts the agent (and a local mesh if one isn't running):
# ck dev run <file>:<agent>
ck dev run general:general
# In a second terminal, chat with the agent:
ck dev chat
Add another agent — and watch them discover each other
Save as finance.py:
from calfkit import Agent, OpenAIResponsesModelClient
finance = Agent(
name="finance",
description="Answers the user's personal finance questions.",
system_prompt="You are the personal finance specialist. Answer finance-related questions.",
model_client=OpenAIResponsesModelClient(model_name="gpt-5.4"),
)
ck dev run finance:finance
Now ask a finance question in ck dev chat — general discovers finance at runtime and hands off automatically. No wiring, no orchestrator.
Running an agent mesh
Calfkit agents discover and communicate over a mesh.
For local dev, the bundled in-memory broker (via [mesh] extra) is zero-setup — see How to run a local mesh with ck dev.
In production, the mesh is Kafka-compatible so you can drop your agent swarms into production-ready Kafka streaming infrastructure you already use.
Want a fully-managed mesh your agents can join from anywhere? Join the beta
Documentation
- Getting started: See
docs/. - Examples: See
examples/— multi-agent team and general framework API examples.
Contributing
Issues and pull requests are welcome. Please open an issue to discuss substantial changes before sending a PR.
See CONTRIBUTING.md.
License
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Metadata
Release files for calfkit 0.13.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| calfkit-0.13.0.tar.gz | 1.3 MB | With provenance | Details for calfkit-0.13.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| calfkit-0.13.0-py3-none-any.whl | Python 3 | none | any | Details for calfkit-0.13.0-py3-none-any.whl |
Total release size: 2.2 MB
Release files / calfkit-0.13.0.tar.gz
| Download URL | calfkit-0.13.0.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
74f9d205da029b1ac7c87ef53410b03124e42e2d29dbffa254cd4ca824e22a99
|
|
BLAKE2b-256 checksum How to use checksums |
43a307c47cbb5d726b887411f5e01e680ddd077628921fac2f383aa9eefe5c1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / calfkit-0.13.0-py3-none-any.whl
| Download URL | calfkit-0.13.0-py3-none-any.whl |
|---|---|
| Size | 870.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f1d1a18f070c56f4c1a38001b688e8bec58fe0f778e9e1f9d6b090777dd50502
|
|
BLAKE2b-256 checksum How to use checksums |
505523905bdfdff16f800849cf1abdd472b57dc94f8091047b54e6f5f08ebf17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logSecurity for calfkit 0.13.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for calfkit-0.13.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.