Skip to content

Remove unjustified upper bounds on runtime dependency pins#275

Merged
noahho merged 2 commits into
mainfrom
adrian/remove-upper-bound-pins
Apr 26, 2026
Merged

Remove unjustified upper bounds on runtime dependency pins#275
noahho merged 2 commits into
mainfrom
adrian/remove-upper-bound-pins

Conversation

@adrian-prior
Copy link
Copy Markdown
Collaborator

@adrian-prior adrian-prior commented Apr 24, 2026

Summary

Removes the <Y upper bounds on torch, pandas, scikit-learn, scipy, and tabpfn in the runtime dependencies list. These caps were causing real-world breakage — most recently, tabpfn<7 silently pulled tabpfn 6.4.1 into fresh installs of tabpfn-extensions[all], which in turn made the Colab quickstart default to the v2.5 model instead of v2.6. See PRI-280 and the Slack discussion below.

The main tabpfn package doesn't cap these dependencies either, so this also just aligns our conventions.

What changed

 dependencies = [
-    "torch>=2.1,<3",
-    "pandas>=1.4.0,<3",
-    "scikit-learn>=1.6.0,<1.7",
-    "scipy>=1.11.1,<2",
-    "tabpfn>=6.0.5,<8",
+    "torch>=2.1",
+    "pandas>=1.4.0",
+    "scikit-learn>=1.6.0",
+    "scipy>=1.11.1",
+    "tabpfn>=6.0.5",
     "tabpfn-common-utils[telemetry-interactive]>=0.2.0",
 ]

What was kept

Upper bounds that have an accompanying comment explaining the constraint are preserved:

Why now

Per Leo's approval in Slack in the thread about PRI-280:

"Yes would be great to remove!!"

Test plan

  • CI green (all existing tests should continue to pass — we're loosening constraints, not tightening them)

🤖 Generated with Claude Code

The `tabpfn<7` upper bound was silently pulling an old `tabpfn` (6.4.1)
into fresh installs of `tabpfn-extensions[all]`, which in turn made the
Colab quickstart default to v2.5 instead of v2.6 (see PRI-280). More
broadly these caps also prevent downstream projects from combining
newer `torch` / `pandas` / `scikit-learn` / `scipy` with this package.

The main `tabpfn` package does not impose upper bounds on these deps
either, so matching that convention here.

Kept the upper bounds that have an accompanying comment explaining
why: `setuptools>=67,<82` (pkg_resources removal transition in the
hpo extra) and `ruff==0.8.6` (must match .pre-commit-config.yaml).
The `autogluon.tabular==1.4.0` exact pin is being handled by PR #274
separately.

Per Leo's approval in thread:
https://prior-labs.slack.com/archives/C08LK13JRUN/p1777061263049719

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@adrian-prior adrian-prior requested a review from a team as a code owner April 24, 2026 20:25
@adrian-prior adrian-prior requested review from alanprior and removed request for a team April 24, 2026 20:25
@chatgpt-codex-connector
Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request removes the upper version constraints for several core dependencies in pyproject.toml, including torch, pandas, scikit-learn, scipy, and tabpfn. The review feedback suggests that simply removing the upper bound for tabpfn may still allow problematic versions to be installed; therefore, it is recommended to increase the minimum version requirement to 7.0.0 to ensure compatibility.

Comment thread pyproject.toml
@alanprior
Copy link
Copy Markdown
Contributor

I think the solution is to only change "tabpfn>=6.0.5". Were the other upper limits causing any issues? New majors DO TEND TO BREAK things.

cc @LeoGrin

@alanprior
Copy link
Copy Markdown
Contributor

@adrian-prior WDYT?

Copy link
Copy Markdown
Collaborator

@LeoGrin LeoGrin left a comment

Choose a reason for hiding this comment

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

Thanks!! Checked and the CI is testing the latest version

@noahho noahho enabled auto-merge (squash) April 26, 2026 11:05
@noahho noahho merged commit 1604a47 into main Apr 26, 2026
8 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.

4 participants