diff --git a/.github/workflows/build-wheel-linux-arm64.yaml b/.github/workflows/build-wheel-linux-arm64.yaml index 003ec43179..fa9c63bdfc 100644 --- a/.github/workflows/build-wheel-linux-arm64.yaml +++ b/.github/workflows/build-wheel-linux-arm64.yaml @@ -173,7 +173,7 @@ jobs: - name: Install Dependencies (Python) run: | - python${{ matrix.python_version }} -m pip install numpy nanobind pybind11 PyYAML cmake ninja + python${{ matrix.python_version }} -m pip install numpy nanobind!=2.10.0 pybind11 PyYAML cmake ninja # Add cmake and ninja to the PATH env var PYTHON_BINS=$(find /opt/_internal/cpython-${{ matrix.python_version }}.*/bin -maxdepth 1 -type d | tr '\n' ':' | sed 's/:$//') echo $PYTHON_BINS >> $GITHUB_PATH @@ -269,7 +269,7 @@ jobs: - name: Install Dependencies (Python) run: | - python${{ matrix.python_version }} -m pip install numpy nanobind pybind11 PyYAML cmake ninja + python${{ matrix.python_version }} -m pip install numpy nanobind!=2.10.0 pybind11 PyYAML cmake ninja # Add cmake and ninja to the PATH env var PYTHON_BINS=$(find /opt/_internal/cpython-${{ matrix.python_version }}.*/bin -maxdepth 1 -type d | tr '\n' ':' | sed 's/:$//') echo $PYTHON_BINS >> $GITHUB_PATH diff --git a/.github/workflows/build-wheel-linux-x86_64.yaml b/.github/workflows/build-wheel-linux-x86_64.yaml index e509f57bef..2161e8563c 100644 --- a/.github/workflows/build-wheel-linux-x86_64.yaml +++ b/.github/workflows/build-wheel-linux-x86_64.yaml @@ -193,7 +193,7 @@ jobs: - name: Install Dependencies (Python) run: | - python${{ matrix.python_version }} -m pip install numpy nanobind pybind11 PyYAML cmake ninja + python${{ matrix.python_version }} -m pip install numpy nanobind!=2.10.0 pybind11 PyYAML cmake ninja # Add cmake and ninja to the PATH env var PYTHON_BINS=$(find /opt/_internal/cpython-${{ matrix.python_version }}.*/bin -maxdepth 1 -type d | tr '\n' ':' | sed 's/:$//') echo $PYTHON_BINS >> $GITHUB_PATH @@ -291,7 +291,7 @@ jobs: - name: Install Dependencies (Python) run: | - python${{ matrix.python_version }} -m pip install numpy nanobind pybind11 PyYAML cmake ninja + python${{ matrix.python_version }} -m pip install numpy nanobind!=2.10.0 pybind11 PyYAML cmake ninja # Add cmake and ninja to the PATH env var PYTHON_BINS=$(find /opt/_internal/cpython-${{ matrix.python_version }}.*/bin -maxdepth 1 -type d | tr '\n' ':' | sed 's/:$//') echo $PYTHON_BINS >> $GITHUB_PATH diff --git a/.github/workflows/build-wheel-macos-arm64.yaml b/.github/workflows/build-wheel-macos-arm64.yaml index 3f23361699..188ba7fcb8 100644 --- a/.github/workflows/build-wheel-macos-arm64.yaml +++ b/.github/workflows/build-wheel-macos-arm64.yaml @@ -174,7 +174,7 @@ jobs: - name: Install Dependencies (Python) run: | - python${{ matrix.python_version }} -m pip install numpy nanobind pybind11 PyYAML cmake ninja + python${{ matrix.python_version }} -m pip install numpy nanobind!=2.10.0 pybind11 PyYAML cmake ninja - name: Build LLVM / MLIR if: steps.cache-llvm-build.outputs.cache-hit != 'true' @@ -255,7 +255,7 @@ jobs: # LAPACKE reference implementation. TODO: Look into how to upgrade beyond this limit. - name: Install Dependencies (Python) run: | - python${{ matrix.python_version }} -m pip install numpy nanobind pybind11 PyYAML ninja delocate + python${{ matrix.python_version }} -m pip install numpy nanobind!=2.10.0 pybind11 PyYAML ninja delocate python${{ matrix.python_version }} -m pip install cmake'<4' - name: Get Cached LLVM Source diff --git a/.github/workflows/check-catalyst.yaml b/.github/workflows/check-catalyst.yaml index fa883af836..b0996e4ab1 100644 --- a/.github/workflows/check-catalyst.yaml +++ b/.github/workflows/check-catalyst.yaml @@ -52,7 +52,7 @@ jobs: run: | sudo apt-get update sudo apt-get -y -q install ninja-build make cmake clang - python3 -m pip install nanobind pybind11 + python3 -m pip install nanobind!=2.10.0 pybind11 - name: Get Cached LLVM Source id: cache-llvm-source @@ -157,7 +157,7 @@ jobs: sudo apt-get install -y python3 python3-pip cmake ninja-build clang lld python3 --version | grep ${{ needs.constants.outputs.primary_python_version }} - python3 -m pip install numpy pybind11 nanobind PyYAML + python3 -m pip install numpy pybind11 nanobind!=2.10.0 PyYAML - name: Build LLVM if: steps.cache-llvm-build.outputs.cache-hit != 'true' @@ -343,7 +343,7 @@ jobs: sudo apt-get update sudo apt-get install -y python3 python3-pip cmake ninja-build ccache clang lld python3 --version | grep ${{ needs.constants.outputs.primary_python_version }} - python3 -m pip install numpy nanobind pybind11 + python3 -m pip install numpy nanobind!=2.10.0 pybind11 - name: Get Cached LLVM Source id: cache-llvm-source @@ -681,7 +681,7 @@ jobs: run: | sudo apt-get update sudo apt-get -y -q install cmake ninja-build - python3 -m pip install nanobind pybind11 + python3 -m pip install nanobind!=2.10.0 pybind11 - name: Download Catalyst-Runtime Artifact uses: actions/download-artifact@v4 @@ -714,7 +714,7 @@ jobs: run: | sudo apt-get update sudo apt-get -y -q install cmake ninja-build - python3 -m pip install nanobind pybind11 + python3 -m pip install nanobind!=2.10.0 pybind11 - name: Install lcov # Manually install lcov_1.15-1_all run: | diff --git a/pyproject.toml b/pyproject.toml index eabf9cc6b7..762d5a2020 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,7 +43,7 @@ known_third_party = ["diastatic-malt", "jax", "jaxlib", "numpy", "pennylane"] skips = ["B607"] [build-system] -requires = ["setuptools>=62", "wheel", "pybind11>=2.12.0", "numpy!=2.0.0", "nanobind", "cmake", "ninja"] +requires = ["setuptools>=62", "wheel", "pybind11>=2.12.0", "numpy!=2.0.0", "nanobind!=2.10.0", "cmake", "ninja"] build-backend = "setuptools.build_meta" [tool.pytest.ini_options] diff --git a/requirements.txt b/requirements.txt index 2a2db94191..b4e8e1c1ca 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,8 @@ pip>=22.3 # this bug was fixed in 2.0.1 (https://github.com/numpy/numpy/pull/26995) numpy!=2.0.0 # llvm requires nanobind 2.9 or higher -nanobind>=2.9 +# nanobind 2.10.0 is broken: https://github.com/wjakob/nanobind/issues/1237#issuecomment-3628633127 +nanobind>=2.9,!=2.10.0 pybind11>=2.12.0 PyYAML