Skip to content

Revert "[None][infra] Bump black and tornado (#12876)"#12894

Merged
yuanjingx87 merged 2 commits intoNVIDIA:release/1.2.1from
niukuo:revert_bump
Apr 9, 2026
Merged

Revert "[None][infra] Bump black and tornado (#12876)"#12894
yuanjingx87 merged 2 commits intoNVIDIA:release/1.2.1from
niukuo:revert_bump

Conversation

@niukuo
Copy link
Copy Markdown
Collaborator

@niukuo niukuo commented Apr 9, 2026

Summary by CodeRabbit

  • Chores
    • Updated NumPy dependency constraints to improve compatibility across packages and examples.
    • Adjusted development environment dependencies including aiperf and package requirements.
    • Refreshed Docker image tags for build infrastructure and CI/CD pipelines.
    • Streamlined dependency configuration by removing outdated constraint entries.

Description

Test Coverage

PR Checklist

Please review the following before submitting your PR:

  • PR description clearly explains what and why. If using CodeRabbit's summary, please make sure it makes sense.

  • PR Follows TRT-LLM CODING GUIDELINES to the best of your knowledge.

  • Test cases are provided for new code paths (see test instructions)

  • Any new dependencies have been scanned for license and vulnerabilities

  • CODEOWNERS updated if ownership changes

  • Documentation updated as needed

  • Update tava architecture diagram if there is a significant design change in PR.

  • The reviewers assigned automatically/manually are appropriate for the PR.

  • Please check this after reviewing the above items as appropriate for this PR.

GitHub Bot Help

To see a list of available CI bot commands, please comment /bot help.

@niukuo niukuo requested a review from a team as a code owner April 9, 2026 15:15
@niukuo
Copy link
Copy Markdown
Collaborator Author

niukuo commented Apr 9, 2026

/bot run --stage-list "Build-Docker-Images"

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 9, 2026

📝 Walkthrough

Walkthrough

Multiple dependency and configuration files were updated: constraint entries for tornado and black were removed, NumPy version constraints were tightened in multiple requirement files, numexpr constraint was added, aiperf version was downgraded, and Docker image tag timestamps were updated across four image variables.

Changes

Cohort / File(s) Summary
Constraint and Development Dependencies
constraints.txt, requirements-dev.txt
Removed tornado>=6.5.5 and black>=26.3.1 from constraints; downgraded aiperf from 0.6.0 to 0.4.0 in development requirements.
NumPy and Related Packages
requirements.txt, examples/models/core/gemma/requirements.txt
Tightened NumPy constraint from numpy>=2.0.0,<2.4 to numpy<2; added numpy<2 constraint to Gemma example; added numexpr<2.14.0 with numpy.typing workaround comment.
Docker Image Tags
jenkins/current_image_tags.properties
Updated Docker image tag timestamps from 202603011156-11778 to 202604091255-12872 across four image variables: LLM_DOCKER_IMAGE, LLM_SBSA_DOCKER_IMAGE, LLM_ROCKYLINUX8_PY310_DOCKER_IMAGE, and LLM_ROCKYLINUX8_PY312_DOCKER_IMAGE.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is largely empty, containing only the template structure and placeholder comments with no actual details about the changes, rationale, or test coverage. Fill in the Description section explaining why the revert is needed, and complete the Test Coverage section with relevant tests that validate the revert changes.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly indicates a revert of a prior change that bumped black and tornado dependencies, directly matching the main objective of the PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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 (2)
requirements.txt (1)

10-10: Add an explicit NumPy floor in the root requirements.

Line 10 changed from a bounded modern range to numpy<2. Even with -c constraints.txt, making the tested lower bound explicit here improves reproducibility for environments that install this file directly.

