Repository navigation
Conversation
Documentation build overview
4 files changed± specifications.html± specifications/bindings.html± specifications/lifespan.html± specifications/message.html |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Address the four unresolved moderate issues in producer caching, partition-key handling, binding propagation, and None serialization.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 2
Open (2)
What changed in this PR
Adds Apache Pulsar support to AMGI, including a new server package, bindings, tests, documentation, examples, and CI integration.
Changes:
- Adds asynchronous Pulsar message receiving, sending, acknowledgements, and redelivery.
- Adds
PulsarKey, integration tests, and Docker example configuration. - Updates dependencies, packaging, documentation, and CI.
Unresolved issues include a producer-cache race, incorrect empty partition-key handling, dropped bindings in the sending path, and serializing None as "null".
| File | Summary |
|---|---|
uv.lock |
Locks the new package and Pulsar dependency. |
tox.ini |
Adds Pulsar test and import environments. |
README.md |
Documents Pulsar availability. |
packages/asyncfast/tests_asyncfast/test_message_object_bindings.py |
Tests Pulsar key serialization. |
packages/asyncfast/src/asyncfast/bindings.py |
Adds PulsarKey binding support. |
packages/amgi-pulsar/tests_amgi_pulsar/test_pulsar_message.py |
Tests sender initialization. |
packages/amgi-pulsar/tests_amgi_pulsar/test_pulsar_message_integration.py |
Adds Pulsar integration coverage. |
packages/amgi-pulsar/tests_amgi_pulsar/__init__.py |
Defines the test package. |
packages/amgi-pulsar/src/amgi_pulsar/py.typed |
Enables distributed type information. |
packages/amgi-pulsar/src/amgi_pulsar/__init__.py |
Implements the Pulsar server and sender. |
packages/amgi-pulsar/README.md |
Documents installation and usage. |
packages/amgi-pulsar/pyproject.toml |
Defines package metadata and dependencies. |
packages/amgi-pulsar/LICENSE |
Adds package licensing. |
example/README.md |
Documents the Pulsar example. |
example/pyproject.toml |
Adds the Pulsar example dependency. |
example/apache-pulsar/docker-compose.yaml |
Provides a local Pulsar service. |
docs/specifications/bindings.rst |
Documents Pulsar bindings. |
.pre-commit-config.yaml |
Adds Pulsar typing dependencies. |
.github/workflows/tests.yml |
Adds Pulsar to CI. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
be2c8f3 to
c3d5fd0
Compare
c3d5fd0 to
9d52b99
Compare
9d52b99 to
936a7af
Compare
936a7af to
ac82eda
Compare
042f511 to
6e7d76d
Compare
2cfabc3 to
fa2b0b2
Compare
fa2b0b2 to
9632eb2
Compare



Add Apache Pulsar support: #52.