olivierphi/pymessagebus
54.0
Adequate · 20 September 2026
273
lines of production code
Python
primary language
4
measurements over time
What this system is
pymessagebus is a Python library that provides MessageBus and CommandBus implementations for routing and handling messages. It supports middleware chaining, handler locking, and dynamic handler registration or removal. The project is structured with a src layout and includes comprehensive testing, linting, and type checking via CI.
Features
Initial release of pymessagebus v1.2.3 with CI, linting, and packaging
This entry marks the initial public release of the pymessagebus library (version 1.2.3), establishing the project's foundational structure and quality gates. The release includes the core MessageBus and CommandBus implementations, supporting features such as middleware chaining, handler locking, and result handling options. To ensure code quality and reliability, the project integrates a comprehensive CI pipeline via Travis CI that enforces style and type checking using Black, Pylint, and MyPy, while also publishing code coverage metrics to Coveralls. The package is now properly packaged for distribution via PyPI, with installation instructions provided for both Poetry and pip, and is licensed under the MIT license.
(repo-wide) · high confidence
Removals
Removal of legacy MessageBus implementation
The legacy \MessageBus\ class and its associated \MessageHandlerNotFoundError\ have been removed from the \pymessagebus\ package. This deletion eliminates the basic message bus implementation that previously allowed multiple handlers per message type, indicating a shift in the library's architecture towards the newer, more structured components (such as \CommandBus\ and middleware support) introduced in recent commits.
pymessagebus · high confidence
Behavioural changes
Introduce handler removal and structured package layout
The MessageBus library now allows users to unregister specific handlers via the new \remove\_handler\ method on both \MessageBus\ and \CommandBus\, enabling dynamic management of message routing. Additionally, the package has been reorganized into a standard \src/\ layout, and the base \MessageBusError\ class now correctly inherits from \Exception\ instead of \BaseException\ for safer error handling.
src/pymessagebus · high confidence
Test coverage
Added comprehensive test coverage for message bus components
Added new and updated test files in the \tests/\ directory to verify the behavior of the \MessageBus\ and \CommandBus\ classes, including handler registration, middleware execution, locking mechanisms, and error handling. The tests also cover the singleton behavior and decorator-based handler registration in the \default\ module, as well as the logging middleware functionality.
tests · high confidence
Dependencies
Initial project setup with Poetry and dev tooling
The project is now managed using Poetry, introducing a \pyproject.toml\ configuration and a \poetry.lock\ file to pin development dependencies. This setup establishes the project as 'pymessagebus' version 1.2.3 and includes specific dev tools: pytest 6.2.2, pylint 2.7.2, mypy 0.812, and black 20.8b1, ensuring consistent code formatting, linting, and static type checking for Python 3.6+ environments.
(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 56 → 54 (-2.4)
- Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 49 → 49 (+0.0)
- Readiness 46 → 41 (-4.8)
- Security 100 → 98 (-1.9)
Resolved (5)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — no supported dependency manifest was read
- No exposed public API
- Test reliability not included
- single-maintainer — knowledge-concentration (bus factor) risk
New (6)
- Dependency hygiene PARTLY measured — Python dependencies read, no exact pin to grade for currency
- Medium CVE: [GHSA redacted] (poetry.lock)
- Medium CVE: [GHSA redacted] (poetry.lock)
- Medium CVE: [GHSA redacted] (poetry.lock)
- Medium CVE: PYSEC-2026-2132 (poetry.lock)
- No dependency advisory monitoring
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
olivierphi/pymessagebus 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 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 4a64607531816adda2adba246a922b6cf3688adc — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-28e75b8e3254.