ThreeDotsLabs/watermill
Watermill is a Go library that provides a unified interface for building event-driven and real-time applications by abstracting various message brokers. It offers a comprehensive suite of components for message routing, CQRS, and transactional event handling, alongside middleware for reliability and observability. The system supports a wide range of pub/sub backends, including Kafka, RabbitMQ, AWS SNS/SQS, and SQL databases, with examples demonstrating their integration.
65.9
Adequate · 3 August 2026
15k
lines of production code
Go
primary language
2
bus factor · 93 authors in all
3
measurements over time
How it got here
2018–2019 · Watermill v1.0.0 release and ecosystem expansion
This period centered on the release of Watermill v1.0.0, which established a stable, production-ready API by removing legacy event store implementations and in-memory Pub/Sub components. The work significantly expanded the library's capabilities through new middleware, CQRS, and metrics components, while simultaneously broadening the ecosystem with extensive examples for Kafka, AMQP, NATS, and SQL-based messaging systems.
35 changes
2020–2025 · Component and example expansion
This period focused on expanding the library's capabilities by introducing new components for message routing, delayed processing, and request/reply patterns. The team also significantly enriched the repository with diverse, validated examples covering various pub/sub backends and architectural patterns like CQRS and consumer groups.
16 changes
Survey your own repository
ThreeDotsLabs/watermill 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 the surveyor at a repository you know and see whether you agree with it.
About this page
- The description of this project is derived from its own commit history, not from its README.
- The score is its highest published measurement, taken on 3 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 19b6816f64 — the exact code this score is about.
- Scored under rubric rubric-2026.08.19. Score the same commit under that rubric and you get the same number.