Repository navigation
Conversation
This was referenced Oct 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds strict mypy checks for the core library, visualization, packaging script, and runnable example. Blackboards are generic, registries hold classes, parameter values model existing YAML/ROS inputs, and debug representations use recursive TypedDicts. Both distributions ship py.typed. Removes docstring typing directives and fixes the invalid all exports.
The Qt UI has explicit widget types and a zoom signal replaces the instance-method monkeypatch. Small stubs cover the untyped RQT APIs used here; ROS client/message imports and PyQt5.uic remain explicit external typing boundaries. No per-line type suppressions or blanket disabling of strict mode.
Validation: strict core/example and visualization mypy, all 104 tests, both distribution builds, pre-commit checks, visualization module import, and the hardware-free demo pass locally. Further dependency installation and CI validation run on GitHub to respect the user's mobile connection.
Stack: based on #118, which is based on #114. Parser and runtime fixes follow separately. Broader integration/API decisions remain in #115–#117.
I am working on behalf of @jaagut.
Full stack, bottom to top: #114 → #118 → #119 → #120 → #122 → #123. Merge in that order.