Skip to content

feat(python): add nemo-relay-plugin worker SDK package#310

Draft
willkill07 wants to merge 5 commits into
NVIDIA:mainfrom
willkill07:wkk_dynamic-plugin-6-python-sdk
Draft

feat(python): add nemo-relay-plugin worker SDK package#310
willkill07 wants to merge 5 commits into
NVIDIA:mainfrom
willkill07:wkk_dynamic-plugin-6-python-sdk

Conversation

@willkill07

Copy link
Copy Markdown
Member

Overview

Add the pure-Python nemo-relay-plugin worker SDK package and its packaging/test support.

Stack dependency: this PR cannot be merged until parent stacked PR #309 is merged: #309

  • I confirm this contribution is my own work, or I have the right to submit it under this project's license.
  • I searched existing issues and open pull requests, and this does not duplicate existing work.

Details

  • Add python/plugin with high-level worker plugin APIs, generated gRPC stubs, runtime helpers, continuations, and streaming helpers.
  • Add Python SDK tests and a Python gRPC worker example.
  • Update Python test, coverage, packaging, CI wheel upload, attribution, and pre-commit configuration for the new package.

Validation run across the completed stack:

  • cargo test -p nemo-relay-types
  • cargo test -p nemo-relay-plugin
  • cargo test -p nemo-relay-worker-proto
  • cargo test -p nemo-relay-worker
  • cargo check -p nemo-relay-cli

Where should the reviewer start?

Start with python/plugin/src/nemo_relay_plugin/_api.py, then review python/tests/plugin/test_worker_sdk.py.

Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)

@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 10c1de38-0253-493a-a194-94c50aec108b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the size:XXL PR is very large label Jun 25, 2026
@github-actions github-actions Bot added Feature a new feature lang:python PR changes/introduces Python code lang:rust PR changes/introduces Rust code labels Jun 25, 2026
@github-actions

Copy link
Copy Markdown

@willkill07 willkill07 self-assigned this Jun 25, 2026
@willkill07 willkill07 added this to the 0.5 milestone Jun 25, 2026
@willkill07 willkill07 force-pushed the wkk_dynamic-plugin-6-python-sdk branch from acf1481 to 3b75e88 Compare June 25, 2026 18:16
@willkill07 willkill07 force-pushed the wkk_dynamic-plugin-6-python-sdk branch from 3b75e88 to d372191 Compare June 25, 2026 18:44
@willkill07 willkill07 force-pushed the wkk_dynamic-plugin-6-python-sdk branch from d372191 to efe47a2 Compare June 25, 2026 19:03
@willkill07 willkill07 force-pushed the wkk_dynamic-plugin-6-python-sdk branch from efe47a2 to 67e1ab3 Compare June 25, 2026 23:21
@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown

@willkill07 willkill07 force-pushed the wkk_dynamic-plugin-6-python-sdk branch from 67e1ab3 to e57177e Compare June 25, 2026 23:40
@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown

@willkill07 willkill07 force-pushed the wkk_dynamic-plugin-6-python-sdk branch from e57177e to ca5feb0 Compare June 26, 2026 00:19
@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown

@willkill07 willkill07 force-pushed the wkk_dynamic-plugin-6-python-sdk branch from ca5feb0 to 2e82788 Compare June 26, 2026 00:45
@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown

Signed-off-by: Will Killian <wkillian@nvidia.com>
Signed-off-by: Will Killian <wkillian@nvidia.com>
Signed-off-by: Will Killian <wkillian@nvidia.com>
Signed-off-by: Will Killian <wkillian@nvidia.com>
Signed-off-by: Will Killian <wkillian@nvidia.com>
@willkill07 willkill07 force-pushed the wkk_dynamic-plugin-6-python-sdk branch from 2e82788 to a29a7bd Compare June 26, 2026 02:28
@github-actions

Copy link
Copy Markdown

License Diff

Compared against origin/main.

Lockfile license changes

Lockfile License Changes

Rust

Added

  • fixedbitset 0.5.7 (Apache-2.0)
  • multimap 0.10.1 (Apache-2.0)
  • petgraph 0.8.3 (Apache-2.0)
  • prost-build 0.14.3 (Apache-2.0)
  • prost-types 0.14.3 (Apache-2.0)
  • protoc-bin-vendored 3.2.0 (MIT)
  • protoc-bin-vendored-linux-aarch_64 3.2.0 (MIT)
  • protoc-bin-vendored-linux-ppcle_64 3.2.0 (MIT)
  • protoc-bin-vendored-linux-s390_64 3.2.0 (MIT)
  • protoc-bin-vendored-linux-x86_32 3.2.0 (MIT)
  • protoc-bin-vendored-linux-x86_64 3.2.0 (MIT)
  • protoc-bin-vendored-macos-aarch_64 3.2.0 (MIT)
  • protoc-bin-vendored-macos-x86_64 3.2.0 (MIT)
  • protoc-bin-vendored-win32 3.2.0 (MIT)
  • pulldown-cmark 0.13.4 (MIT)
  • pulldown-cmark-to-cmark 22.0.0 (Apache-2.0)
  • tonic-build 0.14.6 (MIT)
  • tonic-prost-build 0.14.6 (MIT)
  • unicase 2.9.0 (Apache-2.0)

Removed

  • None

Updated/Changed

hashbrown

Before:

  • hashbrown 0.15.5 (MIT OR Apache-2.0)
  • hashbrown 0.17.0 (Apache-2.0)

After:

  • hashbrown 0.15.5 (Apache-2.0)
  • hashbrown 0.17.0 (Apache-2.0)

prettyplease

Before:

  • prettyplease 0.2.37 (MIT OR Apache-2.0)

After:

  • prettyplease 0.2.37 (Apache-2.0)

sha2

Before:

  • sha2 0.11.0 (Apache-2.0)

After:

  • sha2 0.10.9 (Apache-2.0)
  • sha2 0.11.0 (Apache-2.0)

Node

Added

  • None

Removed

  • None

Updated/Changed

  • None

Python

Added

  • grpcio 1.81.1 (Apache-2.0)

Removed

  • None

Updated/Changed

  • None
Status output
[license-diff] selected languages: rust, node, python
[license-diff] generating current inventory
[license-diff] current: generating Rust inventory
[license-diff] current: Rust inventory complete (364 packages)
[license-diff] current: generating Node inventory
[license-diff] current: Node inventory complete (364 packages)
[license-diff] current: generating Python inventory
[license-diff] current: Python inventory complete (105 packages)
[license-diff] current inventory complete
[license-diff] checking out base ref origin/main into a temporary worktree
[license-diff] base: generating Rust inventory
[license-diff] base: Rust inventory complete (344 packages)
[license-diff] base: generating Node inventory
[license-diff] base: Node inventory complete (364 packages)
[license-diff] base: generating Python inventory
[license-diff] base: Python inventory complete (104 packages)
[license-diff] base inventory complete
[license-diff] removing temporary base worktree
[license-diff] comparing inventories
[license-diff] rendering Markdown output
[license-diff] done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature a new feature lang:python PR changes/introduces Python code lang:rust PR changes/introduces Rust code size:XXL PR is very large

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant