Skip to content

Remove the Setuptools cap for Python 3.12 and newer - #1275

Merged
asmorkalov merged 1 commit into
opencv:4.xfrom
tamird:relax-setuptools-cap
Nov 11, 2026
Merged

asmorkalov merged 1 commit into
opencv:4.xfrom
tamird:relax-setuptools-cap

Conversation

@tamird

@tamird tamird commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

The setuptools<70 requirement prevents source builds on Python 3.12 and newer when downstream build environments require a current Setuptools release. Remove the upper bound so those builds can use Setuptools 81.

Validated this change on current 4.x with headless wheel builds on macOS arm64 and CPython 3.12.13. Both isolated build environments used Setuptools 81.0.0, scikit-build 0.19.1, and NumPy 2.0.2:

  • Wheel 0.48.0: built from a fresh native build tree, installed, and passed import and resize checks.
  • Wheel 0.41.3: built, installed, and passed the same checks, reusing the native build tree.

The older build failure reported in #1069 used OpenCV 4.10 and a different dependency closure. These runs validate current source with the versions above; they do not reproduce that historical environment or establish compatibility with every admitted scikit-build version.

Prepared by Codex under delegation.

The Setuptools upper bound prevents source builds in environments that constrain build dependencies to a current release. Remove it so those builds can use Setuptools 81.

A headless wheel built and passed an installed import and resize check on macOS arm64 with CPython 3.12, Setuptools 81, scikit-build 0.19.1, and Wheel 0.48.0. The same checks also passed with Wheel 0.41.3, reusing the native build tree.
@asmorkalov asmorkalov self-assigned this Nov 11, 2026
@asmorkalov
asmorkalov merged commit 1dd520f into opencv:4.x Nov 11, 2026
@tamird
tamird deleted the relax-setuptools-cap branch November 11, 2026 09:41
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.

2 participants