一键导入
test-python-binding
Build and test the NeMo Relay Python binding and worker plugin SDK; use for python/nemo_relay, python/plugin, or crates/python changes
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Build and test the NeMo Relay Python binding and worker plugin SDK; use for python/nemo_relay, python/plugin, or crates/python changes
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Compare NeMo Relay release branches and draft or update the documentation-site release notes. Use when preparing a release-notes update under docs/about-nemo-relay/release-notes, reviewing release-to-release changes, or gathering evidence for a current release summary.
Contribute documentation or example changes that stay aligned with NeMo Relay public behavior
Build and package reusable NeMo Relay runtime behavior as a config-activated plugin with validation and rollback-safe registration
Add or change a public NeMo Relay API surface across the core runtime and every affected binding
Maintain or extend NeMo Relay observability surfaces across ATIF, OpenTelemetry, and OpenInference
Maintain or extend the NeMo Relay adaptive surface across config, plugins, docs, and bindings; use this when users still say optimizer
| name | test-python-binding |
| description | Build and test the NeMo Relay Python binding and worker plugin SDK; use for python/nemo_relay, python/plugin, or crates/python changes |
| author | NVIDIA Corporation and Affiliates |
| license | Apache-2.0 |
Use karpathy-guidelines alongside this skill for implementation or review
work. Keep changes scoped, surface assumptions, and define focused validation
before editing.
Use this skill when the change is primarily in python/nemo_relay,
python/plugin, python/tests, crates/python, or Python-facing
docs/examples.
uv run ruff format python python/plugin.pytest first when you know the affected area.just test-python-plugin when the Python worker SDK changed.just test-python before review.cargo fmt --all, just test-rust, and
cargo clippy --workspace --all-targets -- -D warnings.just build-python when you want an explicit build-only pass.just build-python-plugin when the Python worker SDK changed.nemo-relay-python.@pytest.mark.asyncio to any test. Async tests are automatically detected and run by the async runner; the decorator is unnecessary clutter.-> None return type annotation to test functions. This is not a common convention in pytest and adds unnecessary verbosity.unittest.mock.MagicMock or unittest.mock.AsyncMock, with the spec constructor argument when necessary.mock, not fake.conftest.py file.@pytest.fixture(name="<fixture_name>"[, scope="<scope>"])
def <fixture_name>_fixture() -> <return_type>:
...
Only specify the scope argument when the value is something other than "function".pytest.mark.parametrize over creating individual tests for
different input types.# Focused test loop
uv run pytest -k "<pattern>"
# Focused Python worker plugin SDK suite
just test-python-plugin
# Format Python files
uv run ruff format python python/plugin
# Full Python suite
just test-python
# Required when the Python change also touched Rust code
cargo fmt --all
just test-rust
cargo clippy --workspace --all-targets -- -D warnings
# Rebuild the editable package plus native extension
just build-python
# Rebuild/install the Python worker plugin SDK
just build-python-plugin
# Native extension crate when crates/python changed
cargo test -p nemo-relay-python
crates/core, crates/adaptive, or shared runtime semantics changed,
also use validate-change.python/plugin or worker protocol behavior changed, also use
maintain-dynamic-plugins.contribute-docs
plus targeted command checks.pyproject.tomlcrates/python/Cargo.tomlcrates/python/README.mdpython/nemo_relay/README.mdpython/plugin/pyproject.tomlpython/plugin/src/nemo_relay_pluginpython/tests/plugindocs/getting-started/quick-start/python.mdxdocs/contribute/testing-and-docs.mdxvalidate-change