Skip to content

Enable Python 3.14 wheel support to unblock NGC PyTorch container testing on Ubuntu 26.04 + Python 3.14#1386

Merged
kevalmorabia97 merged 2 commits intomainfrom
kmorabia/py314-wheels
May 4, 2026
Merged

Enable Python 3.14 wheel support to unblock NGC PyTorch container testing on Ubuntu 26.04 + Python 3.14#1386
kevalmorabia97 merged 2 commits intomainfrom
kmorabia/py314-wheels

Conversation

@kevalmorabia97
Copy link
Copy Markdown
Collaborator

@kevalmorabia97 kevalmorabia97 commented May 4, 2026

Ubuntu 26.04 is here and very soon, NVIDIA PyTorch containers will ship with Python 3.14 requiring us to enable untested support to unblock them

Summary by CodeRabbit

  • New Features

    • (no user-facing new features)
  • Chores

    • Added Python 3.14 support; updated project Python requirement to <3.15
  • Tests / CI

    • Expanded unit test matrix and CI to run tests on Python 3.14
  • Documentation

    • Updated installation docs and changelog to note Python 3.14 support and upcoming Python 3.10 deprecation

….04 + Python 3.14

Signed-off-by: Keval Morabia <28916987+kevalmorabia97@users.noreply.github.com>
@kevalmorabia97 kevalmorabia97 requested a review from a team as a code owner May 4, 2026 20:28
@kevalmorabia97 kevalmorabia97 added the cherry-pick-0.44.0 After code freeze, cherry-pick to release branch for next rc (bulk update). Only for bug fixes / doc label May 4, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 4, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: defd1d5f-5cb1-4ad4-8d7d-a97857c8602f

📥 Commits

Reviewing files that changed from the base of the PR and between cbb6bfc and e27ddd0.

📒 Files selected for processing (1)
  • CHANGELOG.rst
✅ Files skipped from review due to trivial changes (1)
  • CHANGELOG.rst

📝 Walkthrough

Walkthrough

Adds Python 3.14 to the project support matrix: updates pyproject Python range, adds 3.14 to Nox and GitHub Actions unit test matrices, updates Linux install docs, and notes 3.14 support in the changelog; also reformats a ruff per-file-ignores entry.

Changes

Python 3.14 Support & Version Documentation

Layer / File(s) Summary
Dependency Declaration
pyproject.toml
project.requires-python changed from >=3.10,<3.14 to >=3.10,<3.15. Reformat tool.ruff.lint.per-file-ignores["modelopt/torch/kernels/quantization/gemm/*"] into a multi-line list keeping the same rule codes (N803, N806, E731).
Test Infrastructure
noxfile.py
@nox.session(python=[...]) for the unit session adds "3.14" to the list.
CI Matrix
.github/workflows/unit_tests.yml
Adds an include matrix entry nox_session: "unit-3.14(torch_211, tf_latest)" with python_version: "3.14" to the multi-version job.
Installation Documentation
docs/source/getting_started/_installation_for_Linux.rst
Updates Linux Python requirement from >=3.10,<3.14 to >=3.10,<3.15.
Release Documentation
CHANGELOG.rst
Adds a 0.44 misc bullet noting Python 3.14 installation support (basic unit tests verified), with production default remaining Python 3.12 and Python 3.10 to be dropped next release.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 6
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: enabling Python 3.14 wheel support for NGC PyTorch container testing on Ubuntu 26.04.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Security Anti-Patterns ✅ Passed PR contains only configuration and documentation updates for Python 3.14 support with no source code modifications or security-sensitive patterns introduced.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch kmorabia/py314-wheels

Review rate limit: 8/10 reviews remaining, refill in 11 minutes and 46 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
pyproject.toml (1)

22-30: ⚡ Quick win

Add a Python 3.14 Trove classifier to match declared support.

requires-python now includes 3.14, but the classifiers stop at 3.13. Aligning both improves package metadata accuracy on indexes/tools.