Proposed change
-numpy<2
+numpy>=1.26,<2
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@requirements.txt` at line 10, The requirements line currently states
"numpy<2" without a lower bound; update the root requirements entry for NumPy to
include an explicit minimum (e.g., change the "numpy<2" spec to
"numpy>=<tested_lower_bound>,<2>") so the file reproduces the tested lower bound
outside of constraint pins—pick the concrete lower bound that matches
CI/constraints.txt and replace the "numpy<2" entry accordingly.
examples/models/core/gemma/requirements.txt (1)

8-8: Add an explicit NumPy lower bound for deterministic dependency resolution.

Line 8 uses numpy<2 without a lower bound. The constraint files in the repository (both constraints.txt and examples/constraints.txt) do not enforce a NumPy floor, so this specification could resolve to very old 1.x releases. For reproducibility, add an explicit lower bound such as numpy>=1.26,<2.

Proposed refinement
-numpy<2
+numpy>=1.26,<2
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@examples/models/core/gemma/requirements.txt` at line 8, The requirements
entry "numpy<2" in examples/models/core/gemma/requirements.txt lacks a lower
bound; update that requirement to an explicit range such as "numpy>=1.26,<2" to
ensure deterministic, reproducible dependency resolution (replace the current
"numpy<2" line with the new bounded spec).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@requirements.txt`:
- Line 73: The dependency line restricting numexpr to "<2.14.0" is too broad and
blocks the patched release; update the requirement for the package symbol
"numexpr" to allow the fixed version by replacing the constraint with either
"numexpr>=2.14.1" (preferred) or "numexpr!=2.14.0,<X.Y.Z" if you want an upper
bound, and add an inline comment referencing the issue/fix (e.g., "# WAR:
numexpr 2.14.0 incompatible with numpy.typing; fixed in 2.14.1
(https://github.com/pydata/numexpr/releases/tag/v2.14.1)") so the rationale is
preserved.

---

Nitpick comments:
In `@examples/models/core/gemma/requirements.txt`:
- Line 8: The requirements entry "numpy<2" in
examples/models/core/gemma/requirements.txt lacks a lower bound; update that
requirement to an explicit range such as "numpy>=1.26,<2" to ensure
deterministic, reproducible dependency resolution (replace the current "numpy<2"
line with the new bounded spec).

In `@requirements.txt`:
- Line 10: The requirements line currently states "numpy<2" without a lower
bound; update the root requirements entry for NumPy to include an explicit
minimum (e.g., change the "numpy<2" spec to "numpy>=<tested_lower_bound>,<2>")
so the file reproduces the tested lower bound outside of constraint pins—pick
the concrete lower bound that matches CI/constraints.txt and replace the
"numpy<2" entry accordingly.
🪄 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: Pro

Run ID: 8ff3d7c7-6794-43b9-a5f6-2d89abd743ef

📥 Commits

Reviewing files that changed from the base of the PR and between bfb9d38 and cc469c6.

📒 Files selected for processing (5)
  • constraints.txt
  • examples/models/core/gemma/requirements.txt
  • jenkins/current_image_tags.properties
  • requirements-dev.txt
  • requirements.txt
💤 Files with no reviewable changes (1)
  • constraints.txt

nvidia-cutlass-dsl==4.3.4; python_version >= "3.10"
plotly
numexpr
numexpr<2.14.0 # WAR for attempted use of nonexistent numpy.typing
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Read-only verification: inspect current numexpr usage and related comments.
set -euo pipefail

echo "== numexpr references in requirements/constraints =="
rg -n -C2 'numexpr|numpy\.typing' --glob '**/*requirements*.txt' --glob '**/*constraints*.txt'

echo
echo "== Python imports/usages =="
rg -n -C3 '\bimport numexpr\b|\bnumexpr\.' --type=py

Repository: NVIDIA/TensorRT-LLM

Length of output: 463


🌐 Web query:

Is there a documented numexpr issue or release note in/after 2.14.0 related to numpy.typing compatibility, and what is the recommended compatible version range with NumPy 1.26.x?

💡 Result:

Yes.

  • Documented issue / release note: NumExpr 2.14.0 introduced “static typing support” (it imports/uses numpy.typing).[1] In 2.14.1, the release notes explicitly say static typing support was rolled back “to ensure compatibility with NumPy 1.26” and that CI tests for NumPy 1.26 were added.[2]
  • Recommended NumExpr version range for NumPy 1.26.x: use numexpr ≥ 2.14.1 (and avoid 2.14.0). NumExpr 2.14.1 also sets its NumPy requirement to numpy >= 1.26.0.[3]

Sources: [1] NumExpr 2.14.0 release notes, [2] NumExpr 2.14.1 release notes, [3] NumExpr 2.14.1 requirements.txt.


Reconsider numexpr constraint; 2.14.1+ resolves the documented issue.

The constraint numexpr<2.14.0 correctly avoids the broken 2.14.0 release but blocks fixed versions. NumExpr 2.14.0 introduced numpy.typing support (causing compatibility failures with NumPy 1.26), and 2.14.1 explicitly rolled back this feature per its release notes.

Either:

  • Update to allow the fixed version: numexpr>=2.14.1 (preferred if compatible), or
  • Explicitly exclude only the broken version: numexpr!=2.14.0 plus a reasonable lower bound.

Document the constraint with a reference: # WAR: numexpr 2.14.0 incompatible with numpy.typing; fixed in 2.14.1 (https://github.com/pydata/numexpr/releases/tag/v2.14.1)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@requirements.txt` at line 73, The dependency line restricting numexpr to
"<2.14.0" is too broad and blocks the patched release; update the requirement
for the package symbol "numexpr" to allow the fixed version by replacing the
constraint with either "numexpr>=2.14.1" (preferred) or "numexpr!=2.14.0,<X.Y.Z"
if you want an upper bound, and add an inline comment referencing the issue/fix
(e.g., "# WAR: numexpr 2.14.0 incompatible with numpy.typing; fixed in 2.14.1
(https://github.com/pydata/numexpr/releases/tag/v2.14.1)") so the rationale is
preserved.

@tensorrt-cicd
Copy link
Copy Markdown
Collaborator

PR_Github #42549 [ run ] triggered by Bot. Commit: cc469c6 Link to invocation

Signed-off-by: Yiteng Niu <6831097+niukuo@users.noreply.github.com>
@niukuo
Copy link
Copy Markdown
Collaborator Author

niukuo commented Apr 9, 2026

/bot run

@tensorrt-cicd
Copy link
Copy Markdown
Collaborator

PR_Github #42558 [ run ] triggered by Bot. Commit: 44a6e22 Link to invocation

@yuanjingx87 yuanjingx87 merged commit ce0a11c into NVIDIA:release/1.2.1 Apr 9, 2026
1 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants