From a4ec99247c37348ac389a3c589b5000dc34d994f Mon Sep 17 00:00:00 2001 From: "Jack S. Hale" Date: Mon, 6 Jul 2026 22:32:49 +0200 Subject: [PATCH 1/3] Only way to do it as PEP508 doesn't support unary or. --- pyproject.toml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 43525cba2..d5ac5ea04 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,9 +24,9 @@ documentation = "https://docs.fenicsproject.org" [project.optional-dependencies] docs = ["markdown", "pylit3", "pyyaml", "sphinx", "pydata-sphinx-theme"] lint = ["ruff", "gersemi"] -optional = ["numba", "fenics-ufl@git+https://github.com/fenics/ufl"] +# llvmlite (numba) is not built for x86_64 on macOS or arm64 on Windows. +optional = ["numba; (sys_platform != 'darwin' or platform_machine != 'x86_64') and (sys_platform != 'win32' or platform_machine != 'ARM64')", "fenics-ufl@git+https://github.com/fenics/ufl"] test = ["pytest", "sympy", "scipy", "matplotlib", "fenics-basix[optional]"] -test-no-numba = ["pytest", "sympy", "scipy", "matplotlib", "fenics-ufl@git+https://github.com/fenics/ufl"] ci = ["mypy", "pytest-xdist", "fenics-basix[docs,lint,test,optional]"] [tool.pytest.ini_options] @@ -80,11 +80,6 @@ archs = [ "native", ] -# llvmlite (numba) is not built for x86_64 on macOS or arm64 on Windows. -[[tool.cibuildwheel.overrides]] -select = ["*-macosx_x86_64", "*-win_arm64"] -test-extras = ["test-no-numba"] - [tool.mypy] ignore_missing_imports = true From 5d23144c5b7e8dcf8f44a6c44dcea1673f44bd0a Mon Sep 17 00:00:00 2001 From: "Jack S. Hale" Date: Mon, 6 Jul 2026 22:34:14 +0200 Subject: [PATCH 2/3] Add note --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index d5ac5ea04..582a904c7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,7 +24,7 @@ documentation = "https://docs.fenicsproject.org" [project.optional-dependencies] docs = ["markdown", "pylit3", "pyyaml", "sphinx", "pydata-sphinx-theme"] lint = ["ruff", "gersemi"] -# llvmlite (numba) is not built for x86_64 on macOS or arm64 on Windows. +# llvmlite (numba) is not built for x86_64 on macOS or arm64 on Windows - advanced users can install manually. optional = ["numba; (sys_platform != 'darwin' or platform_machine != 'x86_64') and (sys_platform != 'win32' or platform_machine != 'ARM64')", "fenics-ufl@git+https://github.com/fenics/ufl"] test = ["pytest", "sympy", "scipy", "matplotlib", "fenics-basix[optional]"] ci = ["mypy", "pytest-xdist", "fenics-basix[docs,lint,test,optional]"] From db5d0042ad958508b28f67f45fcb2626be34a91d Mon Sep 17 00:00:00 2001 From: "Jack S. Hale" Date: Mon, 6 Jul 2026 22:36:22 +0200 Subject: [PATCH 3/3] Fix --- python/pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/pyproject.toml b/python/pyproject.toml index aa26f7786..16a38421e 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -24,9 +24,9 @@ documentation = "https://docs.fenicsproject.org" [project.optional-dependencies] docs = ["markdown", "pylit3", "pyyaml", "sphinx", "pydata-sphinx-theme"] lint = ["ruff", "gersemi"] -optional = ["numba", "fenics-ufl@git+https://github.com/fenics/ufl"] +# llvmlite (numba) is not built for x86_64 on macOS or arm64 on Windows. +optional = ["numba; (sys_platform != 'darwin' or platform_machine != 'x86_64') and (sys_platform != 'win32' or platform_machine != 'ARM64')", "fenics-ufl@git+https://github.com/fenics/ufl"] test = ["pytest", "sympy", "scipy", "matplotlib", "fenics-basix[optional]"] -test-no-numba = ["pytest", "sympy", "scipy", "matplotlib", "fenics-ufl@git+https://github.com/fenics/ufl"] ci = ["mypy", "pytest-xdist", "fenics-basix[docs,lint,test,optional]"] [tool.mypy]