Proposed change
 classifiers = [
     "Programming Language :: Python :: 3",
     "Programming Language :: Python :: 3.10",
     "Programming Language :: Python :: 3.11",
     "Programming Language :: Python :: 3.12",
     "Programming Language :: Python :: 3.13",
+    "Programming Language :: Python :: 3.14",
     "Intended Audience :: Developers",
     "Intended Audience :: Science/Research",
     "Topic :: Scientific/Engineering :: Artificial Intelligence",
 ]
🤖 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 `@pyproject.toml` around lines 22 - 30, The package metadata declares support
for Python 3.14 in requires-python but the Trove classifiers list stops at 3.13;
update the classifiers array in pyproject.toml by adding the "Programming
Language :: Python :: 3.14" entry (near the existing "Programming Language ::
Python :: 3.13" line) so the classifiers align with the declared requires-python
range.
🤖 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 `@CHANGELOG.rst`:
- Line 63: Update the release note sentence (the line containing "Add
installation support for Python 3.14. Only basic unit tests are verified for
now. Production usage is still default to Python 3.12. Python 3.10 support will
be dropped in the next release.") to clearer, grammatical wording — for example:
"Add installation support for Python 3.14; only basic unit tests have been
verified so far. Production builds will continue to target Python 3.12, and
Python 3.10 support will be dropped in the next release." Replace the original
sentence with this tightened phrasing.

---

Nitpick comments:
In `@pyproject.toml`:
- Around line 22-30: The package metadata declares support for Python 3.14 in
requires-python but the Trove classifiers list stops at 3.13; update the
classifiers array in pyproject.toml by adding the "Programming Language ::
Python :: 3.14" entry (near the existing "Programming Language :: Python ::
3.13" line) so the classifiers align with the declared requires-python range.
🪄 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: 16c70b9b-fee5-4f33-951f-f5b73238af25

📥 Commits

Reviewing files that changed from the base of the PR and between 1d21ab9 and cbb6bfc.

📒 Files selected for processing (5)
  • .github/workflows/unit_tests.yml
  • CHANGELOG.rst
  • docs/source/getting_started/_installation_for_Linux.rst
  • noxfile.py
  • pyproject.toml

Comment thread CHANGELOG.rst Outdated
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 4, 2026

PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-05-04 21:56 UTC

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Signed-off-by: Keval Morabia <28916987+kevalmorabia97@users.noreply.github.com>
@kevalmorabia97 kevalmorabia97 enabled auto-merge (squash) May 4, 2026 20:34
@codecov
Copy link
Copy Markdown

codecov Bot commented May 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.89%. Comparing base (acfab41) to head (e27ddd0).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1386      +/-   ##
==========================================
- Coverage   76.90%   76.89%   -0.01%     
==========================================
  Files         471      471              
  Lines       50562    50562              
==========================================
- Hits        38886    38881       -5     
- Misses      11676    11681       +5     
Flag Coverage Δ
examples 41.55% <ø> (+0.89%) ⬆️
gpu 59.67% <ø> (-0.66%) ⬇️
regression 14.89% <ø> (+0.06%) ⬆️
unit 52.80% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@kevalmorabia97 kevalmorabia97 merged commit 70546bd into main May 4, 2026
48 checks passed
@kevalmorabia97 kevalmorabia97 deleted the kmorabia/py314-wheels branch May 4, 2026 21:56
kevalmorabia97 added a commit that referenced this pull request May 5, 2026
…ting on Ubuntu 26.04 + Python 3.14 (#1386)

Ubuntu 26.04 is here and very soon, NVIDIA PyTorch containers will ship
with Python 3.14 requiring us to enable untested support to unblock them

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

* **New Features**
  * DFlash offline speculative decoding training
  * MXFP4→NVFP4 weight conversion support
  * Shared hidden-state dump utilities
  * Updated DeepSeek PTQ calibration defaults

* **Chores**
  * Added Python 3.14 support; updated Python requirement to <3.15

* **Documentation**
  * Updated installation documentation for Python version compatibility

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Keval Morabia <28916987+kevalmorabia97@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Signed-off-by: Keval Morabia <28916987+kevalmorabia97@users.noreply.github.com>
@kevalmorabia97 kevalmorabia97 added the cherry-pick-done Added by bot once PR is cherry-picked to the release branch label May 5, 2026
kevalmorabia97 added a commit that referenced this pull request May 5, 2026
#1368 #1373 #1359 #1361 #1325 #1369 #1370 #1371 #1375 #1386 #1353 #1356 #1390 (#1385)

## Cherry-picked PRs

- #1352
- #1351
- #1330
- #1354
- #1355
- #1360
- #1342
- #1324
- #1340
- #1368
- #1373
- #1359
- #1361
- #1325
- #1369
- #1370
- #1371
- #1375
- #1386
- #1353
- #1356
- #1390

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added Python 3.14 support (basic unit tests verified; production
defaults on Python 3.12)
  * Added Windows CUDA 13.x installation guidance
  * Introduced LLM ONNX export utilities with quantization support
  * Extended Medusa mode support in speculative decoding pipeline

* **Bug Fixes**
  * Fixed FP8 quantization for vision transformer multi-head attention
* Improved MoE expert handling in quantization calibration and inference
  * Enhanced ONNX graph utilities for FP8 weight transformation

* **Documentation**
* Comprehensive Minitron pruning + distillation + quantization + vLLM
tutorials with ablation studies
  * Megatron data preparation guide for tokenization workflows
  * Puzzletron distillation results and cross-reference updates

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Keval Morabia <28916987+kevalmorabia97@users.noreply.github.com>
Signed-off-by: ajrasane <131806219+ajrasane@users.noreply.github.com>
Signed-off-by: Grzegorz Karch <gkarch@nvidia.com>
Signed-off-by: Grzegorz K. Karch <grzegorz-k-karch@users.noreply.github.com>
Signed-off-by: Chenjie Luo <chenjiel@nvidia.com>
Signed-off-by: Asha Anoosheh <aanoosheh@nvidia.com>
Signed-off-by: Jennifer Chen <jennifchen@nvidia.com>
Signed-off-by: weimingc <17592131+meenchen@users.noreply.github.com>
Signed-off-by: ynankani <ynankani@nvidia.com>
Signed-off-by: h-guo18 <67671475+h-guo18@users.noreply.github.com>
Signed-off-by: vipandya <vipandya@nvidia.com>
Signed-off-by: dmoodie <dmoodie@nvidia.com>
Signed-off-by: Hrishith Thadicherla <hthadicherla@nvidia.com>
Signed-off-by: Ye Yu <yeyu@nvidia.com>
Signed-off-by: Kai Xu <kaix@nvidia.com>
Signed-off-by: Suguna Velury <178320438+sugunav14@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Ajinkya Rasane <131806219+ajrasane@users.noreply.github.com>
Co-authored-by: Grzegorz K. Karch <grzegorz-k-karch@users.noreply.github.com>
Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
Co-authored-by: Chenjie Luo <108829653+cjluo-nv@users.noreply.github.com>
Co-authored-by: Asha Anoosheh <aanoosheh@nvidia.com>
Co-authored-by: Jenny Chen <jennifchen@nvidia.com>
Co-authored-by: Wei-Ming Chen <17592131+meenchen@users.noreply.github.com>
Co-authored-by: ynankani <ynankani@nvidia.com>
Co-authored-by: h-guo18 <67671475+h-guo18@users.noreply.github.com>
Co-authored-by: vishalpandya1990 <vishalpandya1990@gmail.com>
Co-authored-by: dthienan-nv <dmoodie@nvidia.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Hrishith Thadicherla <99313418+hthadicherla@users.noreply.github.com>
Co-authored-by: yeyu-nvidia <yeyu@nvidia.com>
Co-authored-by: kaix-nv <kaix@nvidia.com>
Co-authored-by: sugunav14 <178320438+sugunav14@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cherry-pick-0.44.0 After code freeze, cherry-pick to release branch for next rc (bulk update). Only for bug fixes / doc cherry-pick-done Added by bot once PR is cherry-picked to the release branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants