NVIDIA-labs OO Agents (NOOA)
Use the nooa package and namespace. It comes from PyPI, and the plugin's own
pyproject.toml declares the version floor.
For detailed framework guidance, consult the skills at the upstream tag that matches the floor: https://github.com/NVIDIA-NeMo/labs-OO-Agents/tree/v0.0.9/skills
Before changing framework behavior, inspect the installed implementation or the matching upstream skill instead of guessing. In Experimentalist:
- Call
super().__init__()before attaching tools or skills. - Use
GuardedShellToolswhere workspace access must remain restricted. - Hide internal skill registries with
spec(self, "skills", hidden=True). - Keep the explicit
orjson==3.11.9workaround required by nooa's LiteLLM tool-call path.
Verification
Use the repository root .venv and the README's standard uv workflow. Run:
uv run --frozen pytest -q <focused migration tests>
uv run --frozen ruff check .
uv run --frozen ruff format --check .
uv run --frozen pyright
Then run the changed agent end to end with its configured model.