calf-ai
calfkit-sdk
Python

๐Ÿฎ Build distributed, event-driven agents

Last updated Aug 1, 2026
146
Stars
13
Forks
32
Issues
0
Stars/day
Attention Score
73
Language breakdown
Python 99.4%
JavaScript 0.3%
HTML 0.1%
Shell 0.1%
Makefile 0.1%
โ–ธ Files click to expand
README

๐Ÿฎ Calfkit

Build agents that discover each other at runtime, choreograph work, and scale as independent, event-driven services.

License PyPI version PyPI downloads Python versions codecov Ask DeepWiki

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 CALFKITMESHURL 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.", modelclient=OpenAIResponsesModelClient(modelname="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.", modelclient=OpenAIResponsesModelClient(modelname="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.

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท calf-ai/calfkit-sdk ยท Updated daily from GitHub