diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 56790b93b..58eccfa69 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,18 +75,19 @@ 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}, # 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}, @@ -95,27 +98,28 @@ 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}, # 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 @@ -131,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 @@ -207,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 }} 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 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'}},