diff --git a/pyproject.toml b/pyproject.toml index 1034cb12684..eb65f95c669 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,11 +9,12 @@ requires = [ "numpy; python_version>='3.11'", # 1.8+ Not available for 3.7 "scipy>=1.3,<1.8; python_version=='3.7'", - # 1.9+ Not available for 32-bit windows, so use 1.8 for all 3.8 & 3.9/Windows - "scipy>=1.3,<1.9; python_version=='3.8' and platform_system=='Windows'", - "scipy>=1.3,<1.9; python_version=='3.9' and platform_system=='Windows'", + # 1.9+ Not available for 32-bit windows, so use 1.8 for all 3.8 & 3.9 w/ 32-bit Windows + "scipy>=1.3,<1.9; python_version=='3.8' and platform_system=='Windows' and platform_machine=='x86'", + "scipy>=1.3,<1.9; python_version=='3.9' and platform_system=='Windows' and platform_machine=='x86'", # Cap at 1.9.x for all other platforms - "scipy>=1.3,<1.10; python_version>'3.7' or platform_system!='Windows'", + "scipy>=1.3,<1.10; (python_version>'3.7' or platform_system!='Windows' or platform_machine!='x86') and python_version<'3.12'", + "scipy>=1.9; python_version>='3.12'", "setuptools_scm[toml]>=7.0,<8" ] build-backend = "setuptools.build_meta" diff --git a/requirements.txt b/requirements.txt index 0bd9ddaacb7..083fdda7f45 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,12 @@ # Workaround for scipy build requirement numpy>=1.22.3; python_version=="3.10" and platform_system=="Windows" and platform_python_implementation != "PyPy" -numpy>=1.17 -scipy>=1.3 +numpy>=1.17; python_version!="3.10" or platform_system!="Windows" or platform_python_implementation=="PyPy" +# 1.8+ Not available for 3.7 +scipy>=1.3,<1.8; python_version=="3.7" +# 1.9+ Not available for 32-bit windows, so use 1.8 for all 3.8 & 3.9 w/ 32-bit Windows +scipy>=1.3,<1.9; python_version=="3.8" and platform_system=="Windows" and platform_machine=="x86" +scipy>=1.3,<1.9; python_version=="3.9" and platform_system=="Windows" and platform_machine=="x86" +scipy>=1.3; (python_version>"3.7" or platform_system!="Windows" or platform_machine!="x86") and python_version<"3.12" pandas>=0.25 patsy>=0.5.2 packaging>=21.3