TwainMQ
TwainMQ is a lightweight, file‑based message log inspired by Kafka’s design principles but without the operational overhead of running a broker or cluster. It provides durable, append‑only topics, partitioned message streams, consumer groups with load balancing, and offset managemen, all without using a central service or broker.
TwainMQ is designed for:
- local development workflows
- embedded systems
- single‑machine (or small local network) data pipelines
- teaching and experimentation with log‑based messaging
- applications that need Kafka‑like semantics without a server
It requires no services, no central authority, just a directory where the files will live. All coordination is done via the log files.
Features
- No running services or brokers, just an API and distributed self-organisation
- File‑based topics stored as append‑only logs
- Partitions for parallelism and ordering guarantees
- Consumer groups with automatic load balancing
- Offset tracking and commits
- Typed messages (supports dataclasses)
- Simple API for producers and consumers
Documentation
Full documentation is available at:
https://blueraven314.github.io/TwainMQ/
Why “TwainMQ”?
Kafka messaging is powerful, but it’s also famously complex and sometimes hard going, rather like reading Franz Kafka. Mark Twain, on the other hand, is known for clarity and accessibility. TwainMQ takes inspiration from Kafka’s log‑based design, but aims to be simple, easy to use, and friendly to work with.
Metadata
Release files for twainmq 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| twainmq-0.2.3.tar.gz | 18.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| twainmq-0.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.7 kB
Release files / twainmq-0.2.3.tar.gz
| Download URL | twainmq-0.2.3.tar.gz |
|---|---|
| Size | 18.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e70d06f14b05d2551f7aaae9c0a35d0e70504942956e682a9607c04bfd60cd28
|
|
BLAKE2b-256 checksum How to use checksums |
dba259fe4d10552da714c628c61990998d5db8b0b0565aeb57509aa88f2e1289
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / twainmq-0.2.3-py3-none-any.whl
| Download URL | twainmq-0.2.3-py3-none-any.whl |
|---|---|
| Size | 19.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
df3ea7b8ed6027e3c1b79f9f54a10707cde1f9ee10f8bd6b6e4789102774734b
|
|
BLAKE2b-256 checksum How to use checksums |
a33445f5db9a2ceb506887bdc609a673468ce16e674d2a520049590a51105e37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|