NVIDIA-labs Object Oriented Agents (NOOA)
A model-agnostic Python framework for building AI agents as typed Python classes where methods, docstrings and type annotations define behavior.
At a Glance
NOOA core Python framework released under the Apache License 2.0; free to use, modify and distribute.
Engagement
Available On
Alternatives
Listed Oct 2026
About NVIDIA-labs Object Oriented Agents (NOOA)
NVIDIA-labs Object Oriented Agents (NOOA) is a model-agnostic Python framework from NVIDIA for building AI agents as ordinary Python classes. State, capabilities, prompts and typed interfaces are expressed in a single class. The repository's latest listed release is v0.0.10, and the project is released under Apache 2.0.
What It Is
NOOA is an agent development framework that offers an object-oriented alternative to frameworks that treat prompts, tools, callbacks and workflows as separate abstractions. An agent is a Python object: fields hold typed state, methods are capabilities, docstrings act as prompts, and type annotations serve as contracts. The project describes itself as research software.
How Agents Work
- A method with a
...body becomes a generation method that an LLM-driven strategy implements at runtime. A method with a real body remains deterministic Python. - The model acts by writing Python in a Jupyter-style REPL with access to
self, imports and helpers. Python methods and type annotations supply the callable interfaces, reducing the need for separate tool-schema definitions. - Typed input and output come with auto-retry, live-object arguments are passed by reference, and model-callable context and event APIs are provided.
- Every LLM call, code execution and method invocation is traced by default, with parent-child spans preserved. A trace viewer runs locally through the
nooa start-devcommand.
Setup Path
The core package installs with uv or pip (nooa). Models are selected through a client registry that works with LiteLLM-supported hosted or local models, with examples for Anthropic, OpenAI, Ollama and vLLM. Optional packages add a CLI with trace viewer and eval runner, an Agent Client Protocol coding agent for hosts such as Zed, a long-term memory subsystem, and a benchmark runner. Notebook tutorials, an examples catalog, a framework tour and a paper with SWE-bench Verified and Terminal-Bench 2.0 results accompany the repository.
Safety Considerations
Agents can be configured to execute LLM-generated code. NOOA applies AST checks and module deny-lists, but the README states these are defense-in-depth guardrails, not a containment boundary. It recommends running such agents inside OS-level isolation like a container, VM or NVIDIA OpenShell.
Community Discussions
Be the first to start a conversation about NVIDIA-labs Object Oriented Agents (NOOA)
Share your experience with NVIDIA-labs Object Oriented Agents (NOOA), ask questions, or help others learn from your insights.
Pricing
Open Source (Apache 2.0)
NOOA core Python framework released under the Apache License 2.0; free to use, modify and distribute.
- Apache License 2.0 (OSI-approved)
- Model-agnostic Python agent framework
- Supports hosted or local LiteLLM-supported models (model/inference costs are external)
Capabilities
Key Features
- Agents defined as Python classes with typed state and methods
- LLM-driven generation methods using `...` bodies
- Code-as-action execution in a Jupyter-style REPL
- Typed input/output with auto-retry
- Live-object arguments passed by reference
- Default tracing with local trace viewer
- Model-agnostic via LiteLLM-supported models
- Optional CLI, ACP, memory and benchmark packages
- Notebook tutorials and examples catalog
