You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10-9Lines changed: 10 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
# Protobunny
2
2
3
-
```{warning}
4
-
The project is in early development.
5
-
```
3
+
::: {warning}
4
+
**Note**: The project is in early development.
5
+
:::
6
6
7
7
Protobunny is the open-source evolution of [AM-Flow](https://am-flow.com)'s internal messaging library.
8
8
While the original was purpose-built for RabbitMQ, this version has been completely re-engineered to provide a unified,
@@ -26,11 +26,11 @@ Supported backends in the current version are:
26
26
- Mosquitto
27
27
- Python "backend" with Queue/asyncio.Queue for local in-processing testing
28
28
29
-
```{note}
30
-
Protobunny handles backend-specific logic internally to provide a consistent experience and a lean interface.
31
-
Direct access to the internal NATS or Redis clients is intentionally restricted.
29
+
::: {note}
30
+
**Note**: Protobunny handles backend-specific logic internally to provide a consistent experience and a lean interface.
31
+
Direct access to the internal NATS or Redis clients is intentionally restricted.
32
32
If your project depends on specialized backend parameters not covered by our API, you may find the abstraction too restrictive.
33
-
```
33
+
:::
34
34
35
35
36
36
## Minimal requirements
@@ -63,8 +63,8 @@ While there are many messaging libraries for Python, Protobunny is built specifi
63
63
64
64
***Type-Safe by Design**: Built natively for `protobuf/betterproto`.
65
65
***Semantic Routing**: Zero-config infrastructure. Protobunny uses your Protobuf package structure to decide if a message should be broadcast (Pub/Sub) or queued (Producer/Consumer).
66
-
***Backend Agnostic**: Write your logic once. Switch between Redis, RabbitMQ, Mosquitto, or Local Queues by changing a single variable in configuration.
67
-
***Sync & Async**: Support for both modern `asyncio` and traditional synchronous workloads.
66
+
***Backend Agnostic**: You can choose between RabbitMQ, Redis, NATS, and Mosquitto. Python for local testing.
67
+
***Sync & Async**: Support for both `asyncio` and traditional synchronous workloads.
68
68
***Battle-Tested**: Derived from internal libraries used in production systems at AM-Flow.
69
69
---
70
70
@@ -78,6 +78,7 @@ While there are many messaging libraries for Python, Protobunny is built specifi
- NATS: nats-py (Requires NATS Server v2.10+ for full JetStream support).
42
+
- Redis: redis (Requires Redis Server v6.2+ for Stream support).
43
+
- RabbitMQ: aio-pika
44
+
- Mosquitto: aiomqtt
27
45
28
46
29
47
## Project scope
@@ -45,8 +63,8 @@ While there are many messaging libraries for Python, Protobunny is built specifi
45
63
46
64
***Type-Safe by Design**: Built natively for `protobuf/betterproto`.
47
65
***Semantic Routing**: Zero-config infrastructure. Protobunny uses your Protobuf package structure to decide if a message should be broadcast (Pub/Sub) or queued (Producer/Consumer).
48
-
***Backend Agnostic**: Write your logic once. Switch between Redis, RabbitMQ, Mosquitto, or Local Queues by changing a single variable in configuration.
49
-
***Sync & Async**: Support for both modern `asyncio` and traditional synchronous workloads.
66
+
***Backend Agnostic**: You can choose between RabbitMQ, Redis, NATS, and Mosquitto. Python for local testing.
67
+
***Sync & Async**: Support for both `asyncio` and traditional synchronous workloads.
50
68
***Battle-Tested**: Derived from internal libraries used in production systems at AM-Flow.
51
69
---
52
70
@@ -60,6 +78,7 @@ While there are many messaging libraries for Python, Protobunny is built specifi
0 commit comments