Skip to content

Test/build against Python 3.14#389

Merged
dfm merged 4 commits into
mainfrom
py-up
Jul 12, 2026
Merged

Test/build against Python 3.14#389
dfm merged 4 commits into
mainfrom
py-up

Conversation

@dfm

@dfm dfm commented Jul 12, 2026

Copy link
Copy Markdown
Owner

Bump the test matrix to cover Python 3.14 (and shift the macOS include to 3.13), and update the scikit-build-core config to the non-deprecated cmake.version/ninja.version keys, which are required by scikit-build-core >= 0.8 to build wheels at all.

dfm and others added 4 commits July 12, 2026 09:26
Bump the test matrix to cover Python 3.14 (and shift the macOS include to
3.13), and update the scikit-build-core config to the non-deprecated
cmake.version/ninja.version keys, which are required by scikit-build-core
>= 0.8 to build wheels at all.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bump build.os to ubuntu-24.04 (ubuntu-20.04 is no longer a valid RTD
build image) and build the docs on Python 3.14. Verified the docs build
locally on 3.14 with fail_on_warning enabled.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
macos-latest has rolled onto the macOS 26 (Darwin 25) image, where
Homebrew's gfortran runtime libs (libgfortran, libquadmath) have a
minimum target of 16.0. delocate then refused to vendor them into a
wheel pinned to MACOSX_DEPLOYMENT_TARGET=15.0.

Pin the runner to the stable macos-14 image and set the deployment
target to 14.0 so the toolchain libs and the wheel agree, and the
resulting macosx_14_0_arm64 tag installs on a broad range of macOS
versions (a lower floor than the previous 15.0). This also matches the
macOS setup already used in tests.yml.

Free-threaded (cp3xxt) wheels are intentionally left enabled: they build
and run correctly (the interpreter re-enables the GIL with a benign
import warning since the f2py extension can't declare GIL-safety), which
is a better experience for free-threaded users than no wheel at all.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
scikit-build-core deprecated the tool.scikit-build.metadata table in
favor of the standard top-level [[tool.dynamic-metadata]] array. The
setuptools_scm provider string is unchanged (it resolves via the
dynamic_metadata.provider entry-point group). Verified sdist and wheel
both build without the deprecation warning and the version still
resolves via setuptools_scm.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@dfm
dfm merged commit ad73505 into main Jul 12, 2026
8 of 9 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.

1 participant