Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .github/wheel-constraints/nemo-platform-plugin.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Partial dependency constraints for the CI wheel install-smoke-test.
# Pins the DIRECT external deps of the built nemo-platform-plugin wheel to vetted versions for
# reproducibility; deep transitives resolve normally (so they stay py3.14-compatible and
# cannot self-conflict). litellm is capped <1.92 — its 1.92.0 native build has no py3.14 wheel.
# reproducibility; deep transitives resolve normally and cannot self-conflict.
# Regenerate with: script/compile-wheel-constraints.sh <dir-with-built-wheels>
#
anthropic==0.118.0
Expand All @@ -26,4 +25,3 @@ rich==15.0.0
sniffio==1.3.1
typer==0.25.1
typing-extensions==4.16.0
litellm<1.92 # 1.92.0 native build has no py3.14 wheel
4 changes: 1 addition & 3 deletions .github/wheel-constraints/nemo-platform-services.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Partial dependency constraints for the CI wheel install-smoke-test.
# Pins the DIRECT external deps of the built nemo-platform[services] wheel to vetted versions for
# reproducibility; deep transitives resolve normally (so they stay py3.14-compatible and
# cannot self-conflict). litellm is capped <1.92 — its 1.92.0 native build has no py3.14 wheel.
# reproducibility; deep transitives resolve normally and cannot self-conflict.
# Regenerate with: script/compile-wheel-constraints.sh <dir-with-built-wheels>
#
aioboto3==15.5.0
Expand Down Expand Up @@ -97,4 +96,3 @@ uvicorn==0.51.0
wasmtime==47.0.1
xdg-base-dirs==6.0.2
yara-python==4.5.1
litellm<1.92 # 1.92.0 native build has no py3.14 wheel
20 changes: 3 additions & 17 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1182,10 +1182,7 @@ jobs:
fail-fast: false
matrix:
package: [nemo-platform, nemo-platform-plugin]
python-version: ["3.11", "3.12", "3.13", "3.14"]
exclude:
- package: nemo-platform
python-version: "3.11"
python-version: ["3.12", "3.13"]
steps:
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
Expand Down Expand Up @@ -1229,10 +1226,7 @@ jobs:
fail-fast: false
matrix:
package: [nemo-platform, nemo-platform-plugin]
python-version: ["3.11", "3.12", "3.13", "3.14"]
exclude:
- package: nemo-platform
python-version: "3.11"
python-version: ["3.12", "3.13"]
steps:
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
Expand Down Expand Up @@ -1266,17 +1260,9 @@ jobs:
echo "::error::Expected exactly one wheel, found ${#wheels[@]}"
exit 1
fi
if [[ "${PYTHON_VERSION}" == "3.14" ]]; then
# litellm 1.92.0 builds its Rust bridge from source on Python 3.14.
# Its pinned PyO3 supports the stable ABI, but rejects 3.14 unless
# this forward-compatibility opt-in is present.
export PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1
fi
WHEEL="${wheels[0]}"
# Supply-chain: partial-pin the wheel's direct external deps to a committed constraints
# file (deep transitives resolve normally, so they stay py3.14-compatible and can't
# self-conflict), and cap the litellm transitive whose 1.92.0 native build has no py3.14
# wheel. Regenerate with script/compile-wheel-constraints.sh.
# file. Regenerate with script/compile-wheel-constraints.sh.
VENV="${RUNNER_TEMP}/wheelcheck/.venv"
uv venv "${VENV}" --python "${PYTHON_VERSION}"
uv pip install --python "${VENV}/bin/python" \
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,9 +176,9 @@ The demo agent uses `${NEMO_DEFAULT_MODEL}` for both execution and the judge LLM

Full documentation: [NeMo Platform docs](https://docs.nvidia.com/nemo-platform)

- [Setup](docs/get-started/setup.md): installation, providers, SDK.
- [CLI reference](docs/cli/index.md): all commands.
- [API reference](docs/api/index.md): REST endpoints.
- [Setup](https://docs.nvidia.com/nemo-platform/documentation/get-started): installation, providers, SDK.
- [CLI reference](https://docs.nvidia.com/nemo-platform/documentation/reference/cli-reference): all commands.
- [API reference](https://docs.nvidia.com/nemo-platform/documentation/reference/api-reference): REST endpoints.

## Development

Expand Down
4 changes: 2 additions & 2 deletions packages/nemo_platform/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,8 @@ http://localhost:8080/apis/inference-gateway/v2/workspaces/default/openai/-/v1/c
- **Source:** https://github.com/NVIDIA-NeMo/nemo-platform
- **Documentation:** https://docs.nvidia.com/nemo-platform/
- **Setup playbook:** https://github.com/NVIDIA-NeMo/nemo-platform/blob/main/SETUP.md
- **CLI reference:** https://github.com/NVIDIA-NeMo/nemo-platform/blob/main/docs/cli/index.md
- **API reference:** https://github.com/NVIDIA-NeMo/nemo-platform/blob/main/docs/api/index.md
- **CLI reference:** https://docs.nvidia.com/nemo-platform/documentation/reference/cli-reference
- **API reference:** https://docs.nvidia.com/nemo-platform/documentation/reference/api-reference
- **Issue tracker:** https://github.com/NVIDIA-NeMo/nemo-platform/issues

## License
Expand Down
3 changes: 1 addition & 2 deletions packages/nemo_platform/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,11 @@ description = "Convenience wrapper distribution for NeMo Platform Python package
readme = "README.md"
authors = [{ name = "NVIDIA Corporation" }]
license = "Apache-2.0"
requires-python = ">=3.12,<3.15"
requires-python = ">=3.12,<3.14"
classifiers = [
"Intended Audience :: Developers",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Operating System :: OS Independent",
"Operating System :: POSIX",
"Operating System :: MacOS",
Expand Down
4 changes: 1 addition & 3 deletions packages/nemo_platform_plugin/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,11 @@ name = "nemo-platform-plugin"
dynamic = ["version"]
description = "Public plugin contract for the NeMo Platform - the only package plugin authors need."
readme = "src/nemo_platform_plugin/README.md"
requires-python = ">=3.11,<3.15"
requires-python = ">=3.12,<3.14"
Comment thread
mckornfield marked this conversation as resolved.
classifiers = [
"Intended Audience :: Developers",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Operating System :: OS Independent",
"Operating System :: POSIX",
"Operating System :: MacOS",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# nemo-platform-plugin

[![License](https://img.shields.io/badge/license-Apache_2.0-D22128?style=flat-square)](https://github.com/NVIDIA-NeMo/nemo-platform/blob/main/LICENSE)
[![Python](https://img.shields.io/badge/python-3.11--3.14-3776AB?style=flat-square&logo=python&logoColor=white)](https://www.python.org/)
[![Python](https://img.shields.io/badge/python-3.12--3.13-3776AB?style=flat-square&logo=python&logoColor=white)](https://www.python.org/)
[![Docs](https://img.shields.io/static/v1?label=docs&message=docs.nvidia.com%2Fnemo-platform&color=76B900&style=flat-square&logo=readthedocs&logoColor=white)](https://docs.nvidia.com/nemo-platform)

Build NeMo Platform plugins in Python.
Expand Down Expand Up @@ -40,7 +40,7 @@ A complete NeMo Platform plugin that contributes one HTTP route — a `pyproject
[project]
name = "nemo-my-plugin"
version = "0.1.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
Comment thread
mckornfield marked this conversation as resolved.
dependencies = ["nemo-platform-plugin"]

[project.entry-points."nemo.services"]
Expand Down
Loading