happening-oss/kafine
62.6
Adequate · 2 October 2026
10.5k
lines of production code
Erlang
primary language
2
measurements over time
What this system is
Kafine is an Erlang Kafka client library for the BEAM ecosystem that provides core capabilities for producing messages and consuming from topics via group or direct consumers. It features a robust connection layer built on gen\_statem, comprehensive telemetry integration for observability, and utilities for retry backoff and round-robin distribution. The system includes extensive tooling for development, such as a Docker-based local Kafka cluster, and is supported by a full suite of integration and unit tests.
Features
Add initial configuration files for testing and interactive shell usage
The project now includes \config/eunit.config\ and \config/shell.config\ to define runtime settings for the \kafine\ application. The eunit configuration disables tracing and configures the logger to suppress progress updates and specific module logs during automated tests, using a colored formatter for output. The shell configuration enables info-level logging with a standard text formatter for interactive sessions, also suppressing progress updates. These files establish the baseline environment for running tests and the interactive shell.
config · high confidence
Add local Kafka cluster development environment
The docker directory now provides a complete, self-contained local Kafka cluster for development and testing. It includes Docker Compose configurations for Zookeeper, multiple Kafka brokers (with support for scaling and extra clusters), and optional monitoring via Prometheus and Grafana. The setup features SSL and SASL authentication, JMX metrics export, and a Kafka UI dashboard. A Makefile automates the generation of configuration files from templates and the creation of TLS secrets, while helper scripts allow for easy topic creation and host IP detection.
docker · high confidence
Initial public release of the Kafine Erlang Kafka client
This entry marks the initial public release of Kafine, a new Kafka client library for the BEAM ecosystem. The repository includes the core Erlang source code, a Makefile for build and test automation, and configuration for rebar3, elvis (linting), and eqwalizer (static analysis). The library depends on \kafcod\ for message codecs, \gproc\ for process registry, and \telemetry\ for emitting events. Documentation is provided via README examples for topic consumers, group consumers, and producers, along with integration test infrastructure.
(repo-wide) · high confidence
Initial public release of the kafine Kafka client library
This change introduces the initial public release of kafine, a Kafka client library for Erlang. It provides core capabilities including topic and group consumers, a producer, and a robust connection layer built on gen\_statem. The release includes comprehensive diagnostics and observability features, such as telemetry integration for tracing requests and spans, shell-based debugging tools, and configurable logging filters to suppress expected connection noise. Additionally, it ships with utility modules for handling retry backoff strategies, round-robin distribution, and nested map operations.
src · high confidence
Initial public release with example scripts and build utilities
This release introduces the initial public version of the project, adding an Erlang example script for resetting Kafka consumer group offsets, a shell script for generating semantic version strings from Git tags, and a startup script for the interactive shell environment.
examples, scripts, shell · high confidence
Initial release of the kafine consumer library
This change introduces the complete kafine consumer implementation, providing a new capability for Erlang applications to consume from Apache Kafka topics. The diff adds the core supervision tree (kafine\_consumer\_sup), the bootstrap connection handler, and the group coordinator for managing consumer group membership (join, sync, heartbeat). It includes the fetcher logic for retrieving records, an eager rebalance protocol implementation, and a callback-based API (kafine\_consumer\_callback) that allows users to define custom logic for processing partition data. Additionally, it provides a built-in logging callback (kafine\_consumer\_callback\_logger) for debugging and configuration options for consumer behavior such as isolation levels and backoff strategies.
src/consumer · high confidence
Test coverage
Added test suite and test infrastructure for the kafine library; Initial integration test suite for kafine.
Dependencies
Added Docker script dependencies for Handlebars and YAML
A new Node.js dependency manifest (package.json) and its lockfile (package-lock.json) were added to the docker/scripts directory, introducing handlebars (^4.7.9) and yaml (^2.8.3) as dependencies for a simple Handlebars CLI tool.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 61 → 63 (+1.1)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 93 → 93 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 74 → 74 (+0.0)
- Readiness 34 → 36 (+2.4)
- Security 96 → 96 (+0.0)
- Event Sourcing 100 → 100 (+0.0)
Resolved (3)
- Coverage not measured — no coverage collector is wired up
- Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no pnpm-resolved versions to grade)
- Documentation: no installation or build instructions (README.md)
New (4)
- Documentation: no project overview (README.md)
- Floating source dependency: eqwalizer_support
- Outdated: gproc
- Outdated: telemetry
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
happening-oss/kafine was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 893bdb026227fa078c5a80c87f72672d9c2ab246 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.