Skip to content

refactor: drop support for Python 3.10#809

Merged
rapids-bot[bot] merged 1 commit intoNVIDIA:mainfrom
gforsyth:drop-python-3.10
Jan 29, 2026
Merged

refactor: drop support for Python 3.10#809
rapids-bot[bot] merged 1 commit intoNVIDIA:mainfrom
gforsyth:drop-python-3.10

Conversation

@gforsyth
Copy link
Copy Markdown
Contributor

@gforsyth gforsyth commented Jan 28, 2026

Description

Contributes to rapidsai/build-planning#246

Finishes the work of dropping Python 3.10 support.

This project stopped building / testing against Python 3.10 as of rapidsai/shared-workflows#494
This PR updates configuration and docs to reflect that.

Followups before merging

Check that there are no remaining uses like this:

git grep -E '3\.10'
git grep '310'
git grep 'py310'

Summary by CodeRabbit

  • Chores
    • Updated minimum Python version requirement from 3.10 to 3.11 across all configuration files, documentation, and environment specifications.

✏️ Tip: You can customize this high-level summary in your review settings.

@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot bot commented Jan 28, 2026

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@gforsyth gforsyth added non-breaking Introduces a non-breaking change improvement Improves an existing functionality labels Jan 28, 2026
@gforsyth
Copy link
Copy Markdown
Contributor Author

/ok to test

@rgsl888prabhu rgsl888prabhu added this to the 26.04 milestone Jan 29, 2026
@gforsyth gforsyth marked this pull request as ready for review January 29, 2026 15:11
@gforsyth gforsyth requested review from a team as code owners January 29, 2026 15:11
@gforsyth gforsyth requested review from bdice and tmckayus January 29, 2026 15:11
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jan 29, 2026

📝 Walkthrough

Walkthrough

This pull request systematically raises the minimum Python version requirement from 3.10 to 3.11 across the entire project, including CI workflows, documentation, conda environments, and project metadata files.

Changes

Cohort / File(s) Summary
CI Configuration
.github/workflows/pr.yaml
Updated lean CI matrix filter to use Python 3.11 instead of 3.10 for AMD64/CUDA combinations.
Documentation
CONTRIBUTING.md, README.md, docs/cuopt/source/system-requirements.rst
Updated Python minimum version references from 3.10 to 3.11 across contributor guide, installation instructions, and system requirements documentation.
Conda Environments
conda/environments/all_cuda-129_arch-*.yaml, conda/environments/all_cuda-131_arch-*.yaml
Updated Python dependency constraints from >=3.10,<3.14 to >=3.11,<3.14 across all conda environment specifications.
Project Metadata and Dependencies
dependencies.yaml, python/cuopt/cuopt/linear_programming/pyproject.toml, python/cuopt/pyproject.toml, python/cuopt_self_hosted/pyproject.toml, python/cuopt_server/pyproject.toml, python/libcuopt/pyproject.toml
Updated requires-python from >=3.10 to >=3.11 and removed Python 3.10 classifier entries across project configurations. Removed Python 3.10 from dependency matrix in dependencies.yaml.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'refactor: drop support for Python 3.10' directly and clearly summarizes the main change across all modified files, which consistently update Python version requirements from 3.10 to 3.11.
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.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown

@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: 2

🤖 Fix all issues with AI agents
In `@docs/cuopt/source/system-requirements.rst`:
- Around line 28-30: Add an explicit deprecation note immediately under the
Python version line ">= 3.11.* and <= 3.13.*" stating that support for Python
3.10 has been removed, summarizing the impact and linking to migration guidance;
include a short bullet list of migration steps (upgrade Python interpreter, test
dependencies, update virtualenv/pyenv settings) and a pointer to relevant docs
or migration guide, and mirror this same deprecation/migration note at the other
occurrence of the version line (the second Python version block referenced in
the review).

In `@python/libcuopt/pyproject.toml`:
- Line 20: The pyproject.toml requires-python constraint currently only sets a
minimum (requires-python = ">=3.11") but the docs state support is capped at
Python 3.13; update the requires-python entry in pyproject.toml to include an
upper bound (e.g., requires-python = ">=3.11, <3.14") so pip will not attempt
installs on unsupported Python 3.14+ versions.

@gforsyth
Copy link
Copy Markdown
Contributor Author

/merge

@rapids-bot rapids-bot bot merged commit 286faa9 into NVIDIA:main Jan 29, 2026
176 of 177 checks passed
@gforsyth gforsyth deleted the drop-python-3.10 branch January 29, 2026 19:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants