chore: move python pin to 3.15#664
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
📜 Recent review details🧰 Additional context used📓 Path-based instructions (2).github/workflows/*.yml📄 CodeRabbit inference engine (CONTRIBUTING.md)
Files:
.github/**⚙️ CodeRabbit configuration file
Files:
🔇 Additional comments (1)
WalkthroughChangesPython version support
Estimated code review effort: 1 (Trivial) | ~2 minutes Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Checkov (3.3.8).github/workflows/ci-checks.ymlTraceback (most recent call last): Comment |
Signed-off-by: Matt Kornfield <mkornfield@nvidia.com>
25c4500 to
a5fb421
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 9a5d1a99-d348-4442-ba8a-4c00bce35378
⛔ Files ignored due to path filters (1)
uv.lockis excluded by!**/*.lock,!uv.lock
📒 Files selected for processing (1)
pyproject.toml
📜 Review details
⏰ Context from checks skipped due to timeout. (10)
- GitHub Check: Unit Tests (3.11)
- GitHub Check: End-user Wheel Install
- GitHub Check: Unit Tests (3.13)
- GitHub Check: Unit Tests (3.12)
- GitHub Check: Smoke Tests
- GitHub Check: Greptile Review
- GitHub Check: Typecheck
- GitHub Check: Analyze (Python)
- GitHub Check: Analyze (python)
- GitHub Check: Analyze (javascript-typescript)
🧰 Additional context used
📓 Path-based instructions (3)
pyproject.toml
📄 CodeRabbit inference engine (.cursor/rules/repo-navigation.mdc)
Configure package metadata, dependencies, extras (cpu/cu129/engine), and uv configuration in
pyproject.tomlRun the lock-drift check when changing Python dependencies or
pyproject.toml; keepuv.locksynchronized.
Files:
pyproject.toml
⚙️ CodeRabbit configuration file
Treat pyproject.toml as high-risk. Check package metadata, uv indexes, dependency groups, optional extras, Python version bounds, hatch config, ty config, script entry points, dependency consistency, and whether changes require regenerating uv.lock.
Files:
pyproject.toml
**/*.toml
📄 CodeRabbit inference engine (STYLE_GUIDE.md)
Use spaces around
=, comment dependency pins inline, and follow the prescribedpyproject.tomlsection order.
Files:
pyproject.toml
**/*
📄 CodeRabbit inference engine (STYLE_GUIDE.md)
**/*: Every source file requires the SPDX copyright and license header appropriate to its file format.
End files with a newline, remove trailing whitespace, use one space between sentences, and keep code, comments, and docstrings within 120 characters.
**/*: All contributions must use verified Git commits and DCO sign-off; unsigned or unsigned-off commits cannot be merged.
Branches other thanmainmust follow<author>/<description>, optionally including an issue ID or type; branch names must use lowercase alphanumeric characters and hyphens.
Commits merged tomainmust follow Conventional Commits, using a valid lowercase type and a description of at most 100 characters.
Files:
pyproject.toml
⚙️ CodeRabbit configuration file
**/*: Review as a senior maintainer for NeMo Safe Synthesizer. Prioritize issues that can change behavior, break user workflows, weaken privacy guarantees, hide failures, make tests unreliable, or create maintenance risk. Avoid generic style commentary unless it points to a concrete project convention that automated tools will not catch.
Comment only when the finding is actionable and tied to changed code. For each finding, state the impact, the condition that triggers it, and the smallest practical fix. Prefer one precise comment over broad advice. Do not ask for refactors outside the PR scope unless the changed code creates the problem.
Review type guidance: - Potential issue: use for correctness bugs, data loss, privacy leaks,
security risks, broken public APIs, invalid config behavior, missing
validation, hidden failures, nondeterministic tests, or CI breakage.
- Refactor suggestion: use for local maintainability problems introduced
by the diff when they have clear future cost, such as duplicated setup,
unclear boundaries, over-mocking, avoidable complexity, or opaque test
helpers.- Nitpick: avoid in chill mode. Do not emit formatting, import-order,
wording, or style-only comments unless automated tools cannot catch the
issue and it affects maintainability.Severity guidance: - Critical: security/privacy leaks, data loss, training/test/holdout
contamination, or broken release/package/core pipeline execution.
- Major: incorrect generation/training/evaluation behavior, broken
CLI/SDK public API, invalid config defaults or validators, or GPU/vLLM
cleanup and process-isolation bugs likely to fail CI or production
runs.- Minor: localized bugs, missing focused tests for changed behavior, or
bad test patterns that weaken regression coverage.- Trivial: small cleanup with no behavior impact. Usually suppress in
chill mode.- Info: context only. Avoid unless it helps reviewers understand risk.
Safe-Synthesizer-specific review focus: - Data ...
Files:
pyproject.toml
🔇 Additional comments (1)
pyproject.toml (1)
7-7: 🗄️ Data Integrity & IntegrationRun the required lock-drift check for this metadata change.
Changing
pyproject.tomlcan change the resolver’s supported-environment metadata. Verify the repository’s lock-drift check passes and thatuv.lockremains synchronized before merging.Sources: Coding guidelines, Path instructions
| readme = "README.md" | ||
| authors = [{ name = "NVIDIA", email = "nemo@nvidia.com" }] | ||
| requires-python = ">=3.11, <3.14" | ||
| requires-python = ">=3.11, <3.15" |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n## pyproject.toml\n'
cat -n pyproject.toml | sed -n '1,120p'
printf '\n## README.md Python mentions\n'
rg -n "3\\.14|Python" README.md || true
printf '\n## docs/user-guide/troubleshooting.md Python mentions\n'
rg -n "3\\.14|Python|vLLM" docs/user-guide/troubleshooting.md || true
printf '\n## .github/workflows/ci-checks.yml Python matrix\n'
rg -n "3\\.11|3\\.12|3\\.13|3\\.14|python-version|matrix" .github/workflows/ci-checks.yml || trueRepository: NVIDIA-NeMo/Safe-Synthesizer
Length of output: 6408
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n## vLLM and Python constraint mentions\n'
rg -n "vLLM|<3\\.14|3\\.14\\+|requires-python|Python 3\\.14" pyproject.toml README.md docs .github/workflows -g '!uv.lock' || true
printf '\n## pyproject.toml vLLM-related dependency lines\n'
rg -n "vllm|transformers|torch|flashinfer|engine|cpu|cuda" pyproject.toml || trueRepository: NVIDIA-NeMo/Safe-Synthesizer
Length of output: 11120
Keep Python 3.14 out of the release metadata for now. requires-python and the Python 3.14 classifier now advertise support, but the repo still documents 3.14 as unsupported and CI only exercises 3.11–3.13. Either keep <3.14 until the runtime stack is ready, or update the support docs and add 3.14 coverage in the same change.
Source: Path instructions
Greptile SummaryThis PR bumps the upper bound of the supported Python version range from
Confidence Score: 5/5Safe to merge — the change is a straightforward version ceiling bump that is applied consistently across all three affected files. All three files are updated in lockstep: the requires-python ceiling, the PyPI classifier, the CI matrix, and the regenerated lock file all point to the same new range. No logic was touched, and the CI matrix will exercise Python 3.14 directly so any dependency incompatibilities will surface before merge. No files require special attention. Important Files Changed
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Summary
Pre-Review Checklist
Ensure that the following pass:
mise run format && mise run checkor via prek validation.mise run testpasses locallymise run test:e2epasses locallymise run test:ci-containerpasses locally (recommended)/syncon this PR to trigger a run (auto-triggers on ready-for-review)Pre-Merge Checklist
Other Notes
Summary by CodeRabbit
New Features
Tests