feat: require 3.12 <= Python <= 3.14 - #952
Conversation
17aadd4 to
f6739e5
Compare
|
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughChangesPython 3.11 support was removed from package metadata and documentation, CI jobs now use Python 3.12, and nemo-platform wheel matrices exclude Python 3.11. The CLI help test and third-party license inventory were also updated. Python 3.12 migration
CLI test stability
Third-party metadata refresh
Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
third_party/osv-licenses.json (1)
1095-2179: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick winBump GitPython past 3.1.55
third_party/osv-licenses.jsonstill pinsgitpythonat3.1.50while this entry adds five HIGH-severity advisories (GHSA-3rp5-jjmw-4wv2, GHSA-6p8h-3wgx-97gf, GHSA-94p4-4cq8-9g67, GHSA-fjr4-x663-mwxc, GHSA-r9mr-m37c-5fr3). Update the pin and regenerate the export.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@third_party/osv-licenses.json` around lines 1095 - 2179, Update the gitpython package pin in the OSV license export from 3.1.50 to a version newer than 3.1.55, then regenerate the complete third_party/osv-licenses.json export so its advisory and version data reflects the updated dependency.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/ci.yaml:
- Around line 1072-1075: Update the Python version matrices in both the
wheel-build and wheel-test jobs to include Python 3.11 alongside 3.12, 3.13, and
3.14. Preserve the existing package entries and matrix behavior.
In `@docs/about/release-notes/release-0-1-0.mdx`:
- Line 96: Restore the originally documented Python compatibility range in
docs/about/release-notes/release-0-1-0.mdx at lines 96-96 and
docs/about/release-notes/release-0-2-0.mdx at lines 107-107; do not rewrite
either historical release claim.
In `@packages/nemo_nb/integration_test/md_notebook_links_test/getting-started.md`:
- Line 16: Update the Python prerequisite in getting-started.md from an
open-ended version requirement to explicitly list only the supported versions,
Python 3.12 or 3.13.
---
Outside diff comments:
In `@third_party/osv-licenses.json`:
- Around line 1095-2179: Update the gitpython package pin in the OSV license
export from 3.1.50 to a version newer than 3.1.55, then regenerate the complete
third_party/osv-licenses.json export so its advisory and version data reflects
the updated dependency.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: cc5518dc-86d2-4841-833a-5103241683ef
⛔ Files ignored due to path filters (7)
sdk/python/nemo-platform/.nmpcontext/stainless.yamlis excluded by!sdk/**sdk/python/nemo-platform/README.mdis excluded by!sdk/**sdk/python/nemo-platform/pyproject.tomlis excluded by!sdk/**sdk/python/overrides/nemo-platform/README/01_intro.mdis excluded by!sdk/**sdk/python/overrides/nemo-platform/README/04_versioning.mdis excluded by!sdk/**sdk/stainless.yamlis excluded by!sdk/**uv.lockis excluded by!**/*.lock
📒 Files selected for processing (100)
.github/actions/build-nemo-platform-wheel/action.yaml.github/scripts/ngc_metadata.py.github/scripts/tests/test_ngc_metadata.py.github/workflows/ci.yamlDockerfile.agentic-baseREADME.mddocker-bake.hcldocker/Dockerfile.bakedocker/Dockerfile.nmp-rl-trainingdocker/automodel/pyproject.workspace.tomldocker/customizer/pyproject.workspace.tomldocker/dockerfiles/services/guardrails/Dockerfile.bakedocker/dockerfiles/services/intake/Dockerfile.bakedocker/rl/pyproject.workspace.tomldocker/unsloth/pyproject.workspace.tomldocs/about/release-notes/current-release.mdxdocs/about/release-notes/release-0-1-0.mdxdocs/about/release-notes/release-0-2-0.mdxdocs/cli/index.mdxdocs/evaluator/agent-eval/quickstart.mdxdocs/get-started/setup.mdxdocs/requirements.mdxdocs/support-matrix.mdxpackages/data_designer_nemo/pyproject.tomlpackages/filesets/pyproject.tomlpackages/garak_api/pyproject.tomlpackages/models/pyproject.tomlpackages/nemo_evaluator_sdk/examples/harbor/README.mdpackages/nemo_evaluator_sdk/pyproject.tomlpackages/nemo_evaluator_sdk/src/nemo_evaluator_sdk/agent_eval/runtimes/sandbox/README.mdpackages/nemo_nb/integration_test/md_notebook_links_test/getting-started.mdpackages/nemo_nb/pyproject.tomlpackages/nemo_platform/BUNDLING.mdpackages/nemo_platform/README.mdpackages/nemo_platform/pyproject.tomlpackages/nemo_platform_ext/pyproject.tomlpackages/nemo_platform_plugin/pyproject.tomlpackages/nemo_platform_plugin/src/nemo_platform_plugin/.agents/skills/creating-a-plugin/SKILL.mdpackages/nemo_platform_plugin/src/nemo_platform_plugin/README.mdpackages/nemo_platform_plugin/src/nemo_platform_plugin/docs/QUICKSTART.mdpackages/nmp_build_tools/pyproject.tomlpackages/nmp_common/pyproject.tomlpackages/nmp_customization_common/pyproject.tomlpackages/nmp_platform/pyproject.tomlpackages/nmp_platform_runner/pyproject.tomlpackages/nmp_testing/pyproject.tomlplugins/README.mdplugins/example-plugin/pyproject.tomlplugins/nemo-agents/README.mdplugins/nemo-agents/examples/calculator-agent/pyproject.tomlplugins/nemo-agents/examples/email-phishing-analyzer/pyproject.tomlplugins/nemo-agents/pyproject.tomlplugins/nemo-anonymizer/pyproject.tomlplugins/nemo-auditor/pyproject.tomlplugins/nemo-automodel/pyproject.tomlplugins/nemo-customizer/pyproject.tomlplugins/nemo-data-designer/pyproject.tomlplugins/nemo-deployments/pyproject.tomlplugins/nemo-evaluator/pyproject.tomlplugins/nemo-evaluator/tests/integration/test_harbor_plugin_run.pyplugins/nemo-experimentalist/pyproject.tomlplugins/nemo-experimentalist/src/nemo_experimentalist_plugin/experimentalist/components/cache.pyplugins/nemo-guardrails/pyproject.tomlplugins/nemo-insights/pyproject.tomlplugins/nemo-rl/pyproject.tomlplugins/nemo-safe-synthesizer/pyproject.tomlplugins/nemo-switchyard/pyproject.tomlplugins/nemo-unsloth/pyproject.tomlpyproject.tomlscript/compile-wheel-constraints.shscripts/skill-test.pyservices/automodel/pyproject.tomlservices/core/auth/pyproject.tomlservices/core/entities/pyproject.tomlservices/core/files/pyproject.tomlservices/core/files/script/v2_migration.pyservices/core/inference-gateway/pyproject.tomlservices/core/jobs/pyproject.tomlservices/core/mcp/pyproject.tomlservices/core/models/pyproject.tomlservices/core/secrets/pyproject.tomlservices/guardrails/pyproject.tomlservices/hello-world/pyproject.tomlservices/intake/pyproject.tomlservices/platform-seed/pyproject.tomlservices/rl/pyproject.tomlservices/studio/pyproject.tomlservices/unsloth/pyproject.tomlskills/nemo-data-designer-plugin/SKILL.mdtests/agentic-use/README.mdtests/agentic-use/requirements-nat.txttests/discovery_exclusions.pythird_party/licenses.jsonlthird_party/osv-licenses.jsonthird_party/requirements-main.txttools/mcp-dev-tools/pyproject.tomltools/nemo-platform-sdk-tools/pyproject.tomltools/nemo-platform-sdk-tools/src/nemo_platform_sdk_tools/license/format_osv_licenses.pytools/nemo-platform-sdk-tools/src/nemo_platform_sdk_tools/license/license_overrides.pytools/nemo-platform-sdk-tools/src/nemo_platform_sdk_tools/sdk/post_generation_update.py
💤 Files with no reviewable changes (2)
- plugins/nemo-experimentalist/src/nemo_experimentalist_plugin/experimentalist/components/cache.py
- third_party/licenses.jsonl
f6739e5 to
dfde143
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@plugins/nemo-experimentalist/pyproject.toml`:
- Line 12: Update the nooa dependency declaration in pyproject.toml to reference
a specific tagged release from its public GitHub repository, then regenerate the
corresponding lockfile so it records the pinned tag and resolved revision.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 70b26a81-1e57-4a4d-bbd0-3a3ef5b68ccf
⛔ Files ignored due to path filters (1)
uv.lockis excluded by!**/*.lock
📒 Files selected for processing (16)
.github/workflows/ci.yamlREADME.mddocs/about/release-notes/current-release.mdxdocs/about/release-notes/release-0-1-0.mdxdocs/about/release-notes/release-0-2-0.mdxdocs/cli/index.mdxdocs/get-started/setup.mdxdocs/requirements.mdxdocs/support-matrix.mdxpackages/nemo_platform/README.mdpackages/nemo_platform/pyproject.tomlpackages/nemo_platform_plugin/src/nemo_platform_plugin/README.mdpackages/nemo_platform_plugin/src/nemo_platform_plugin/docs/QUICKSTART.mdplugins/nemo-experimentalist/pyproject.tomlpyproject.tomlthird_party/licenses.jsonl
💤 Files with no reviewable changes (1)
- third_party/licenses.jsonl
🚧 Files skipped from review as they are similar to previous changes (11)
- docs/about/release-notes/release-0-1-0.mdx
- packages/nemo_platform/pyproject.toml
- docs/about/release-notes/release-0-2-0.mdx
- README.md
- docs/get-started/setup.mdx
- docs/requirements.mdx
- docs/about/release-notes/current-release.mdx
- docs/support-matrix.mdx
- packages/nemo_platform_plugin/src/nemo_platform_plugin/README.md
- packages/nemo_platform_plugin/src/nemo_platform_plugin/docs/QUICKSTART.md
- .github/workflows/ci.yaml
dfde143 to
59896be
Compare
Signed-off-by: Nico Tonozzi <ntonozzi@nvidia.com>
59896be to
e894662
Compare
Conflicts in plugins/nemo-experimentalist/pyproject.toml and uv.lock. main #952 raised the plugin to requires-python >=3.12 and dropped the now redundant `python_full_version >= '3.12'` markers from harbor and nooa. Kept that, and re-applied this branch's two additions on top: the nemo-evaluator-sdk dependency and the pytest marker declarations. This also settles the review question about gating nemo-evaluator-sdk behind a 3.12 marker — the whole plugin is 3.12+ now, so the dependency is unambiguously correct ungated. uv.lock regenerated from main's rather than hand-merged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: Nick Goncharenko <ngoncharenko@nvidia.com>
Signed-off-by: Nico Tonozzi <ntonozzi@nvidia.com>
nemo-platformwrapper minimum Python version to 3.12