test-python-binding

Solid

Build and test the NeMo Relay Python binding and worker plugin SDK; use for python/nemo_relay, python/plugin, or crates/python changes

AI & Automation 122 stars 57 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 86/100

Stars 20%
70
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Build And Test Python Binding ## Companion Guidance 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. ## Default Path 1. Format changed Python wrapper and test files with `uv run ruff format python python/plugin`. 2. Run focused `pytest` first when you know the affected area. 3. Run `just test-python-plugin` when the Python worker SDK changed. 4. Run the full Python suite with `just test-python` before review. 5. If any Rust files changed as part of the Python work, also run `cargo fmt --all`, `just test-rust`, and `cargo clippy --workspace --all-targets -- -D warnings`. 6. Use `just build-python` when you want an explicit build-only pass. 7. Use `just build-python-plugin` when the Python worker SDK changed. 8. If the native Rust bridge changed, add the Rust crate tests for `nemo-relay-python`. ## Python Test Style - Pytest is used to run tests. - Do not add `@pytest.mark.asyncio` to any test. Async tests are automatically detected and run by the async runner; the decorator is unnecessary clutter. - Do not add a `-> None` return type annotation to test functions. This is not a common convention in pytest and adds unnecessary verbosity. - When mocking a class, do not define a new class. Use `un...

Details

Author
NVIDIA
Repository
NVIDIA/NeMo-Relay
Created
4 months ago
Last Updated
today
Language
Rust
License
Apache-2.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category