Skip to content

Commit 52c8da5

Browse files
authored
Merge branch 'develop' into feature/cross-workflow-observability
2 parents 16895f4 + 7c80936 commit 52c8da5

File tree

349 files changed

+12495
-3406
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

349 files changed

+12495
-3406
lines changed

.coderabbit.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ reviews:
2828
issue_assessment:
2929
mode: warning
3030
auto_review:
31+
base_branches: ["develop", "release/.*"]
3132
enabled: true
3233
drafts: false
3334
auto_incremental_review: true

.cursor/rules/general.mdc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ These are the overarching standards that every **source, test, documentation and
4343
- The `pyproject.toml` should declare a dependency on `nvidia-nat` or another package with a name starting with `nvidia-nat-`.
4444
- Dependencies should use `~=<version>` format with two-digit versions (e.g., `~=1.0`).
4545
- If packages contain Python code, they should have tests in a `tests/` directory at the same level as `pyproject.toml`.
46-
- Unit tests live in `tests/` (or `examples/*/tests`) and use the markers defined in `pyproject.toml` (e.g. `e2e`, `integration`).
46+
- Unit tests live in `tests/` (or `examples/*/tests`) and use the markers defined in `pyproject.toml` (e.g. `integration`).
4747
- Documentation sources are Markdown files under `docs/source`. Image files should be placed in `docs/source/_static` directory.
4848
- Configuration files consumed by code are stored next to that code in a `configs/` folder.
4949
- Large / binary assets **must** be committed with Git-LFS and placed in a neighbouring `data/` folder.

.cursor/rules/nat-workflows/add-functions.mdc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,8 @@ class MyCompositeConfig(FunctionBaseConfig, name="my_composite_function"):
161161
@register_function(config_type=MyCompositeConfig)
162162
async def register_composite_function(config: MyCompositeConfig, builder: Builder):
163163
"""Registers a function that calls two other functions."""
164-
func1 = builder.get_function(config.first_function)
165-
func2 = builder.get_function(config.second_function)
164+
func1 = await builder.get_function(config.first_function)
165+
func2 = await builder.get_function(config.second_function)
166166

167167
async def _composite_function(data: str) -> str:
168168
res1 = await func1.ainvoke(data)

.gitlab-ci.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ variables:
3939
GIT_SUBMODULE_FORCE_HTTPS: "true"
4040
GIT_SUBMODULE_STRATEGY: recursive
4141
MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
42+
NAT_CI_ETCD_HOST: "etcd"
43+
NAT_CI_MILVUS_HOST: "milvus"
4244
NAT_CI_MYSQL_HOST: "mysql"
4345
NAT_CI_REDIS_HOST: "redis"
4446
NAT_CI_S3_HOST: "minio"
@@ -76,11 +78,23 @@ check:style:
7678
test:python_tests:
7779
stage: test
7880
services:
79-
- mysql:9.3
8081
- name: minio/minio:RELEASE.2025-07-18T21-56-31Z
8182
alias: minio
8283
command: ["server", "/data", "--console-address", ":9001"]
84+
- mysql:9.3
85+
- name: arizephoenix/phoenix:latest
86+
alias: phoenix
8387
- redis:7-alpine
88+
- name: quay.io/coreos/etcd:v3.5.5
89+
alias: etcd
90+
command: ["etcd", "--advertise-client-urls", "http://0.0.0.0:2379", "--listen-client-urls", "http://0.0.0.0:2379"]
91+
- name: milvusdb/milvus:v2.3.1
92+
alias: milvus
93+
variables:
94+
ETCD_ENDPOINTS: etcd:2379
95+
MINIO_ADDRESS: minio:9000
96+
command: ["milvus", "run", "standalone"]
97+
8498
script:
8599
- echo "Running tests"
86100
- ./ci/scripts/gitlab/tests.sh

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,13 @@ pip install nvidia-nat
8181
NeMo Agent Toolkit has many optional dependencies which can be installed with the core package. Optional dependencies are grouped by framework and can be installed with the core package. For example, to install the LangChain/LangGraph plugin, run the following:
8282

8383
```bash
84-
pip install nvidia-nat[langchain]
84+
pip install "nvidia-nat[langchain]"
8585
```
8686

8787
Or for all optional dependencies:
8888

8989
```bash
90-
pip install nvidia-nat[all]
90+
pip install "nvidia-nat[all]"
9191
```
9292

9393
The full list of optional dependencies can be found [here](./docs/source/quick-start/installing.md#framework-integrations).

ci/markdown-link-check-config.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
},
1515
{
1616
"pattern": "^https://www\\.mysql\\.com"
17+
},
18+
{
19+
"pattern": "^https://arize\\.com"
1720
}
1821
]
1922
}

ci/release/update_doc_versions1.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def main(versions_file: str, new_version: str):
2626
if new_version.count('.') != 1:
2727
raise ValueError("Version string must only include <major>.<minor>")
2828

29-
with open(versions_file, "r", encoding="utf-8") as fh:
29+
with open(versions_file, encoding="utf-8") as fh:
3030
version_list = json.load(fh)
3131

3232
for version_data in version_list:

ci/release/update_toml_dep.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def main(toml_file_path: str, new_version: str, package_name: str, version_match
4141
version_match : str
4242
Version match specifier to use for the dependency.
4343
"""
44-
with open(toml_file_path, "r", encoding="utf-8") as fh:
44+
with open(toml_file_path, encoding="utf-8") as fh:
4545
toml_data = tomlkit.load(fh)
4646

4747
toml_project: tomlkit.items.Table = toml_data['project']

ci/scripts/common.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,6 @@ function get_lfs_files() {
178178
if [[ "${USE_HOST_GIT}" == "1" ]]; then
179179
rapids-logger "Using host git, skipping git-lfs install"
180180
else
181-
rapids-logger "Fetching LFS files"
182-
git lfs install
183181
rapids-logger "Calling git lfs fetch"
184182
git lfs fetch
185183
rapids-logger "Calling git lfs pull"

ci/scripts/copyright.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import argparse
1919
import datetime
20-
import io
2120
import logging
2221
import os
2322
import re
@@ -90,7 +89,7 @@ def replace_current_year(line, start, end):
9089
# first turn a simple regex into double (if applicable). then update years
9190
res = CheckSimple.sub(r"Copyright (c) \1-\1, NVIDIA CORPORATION", line)
9291

93-
res = CheckDouble.sub(r"Copyright (c) {:04d}-{:04d}, NVIDIA CORPORATION".format(start, end), res)
92+
res = CheckDouble.sub(rf"Copyright (c) {start:04d}-{end:04d}, NVIDIA CORPORATION", res)
9493
return res
9594

9695

@@ -137,7 +136,7 @@ def check_copyright(f,
137136
cr_found = False
138137
apache_lic_found = not verify_apache_v2
139138
year_matched = False
140-
with io.open(f, "r", encoding="utf-8") as file:
139+
with open(f, encoding="utf-8") as file:
141140
lines = file.readlines()
142141
for line in lines:
143142
line_num += 1
@@ -213,7 +212,7 @@ def check_copyright(f,
213212
logger.info("File: %s. Changing line(s) %s", f, ', '.join(str(x[1]) for x in errs if x[-1] is not None))
214213
for _, line_num, __, replacement in errs_update:
215214
lines[line_num - 1] = replacement
216-
with io.open(f, "w", encoding="utf-8") as out_file:
215+
with open(f, "w", encoding="utf-8") as out_file:
217216
for new_line in lines:
218217
out_file.write(new_line)
219218

0 commit comments

Comments
 (0)