From 1c77dae8f17dba5421efededed3b4877596746fa Mon Sep 17 00:00:00 2001 From: Daniel Haag <121057143+denialhaag@users.noreply.github.com> Date: Mon, 19 Jan 2026 15:26:54 +0100 Subject: [PATCH 1/6] Build Python 3.14 wheels --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 56790b93b..cf85714b0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,6 +50,7 @@ jobs: {os: macos-latest, dist: cp311-macosx_x86_64}, {os: macos-latest, dist: cp312-macosx_x86_64}, {os: macos-latest, dist: cp313-macosx_x86_64}, + {os: macos-latest, dist: cp314-macosx_x86_64}, # macosx arm64 # {os: macos-latest, dist: cp38-macosx_arm64}, {os: macos-latest, dist: cp39-macosx_arm64}, @@ -57,6 +58,7 @@ jobs: {os: macos-latest, dist: cp311-macosx_arm64}, {os: macos-latest, dist: cp312-macosx_arm64}, {os: macos-latest, dist: cp313-macosx_arm64}, + {os: macos-latest, dist: cp314-macosx_arm64}, # macosx universal2 # {os: macos-latest, dist: cp38-macosx_universal2}, # {os: macos-latest, dist: cp39-macosx_universal2}, @@ -73,6 +75,7 @@ jobs: {os: windows-latest, dist: cp311-win_amd64}, {os: windows-latest, dist: cp312-win_amd64}, {os: windows-latest, dist: cp313-win_amd64}, + {os: windows-latest, dist: cp314-win_amd64}, # windows win32 # {os: windows-latest, dist: cp36-win32}, # {os: windows-latest, dist: cp37-win32}, @@ -95,6 +98,7 @@ jobs: {os: ubuntu-latest, dist: cp311-manylinux_x86_64}, {os: ubuntu-latest, dist: cp312-manylinux_x86_64}, {os: ubuntu-latest, dist: cp313-manylinux_x86_64}, + {os: ubuntu-latest, dist: cp314-manylinux_x86_64}, # ubuntu i686 # {os: ubuntu-latest, dist: cp36-manylinux_i686}, # {os: ubuntu-latest, dist: cp37-manylinux_i686}, From 692a4f61c197b1ef904b7a8d5210619a16426f38 Mon Sep 17 00:00:00 2001 From: Daniel Haag <121057143+denialhaag@users.noreply.github.com> Date: Mon, 19 Jan 2026 15:27:23 +0100 Subject: [PATCH 2/6] Bump required Python version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 77b79f019..da3f1cd03 100644 --- a/setup.py +++ b/setup.py @@ -153,7 +153,7 @@ def build_extension(self, ext): entry_points={ 'console_scripts': ['pymatching=pymatching._cli_argv:cli_argv'], }, - python_requires=">=3.7", + python_requires=">=3.8", install_requires=['scipy', 'numpy', 'networkx', 'matplotlib'], # Needed on Windows to avoid the default `build` colliding with Bazel's `BUILD`. options={'build': {'build_base': 'python_build_stim'}}, From 1150d2750f83ce0be02a20c14687870b6adc01ac Mon Sep 17 00:00:00 2001 From: Daniel Haag <121057143+denialhaag@users.noreply.github.com> Date: Mon, 19 Jan 2026 15:29:07 +0100 Subject: [PATCH 3/6] Streamline comment style --- .github/workflows/ci.yml | 46 ++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cf85714b0..10edcfbb8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -80,14 +80,14 @@ jobs: # {os: windows-latest, dist: cp36-win32}, # {os: windows-latest, dist: cp37-win32}, # scipy install fails -# {os: windows-latest, dist: cp38-win32}, -# {os: windows-latest, dist: cp39-win32}, -# {os: windows-latest, dist: cp310-win32}, -# {os: windows-latest, dist: cp311-win32}, + # {os: windows-latest, dist: cp38-win32}, + # {os: windows-latest, dist: cp39-win32}, + # {os: windows-latest, dist: cp310-win32}, + # {os: windows-latest, dist: cp311-win32}, # For arm64, get error "cibuildwheel: No build identifiers selected" -# {os: windows-latest, dist: cp39-win_arm64}, -# {os: windows-latest, dist: cp310-win_arm64}, -# {os: windows-latest, dist: cp311-win_arm64}, + # {os: windows-latest, dist: cp39-win_arm64}, + # {os: windows-latest, dist: cp310-win_arm64}, + # {os: windows-latest, dist: cp311-win_arm64}, # ubuntu x86_64 # {os: ubuntu-latest, dist: cp36-manylinux_x86_64}, @@ -103,23 +103,23 @@ jobs: # {os: ubuntu-latest, dist: cp36-manylinux_i686}, # {os: ubuntu-latest, dist: cp37-manylinux_i686}, # scipy built distribution not available and build fails on manylinux_i686 for python 3.8 up -# {os: ubuntu-latest, dist: cp38-manylinux_i686}, -# {os: ubuntu-latest, dist: cp39-manylinux_i686}, -# {os: ubuntu-latest, dist: cp310-manylinux_i686}, -# {os: ubuntu-latest, dist: cp311-manylinux_i686}, + # {os: ubuntu-latest, dist: cp38-manylinux_i686}, + # {os: ubuntu-latest, dist: cp39-manylinux_i686}, + # {os: ubuntu-latest, dist: cp310-manylinux_i686}, + # {os: ubuntu-latest, dist: cp311-manylinux_i686}, # Don't include musllinux as it has g++-9 (need g++-10 for ) -# {os: ubuntu-latest, dist: cp36-musllinux_x86_64}, -# {os: ubuntu-latest, dist: cp37-musllinux_x86_64}, -# {os: ubuntu-latest, dist: cp38-musllinux_x86_64}, -# {os: ubuntu-latest, dist: cp39-musllinux_x86_64}, -# {os: ubuntu-latest, dist: cp310-musllinux_x86_64}, -# {os: ubuntu-latest, dist: cp311-musllinux_x86_64}, -# {os: ubuntu-latest, dist: cp36-musllinux_i686}, -# {os: ubuntu-latest, dist: cp37-musllinux_i686}, -# {os: ubuntu-latest, dist: cp38-musllinux_i686}, -# {os: ubuntu-latest, dist: cp39-musllinux_i686}, -# {os: ubuntu-latest, dist: cp310-musllinux_i686}, -# {os: ubuntu-latest, dist: cp311-musllinux_i686}, + # {os: ubuntu-latest, dist: cp36-musllinux_x86_64}, + # {os: ubuntu-latest, dist: cp37-musllinux_x86_64}, + # {os: ubuntu-latest, dist: cp38-musllinux_x86_64}, + # {os: ubuntu-latest, dist: cp39-musllinux_x86_64}, + # {os: ubuntu-latest, dist: cp310-musllinux_x86_64}, + # {os: ubuntu-latest, dist: cp311-musllinux_x86_64}, + # {os: ubuntu-latest, dist: cp36-musllinux_i686}, + # {os: ubuntu-latest, dist: cp37-musllinux_i686}, + # {os: ubuntu-latest, dist: cp38-musllinux_i686}, + # {os: ubuntu-latest, dist: cp39-musllinux_i686}, + # {os: ubuntu-latest, dist: cp310-musllinux_i686}, + # {os: ubuntu-latest, dist: cp311-musllinux_i686}, ] steps: - uses: actions/checkout@v4 From 7a225e36b1399c378a439370387504de75c5ee48 Mon Sep 17 00:00:00 2001 From: Daniel Haag <121057143+denialhaag@users.noreply.github.com> Date: Mon, 19 Jan 2026 15:33:55 +0100 Subject: [PATCH 4/6] Use Python 3.14 for pip_install job --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 10edcfbb8..e1ac239f0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -211,7 +211,7 @@ jobs: fail-fast: false matrix: platform: [windows-latest, macos-latest, ubuntu-latest] - python-version: ["3.13"] + python-version: ["3.14"] runs-on: ${{ matrix.platform }} From 27f4377d24470174e53d63115af856d443ff8b53 Mon Sep 17 00:00:00 2001 From: Daniel Haag <121057143+denialhaag@users.noreply.github.com> Date: Wed, 21 Jan 2026 13:30:01 +0100 Subject: [PATCH 5/6] Update cibuildwheel to v3.3.1 to enable Python 3.14 wheels --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e1ac239f0..58eccfa69 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -135,7 +135,7 @@ jobs: sudo apt update sudo apt install gcc-11 g++-11 - - uses: pypa/cibuildwheel@v3.0.0 + - uses: pypa/cibuildwheel@v3.3.1 - name: Verify clean directory run: git diff --exit-code From 2782a540146515b1b142d7f9f22a3a7dd37991ff Mon Sep 17 00:00:00 2001 From: Daniel Haag <121057143+denialhaag@users.noreply.github.com> Date: Wed, 21 Jan 2026 18:24:58 +0100 Subject: [PATCH 6/6] Upper bound sphinx version --- docs/sphinx_docs/requirements.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/sphinx_docs/requirements.txt b/docs/sphinx_docs/requirements.txt index f6b3e68a9..0adca2fb4 100644 --- a/docs/sphinx_docs/requirements.txt +++ b/docs/sphinx_docs/requirements.txt @@ -1,7 +1,9 @@ -sphinx>=8.1 +# nbsphinx-link is incompatible with sphinx>=9 +# See https://github.com/vidartf/nbsphinx-link/issues/25#issuecomment-3619913954 +sphinx>=8.1,<9 sphinx-rtd-theme>=3.0.2 numpydoc>=1.8.0 nbsphinx>=0.9.7 ipython sphinx_mdinclude>=0.6.2 -nbsphinx-link>=1.3.1 \ No newline at end of file +nbsphinx-link>=1.3.1