Skip to main content

NovaAgents

NovaAgents (novaagents) is a production-oriented agent harness for building stateful AI agents with managed sessions, context management, skills, subagents, and long-term memory.

Provenance: NovaAgents is derived from Deep Agents (LangChain). It keeps compatibility where practical, but it is an independent package with Nova-specific APIs and behavior.

Installation

Install from PyPI (recommended, once published):

pip install novaagents
# or
uv add novaagents

For local development, run from the repository root:

uv sync --all-groups

Optional extras:

pip install "novaagents[aws]"    # AWS Bedrock support
pip install "novaagents[video]"  # video/media helpers (av, pillow)

Quickstart

Use create_nova_agent for the Nova graph. create_deep_agent is a separate compatibility factory with the inherited behavior.

from novaagents import create_nova_agent
from langchain.chat_models import init_chat_model

model = init_chat_model("anthropic:claude-sonnet-4-6")

agent = create_nova_agent(
    model=model,
    system_prompt="You are a concise, reliable assistant.",
)

result = agent.invoke(
    {"messages": [{"role": "user", "content": "Summarize this repository."}]}
)
print(result["messages"][-1].content)

Managed Sessions (Nova-specific)

NovaSession supervises local background tasks and serializes parent invocations. Pass it a compiled Nova graph:

import asyncio
from novaagents import NovaSession

async def main():
    # Use the agent constructed in the quickstart above.
    async with NovaSession(agent, thread_id="demo-001") as session:
        result = await session.ainvoke({
            "messages": [{"role": "user", "content": "List files in / and summarize the project."}],
        })
        print(result["messages"][-1].content)
        await session.wait_until_idle()

asyncio.run(main())

See MANAGED_SESSIONS.md for lifecycle, resume, and background-task behavior. Persistence across restarts requires a persistent checkpointer and the appropriate backend. Local background workers live only for the current process.

Nova Features

NovaAgents includes capabilities layered on the Deep Agents foundation:

  • create_nova_agent: Nova graph assembly with Nova middleware defaults.
  • NovaSession: local background task supervision and serialized conversation execution.
  • Context & managed skills middleware: Nova-specific context loading/handling and skill behavior (see novaagents.middleware).
  • Subagents / delegation: task decomposition via LangGraph subagent patterns.
  • Filesystem & stateful workflows: tool-driven file operations and checkpointed agent state.
  • Long-term memory patterns: memory-backed workflows depending on configured backend/tools.

Compatibility APIs from the upstream lineage may still exist; prefer Nova APIs for new integrations and verify behavior against this repository's tests/docs.

Development

# install dev/test deps (example)
uv sync --group test

# lint / type / test (requires deps)
make lint
make type
make test

See DEVELOPMENT.md for development and PUBLISHING.md for PyPI releases.

Security & Threat Model

See THREAT_MODEL.md. NovaAgents inherits the general agent/tool risk profile of Deep Agents-derived systems: treat tool outputs, files, web content, and model outputs as untrusted inputs to policy decisions; enforce least privilege and human approval for sensitive actions.

Changelog & License

Upstream Attribution

NovaAgents is derived from the Deep Agents project by LangChain:

Security

NovaAgents follows a "trust the LLM, enforce at the tool boundary" model: the agent can do anything its tools allow. Enforce boundaries via sandboxing, least-privilege tools, and human approval for sensitive actions (see THREAT_MODEL.md). Upstream Deep Agents security guidance: Deep Agents security policy.

Contributing

Contributions are welcome (features, fixes, docs, tests). Before opening changes, run available checks and record blocked validation honestly. If your work touches upstream-derived behavior, keep Nova-specific intent and compatibility clear; upstream project context: Deep Agents.

Metadata

Release files for novaagents 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for novaagents 0.8.0
File Size Uploaded Provenance Actions
novaagents-0.8.0.tar.gz 397.5 kB Without provenance Details for novaagents-0.8.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for novaagents 0.8.0
File Interpreter ABI Platform Actions
novaagents-0.8.0-py3-none-any.whl Python 3 none any Details for novaagents-0.8.0-py3-none-any.whl

Total release size: 797.1 kB

Release files / novaagents-0.8.0.tar.gz

Download URL novaagents-0.8.0.tar.gz
Size 397.5 kB
Tags Source
SHA-256 checksum
How to use checksums
00a86aaba5db06715af207dd3ae350a16ebcdebe0801a06daede3574ba9aebb5
BLAKE2b-256 checksum
How to use checksums
ea9ea4865065dcad67f5b0e42dc82776f4e624b5c3e13249bc7cf9e966d2e13f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.13

Release files / novaagents-0.8.0-py3-none-any.whl

Download URL novaagents-0.8.0-py3-none-any.whl
Size 399.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9941abbeddf98c68084f392251bb589b47f00c42cfa0bf7fd331b439abd81a94
BLAKE2b-256 checksum
How to use checksums
c391bffbb7d9df88e3c74c335e85088a672957d0d246b2e34b5e390ce8750b5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.13

Security for novaagents 0.8.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page