[build-system]
requires = [
    "setuptools>=42",
    "wheel",
    "pkgconfig",
    # Numpy requirements for different OS/architectures
    # Copied from https://github.com/scipy/scipy/blob/master/pyproject.toml (which is also licensed under BSD)
    "numpy==1.17.3; python_version=='3.6'  and (platform_machine!='arm64' or platform_system!='Darwin') and platform_machine!='aarch64' and platform_python_implementation != 'PyPy'",
    "numpy==1.17.3; python_version=='3.7'  and (platform_machine!='arm64' or platform_system!='Darwin') and platform_machine!='aarch64' and platform_python_implementation != 'PyPy'",
    "numpy==1.18.3; python_version=='3.8'  and (platform_machine!='arm64' or platform_system!='Darwin') and platform_machine!='aarch64' and platform_python_implementation != 'PyPy'",
    "numpy==1.19.3; python_version=='3.9'  and (platform_machine!='arm64' or platform_system!='Darwin') and platform_python_implementation != 'PyPy'",
    "numpy==1.21.4; python_version=='3.10' and platform_python_implementation != 'PyPy'",
    # Aarch64(Python 3.9 requirements are the same as AMD64)
    "numpy==1.19.2; python_version=='3.6' and platform_machine=='aarch64'",
    "numpy==1.19.2; python_version=='3.7' and platform_machine=='aarch64'",
    "numpy==1.19.2; python_version=='3.8' and platform_machine=='aarch64'",
    # Darwin Arm64
    "numpy>=1.20.0; python_version=='3.8' and platform_machine=='arm64' and platform_system=='Darwin'",
    "numpy>=1.20.0; python_version=='3.9' and platform_machine=='arm64' and platform_system=='Darwin'",
    # For Python versions which aren't yet officially supported,
    # we specify an unpinned NumPy which allows source distributions
    # to be used and allows wheels to be used as soon as they
    # become available.
    "numpy; python_version>='3.11'",
    "numpy; python_version>='3.8' and platform_python_implementation=='PyPy'",
]
build-backend = "setuptools.build_meta"
