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
Slim rclcppyy 0.2.0 onto the cppyy_kit suite (deprecation shims) (M3)
rclcppyy becomes the drop-in rclpy accelerator product on top of the cppyy_kit
suite; the rclcpp core it carried was carved into rclcpp_kit (M1b) and the kits into
their own packages. Replace the moved internals with re-export shims:
- rclcppyy/bringup_rclcpp.py -> rclcpp_kit.bringup_rclcpp (silent: node.py/monkey.py
use it internally). serialization / rosbag2_cpp / rosbag2_py_compat / tf -> the
matching rclcpp_kit.* modules, each with a DeprecationWarning on import. All use
importlib.import_module to fetch the real submodule (the package binds a
bringup_rclcpp *function* over its submodule, so a plain import would shadow it).
- rclcppyy/kits/*.py -> deprecation shims re-exporting the standalone kit packages
(bt/pcl/ompl/nav2/moveit/control/cv/dbow_kit, cppyy_kit, cppyy_kit.freeze); a
missing kit package raises a clear install hint, not a bare ModuleNotFoundError.
- __init__.py: bringup stays eager; the moved submodules are exposed lazily via
module __getattr__ so `import rclcppyy` doesn't fire the deprecation warnings for
the product's own use, while `rclcppyy.tf` / `from rclcppyy import serialization`
still resolve and warn.
Dev/test wiring (pre-release, suite unpublished): a PYTHONPATH bridge exposes
rclcpp_kit + cppyy_kit from a sibling cppyy_kit source checkout
(workspace_activation.sh, CPPYY_KIT_SRC; only those two packages, so domain-kit
shims still fail-with-hint). No file:// channel in pixi.lock (would not resolve on
CI). ci.yml checks out awesomebytes/cppyy_kit for the bridge. The local recipe
channel (pkg-build) stays for local recipe validation. Chosen over the local-conda
channel because a committed file:// lock breaks CI/other machines; documented.
Tests: the duplicated kit suites (they now live in the cppyy_kit repo) are removed
and replaced by test/test_kit_shims.py (shim re-exports + warns / clear hint). The
core suite is unchanged and passes against the shims.
Release prep: version 0.2.0 (package.xml, pixi.toml); recipe run-deps gain
ros-jazzy-rclcpp-kit + cppyy-kit; recipe/pkg-build/release.yml resolve them from the
suite channel (local now -> awesomebytes post-publish). RELEASING.md documents the
suite-first publish choreography. README reflects the new architecture + links the
suite repo.
Gates (local, ROS_DOMAIN_ID=57): build 0; lint 0; test 26 passed (core 16 + 10 kit-
shim smokes); bench 3000 msgs, 0 dropped (parity with 0.1.0).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0 commit comments