Metadata-Version: 2.4
Name: calfkit-mesh
Version: 0.1.1
Summary: Vendored, memory-only Tansu (Kafka-compatible) broker binary for local calfkit development.
Project-URL: Homepage, https://github.com/calf-ai/calfkit-mesh
Project-URL: Source, https://github.com/calf-ai/calfkit-mesh
Project-URL: Calfkit SDK, https://github.com/calf-ai/calfkit-sdk
Project-URL: Upstream broker (Tansu), https://github.com/tansu-io/tansu
Author: Ryan Yu
License-Expression: Apache-2.0
License-File: LICENSE
License-File: LICENSE-tansu
License-File: NOTICE
Keywords: broker,calfkit,event-driven,kafka,mesh,tansu
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Rust
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# 🐮 Calfkit Broker  [![Calfkit SDK](https://img.shields.io/badge/Calfkit-SDK-blue?logo=github)](https://github.com/calf-ai/calfkit-sdk)

Local Kafka infrastructure for event-driven and distributed AI agent development using [Calfkit SDK](https://github.com/calf-ai/calfkit-sdk).

Provides two-tier Kafka environments using KRaft:

| Tier | Use Case | Startup | Command |
|------|----------|---------|---------|
| **Tier 1** | Daily development | ~10 seconds | `make dev-up` |
| **Tier 2** | Integration testing | 3-5 minutes | `make k8s-up` |

## Quick Start

### Start up the broker (using Docker)

```bash
# Start Kafka for local development
make dev-up

# Kafka available at localhost:9092

# Stop
make dev-down
```

## Kafka UI (optional)

```bash
# Start Kafka UI (connects to existing broker at localhost:9092)
make ui

# UI available at http://localhost:8080

# Stop
make ui-down
```

## `calfkit-mesh` pip package

For a zero-dependency local broker, this repo also publishes the
**`calfkit-mesh`** Python package. It bundles a static, memory-only build of the
[Tansu](https://github.com/tansu-io/tansu) broker (Apache Kafka-compatible, written
in Rust) inside platform wheels, so `calfkit`'s `ck dev` can spawn a broker without
Docker, JVM, or any network install:

```bash
pip install calfkit-mesh
```

This is the upstream of calfkit's opt-in `[mesh]` extra. The package exposes a
single locator, `calfkit_mesh.resolve_broker_bin()`, which returns the path to a
usable `tansu` executable using this resolution order:

1. **`$CALF_TANSU_BIN`** — if set, it is used verbatim (and must point at an
   executable file, or resolution fails). Use this to point `ck dev` at your own
   `tansu` build.
2. **The wheel-bundled binary** — materialized once to a stable cache path
   (`~/.calfkit/bin/tansu-<version>`) and made executable.
3. **`tansu` on your `PATH`**.

Wheels are built for Linux (`x86_64`, `aarch64`; published under both `manylinux`
and `musllinux` tags), macOS (`arm64`, `x86_64`), and Windows (`x86_64`). The
bundled binary is compiled from unmodified Tansu source; see [NOTICE](NOTICE) and
[LICENSE-tansu](LICENSE-tansu) for attribution.

## License

Apache 2.0 - see [LICENSE](LICENSE).

calfkit-mesh wheels bundle the Tansu broker, also Apache 2.0; see
[NOTICE](NOTICE) and [LICENSE-tansu](LICENSE-tansu).
