Merge release/1.4 into develop#1459
Conversation
Updated A2A documentation and example READMEs: added a "Why Use A2A?" section in core docs, inserted A2A reference links in examples, and expanded/setup/troubleshooting steps for the protected A2A example. All changes are documentation-only. ## By Submitting this PR I confirm: - I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md). - We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license. - Any contribution which contains commits that are not Signed-Off will not be accepted. - When the PR is ready for review, new or existing tests cover these changes. - When the PR is ready for review, the documentation is up to date with these changes. ## Summary by CodeRabbit * **Documentation** * Added a "Why Use A2A?" section covering use cases, benefits, and scenarios. * Added References entries linking to an A2A introduction in example projects. * Clarified Protected A2A setup: reorganized consent and client-scope/authentication steps, added environment-variable guidance for credentials, expanded multi-user testing flow, and introduced a Troubleshooting section with verification commands. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> Authors: - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah) Approvers: - Bryan Bednarski (https://github.com/bbednarski9) URL: NVIDIA#1447
…~=` (NVIDIA#1452) In adherence to proper packaging guidelines, we have strayed away from the rule related to `~=`. For packages with `~=M.m.p` explicitly specified, we need to switch to `>=M.m.p,<(M+1).0.0`. This PR does exactly that. The only changes to `uv.lock` are specifiers. The versions in the lock are identical, retaining the same solver logic. Though, I imagine if `--upgrade` were to be run, we'd bump to some newer versions that previously were impossible. Closes ## By Submitting this PR I confirm: - I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md). - We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license. - Any contribution which contains commits that are not Signed-Off will not be accepted. - When the PR is ready for review, new or existing tests cover these changes. - When the PR is ready for review, the documentation is up to date with these changes. ## Summary by CodeRabbit * **Chores** * Updated dependency specifications across the project: replaced varied tilde/exact pins with consistent minimums and explicit upper bounds (and adjusted a few compatible-release specs) to improve dependency compatibility and stability. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> Authors: - Will Killian (https://github.com/willkill07) Approvers: - David Gardner (https://github.com/dagardner-nv) - https://github.com/mnajafian-nv URL: NVIDIA#1452
Adds an explicit warning about CUDA compatibility requirements and note about why ai-dynamo does not need to be explicitly installed Closes ## By Submitting this PR I confirm: - I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md). - We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license. - Any contribution which contains commits that are not Signed-Off will not be accepted. - When the PR is ready for review, new or existing tests cover these changes. - When the PR is ready for review, the documentation is up to date with these changes. ## Summary by CodeRabbit * **Documentation** * Clarified system requirements for Dynamo integration examples: a CUDA-compatible NVIDIA GPU and drivers are required; systems without NVIDIA GPUs are unsupported. Noted that provided Docker images include the necessary ai-dynamo packages. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> Authors: - Bryan Bednarski (https://github.com/bbednarski9) Approvers: - Will Killian (https://github.com/willkill07) - https://github.com/mnajafian-nv URL: NVIDIA#1455
…1-22 Signed-off-by: Will Killian <wkillian@nvidia.com>
|
/ok to test f5547c4 |
WalkthroughThis forward-merge from release/1.4 to develop includes documentation enhancements for A2A protocol and Dynamo integration, along with systematic updates to dependency version constraints across multiple pyproject.toml files. Changes replace strict tilde (~) version pins with explicit range-based constraints (e.g., ~=1.2.3 → >=1.2.3,<2.0.0) and adjust OAuth2 setup documentation and hardware requirement warnings. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (4)
external/dynamo/README.md (1)
1-15: Add SPDX Apache-2.0 identifier to the header.Required by repo guidelines for all changed files. Please add the SPDX tag at the top of the file.
✅ Proposed fix
+<!-- SPDX-License-Identifier: Apache-2.0 --> <!-- Copyright (c) 2025-2026 NVIDIA Corporationexamples/dynamo_integration/react_benchmark_agent/README.md (1)
1-15: Add SPDX Apache-2.0 identifier to the header.Required by repo guidelines for all changed files. Please add the SPDX tag at the top of the file.
✅ Proposed fix
+<!-- SPDX-License-Identifier: Apache-2.0 --> <!-- Copyright (c) 2025-2026, NVIDIA CORPORATIONexamples/dynamo_integration/README.md (1)
1-15: Add SPDX Apache-2.0 identifier to the header.Required by repo guidelines for all changed files. Please add the SPDX tag at the top of the file.
✅ Proposed fix
+<!-- SPDX-License-Identifier: Apache-2.0 --> <!-- Copyright (c) 2025-2026, NVIDIA CORPORATIONpackages/nvidia_nat_adk/pyproject.toml (1)
1-1: Update copyright year to include 2026.Per coding guidelines, copyright years should be updated when a file is changed. Since this file is being modified in 2026, the copyright should be updated.
🔧 Suggested fix
-# SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
🤖 Fix all issues with AI agents
In `@packages/nvidia_nat_a2a/pyproject.toml`:
- Around line 23-24: The dependency entries in pyproject.toml are not
alphabetically ordered as required; swap the two entries so
"a2a-sdk>=0.3.20,<1.0.0" comes before "nvidia-nat~=1.5" to satisfy the "Keep
sorted!!!" rule and ensure dependency ordering is alphabetical.
🧹 Nitpick comments (7)
examples/frameworks/multi_frameworks/pyproject.toml (1)
14-14: Consider using~=2.1format for consistency with guidelines.The range-based constraint
>=2.1.3,<3.0.0deviates from the coding guideline which recommends~=<version>with two-digit versions. For a post-1.0 package,~=2.1would be the standard format.Note:
~=2.1is equivalent to>=2.1,<2.2(more restrictive), while>=2.1.3,<3.0.0allows all 2.x versions (more permissive). If the broader range is intentional for flexibility in this example, the current format is acceptable.packages/nvidia_nat_semantic_kernel/pyproject.toml (1)
29-29: Consider adding an upper bound to the werkzeug constraint.The constraint
>=3.1.5has no upper bound, which could allow installation of future major versions (e.g., 4.x) that may introduce breaking changes. For transitive dependency pins intended to work around specific issues, a bounded constraint would be safer.♻️ Suggested alternatives
- "werkzeug>=3.1.5", + "werkzeug>=3.1.5,<4.0.0",Or use the two-digit
~=format per coding guidelines:- "werkzeug>=3.1.5", + "werkzeug~=3.1",packages/nvidia_nat_vanna/pyproject.toml (1)
24-25: Mixed version constraint formats within the same file.These three dependencies use
>=X.Y.Z,<N.0.0format whilepandas,pymilvus, andsqlglotuse the~=<version>format. This inconsistency within the same file may cause maintenance confusion.If the broader range is intentional for databricks and vanna packages (e.g., to accommodate faster release cycles), consider adding a comment explaining the rationale.
Also applies to: 29-29
packages/nvidia_nat_langchain/pyproject.toml (1)
19-35: Dependencies are not sorted alphabetically.The comment at line 22 says "Keep sorted!!!" but
nvidia-nat(line 23) appears before thelangchain*dependencies. Alphabetically,lcomes beforen, solangchain*entries should precedenvidia-nat.Additionally, the inline comment at lines 20-21 ("default to using
~=instead of==") is now inconsistent with the range-based format (>=X.Y.Z,<N.0.0) used for external dependencies. Consider updating the comment to reflect the new versioning convention.Suggested reordering and comment update
dependencies = [ # Keep package version constraints as open as possible to avoid conflicts with other packages. Always define a minimum - # version when adding a new package. If unsure, default to using `~=` instead of `==`. Does not apply to nvidia-nat packages. + # version when adding a new package. Use range constraints (e.g., >=X.Y.Z,<N.0.0) for external packages. Does not apply to nvidia-nat packages. # Keep sorted!!! - "nvidia-nat~=1.5", "langchain>=1.2.3,<2.0.0", "langchain-aws>=1.1.0,<2.0.0", "langchain-classic>=1.0.1,<2.0.0", "langchain-core>=1.2.6,<2.0.0", "langchain-huggingface>=1.2.0,<2.0.0", "langchain-litellm>=0.3.5,<1.0.0", "langchain-milvus>=0.3.3,<1.0.0", "langchain-nvidia-ai-endpoints>=1.0.2,<2.0.0", "langchain-openai>=1.1.6,<2.0.0", "langchain-tavily>=0.2.16,<1.0.0", "langgraph>=1.0.5,<2.0.0", + "nvidia-nat~=1.5", ]pyproject.toml (2)
342-342: Missing upper bound ontomlkitdependency.The constraint
>=0.13.2has no upper bound, which could allow installation of a future 1.0.0 or higher release with potential breaking changes. For consistency with other dependencies in this PR (e.g.,colorama>=0.4.6,<1.0.0), consider adding an upper bound.Suggested fix
- "tomlkit>=0.13.2", + "tomlkit>=0.13.2,<1.0.0",
347-347: Missing upper bound onwerkzeugdependency.The constraint
>=3.1.5has no upper bound, which could allow installation of a future 4.x release with potential breaking changes. For consistency with other dependencies in this PR, consider adding an upper bound.Suggested fix
- "werkzeug>=3.1.5", + "werkzeug>=3.1.5,<4.0.0",packages/nvidia_nat_llama_index/pyproject.toml (1)
19-35: Dependencies are not sorted alphabetically.Same issue as in
packages/nvidia_nat_langchain/pyproject.toml: the comment at line 22 says "Keep sorted!!!" butnvidia-nat(line 23) appears before thellama-index*dependencies. Alphabetically,lcomes beforen.The inline comment at lines 20-21 is also inconsistent with the range-based format now used for external dependencies.
Suggested reordering and comment update
dependencies = [ # Keep package version constraints as open as possible to avoid conflicts with other packages. Always define a minimum - # version when adding a new package. If unsure, default to using `~=` instead of `==`. Does not apply to nvidia-nat packages. + # version when adding a new package. Use range constraints (e.g., >=X.Y.Z,<N.0.0) for external packages. Does not apply to nvidia-nat packages. # Keep sorted!!! - "nvidia-nat~=1.5", "llama-index>=0.14.12,<1.0.0", "llama-index-core>=0.14.12,<1.0.0", "llama-index-embeddings-azure-openai>=0.4.1,<1.0.0", "llama-index-embeddings-nvidia>=0.4.2,<1.0.0", "llama-index-embeddings-openai>=0.5.1,<1.0.0", "llama-index-llms-azure-openai>=0.4.2,<1.0.0", "llama-index-llms-bedrock>=0.4.2,<1.0.0", "llama-index-llms-litellm>=0.6.3,<1.0.0", "llama-index-llms-nvidia>=0.4.4,<1.0.0", "llama-index-llms-openai>=0.6.12,<1.0.0", "llama-index-readers-file>=0.5.6,<1.0.0", + "nvidia-nat~=1.5", ]
|
/merge nosquash |
|
Could not determine original ForwardMerger PR from branch name. The branch name should follow the pattern |
Description
Closes #1458
By Submitting this PR I confirm:
Summary by CodeRabbit
Release Notes
Documentation
Chores
✏️ Tip: You can customize this high-level summary in your review settings.