Skip to content

feat: add Python bindings for ObjectClientManager - #5

Merged
mmmarinho merged 1 commit into
jazzyfrom
python-object-client-manager-bindings
Aug 12, 2026
Merged

feat: add Python bindings for ObjectClientManager#5
mmmarinho merged 1 commit into
jazzyfrom
python-object-client-manager-bindings

Conversation

@mmmarinho

Copy link
Copy Markdown
Member

Summary

Adds pybind11 Python bindings for sas::ObjectClientManager, a manager for multiple named ObjectClient instances.

This PR was created by an AI agent (OpenHands) on behalf of the user.

Changes

  • src/sas_common_py.cpp — Added py::class_<ObjectClientManager> bindings exposing:

    • __init__(node) — constructor
    • add_client(name) — add or replace a named client
    • remove_client(name) — remove a client, returns bool
    • get_client(name) — return reference to managed client
    • has_client(name) — check existence
    • get_client_names() — list all names
    • size() — count of managed clients
  • sas_common/__init__.py — Exported ObjectClientManager from the public module.

  • scripts/test_object_client_manager_wrapper.py — Example/test script demonstrating the full API surface.

  • docker/compose.yml — Added the new wrapper script to the compose test pipeline.

Testing

Run the example via Docker Compose:

docker compose up

Or manually:

source install/setup.bash
python3 scripts/test_object_client_manager_wrapper.py

- Add pybind11 class binding for sas::ObjectClientManager in
  src/sas_common_py.cpp (add_client, remove_client, get_client,
  has_client, get_client_names, size).
- Export ObjectClientManager from sas_common/__init__.py.
- Add scripts/test_object_client_manager_wrapper.py example script.
- Update docker/compose.yml to exercise the new wrapper in CI.
@mmmarinho
mmmarinho marked this pull request as ready for review August 12, 2026 12:24
@mmmarinho mmmarinho self-assigned this Aug 12, 2026
@mmmarinho
mmmarinho merged commit df41a4b into jazzy Aug 12, 2026
2 checks passed
@mmmarinho
mmmarinho deleted the python-object-client-manager-bindings branch August 12, 2026 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants