content: [build-system]
  requires = [
      "setuptools>=59.6",
      "pybind11>=2.10.0",
      "cmake>=3.22",
      "numpy==1.25", # this is important to keep fixed. It also means anyone using something other than 1.25 won't be able to use this library
      "wheel",
      "ninja"
  ]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "diskannpy"
  version = "0.7.1"
  
  description = "DiskANN Python extension module"
  readme = "python/README.md"
  requires-python = ">=3.9"
  license = {text = "MIT License"}
  dependencies = [
      "numpy==1.25"
  ]
  authors = [
      {name = "Harsha Vardhan Simhadri", email = "harshasi@microsoft.com"},
      {name = "Dax Pryce", email = "daxpryce@microsoft.com"}
  ]
  
  [project.optional-dependencies]
  dev = ["black", "isort", "mypy"]
  
  [tool.setuptools]
  package-dir = {"" = "python/src"}
  
  [tool.isort]
  profile = "black"
  multi_line_output = 3
  
  [tool.mypy]
  plugins = "numpy.typing.mypy_plugin"
  
  [tool.cibuildwheel]
  manylinux-x86_64-image = "manylinux_2_28"
  test-requires = ["scikit-learn~=1.2"]
  build-frontend = "build"
  skip = ["pp*", "*-win32", "*-manylinux_i686", "*-musllinux*"]
  test-command = "python -m unittest discover {project}/python/tests"
  
  [tool.cibuildwheel.linux]
  before-build = [
      "rpm --import https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux",
      "dnf makecache --refresh",
      "dnf upgrade -y almalinux-release",
      "dnf install -y epel-release",
      "dnf config-manager -y --add-repo https://yum.repos.intel.com/mkl/setup/intel-mkl.repo",
      "rpm --import https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB",
      "dnf makecache --refresh -y",
      "dnf install -y wget make cmake gcc-c++ libaio-devel gperftools-libs libunwind-devel clang-tools-extra boost-devel boost-program-options intel-mkl-2020.4-912"
  ]
  