content: [build-system]
  requires = [
      "setuptools>=42",
      "wheel",
  #    "cython>=0.29; platform_system != 'Windows'",
  #    "cython>=0.29,<3; platform_system == 'Windows'",
      "cython>=3",
  ]
  
  [tool.cibuildwheel]
  skip = ["pp*"] # Do not build for PyPy
  
  ## Windows build configuration
  [tool.cibuildwheel.windows]
  archs = ["x86", 'AMD64']
  before-test = [# Unittest for windows
      "pip install -r \"{project}\\requirements-test.txt\"",
  ]
  test-command = [
      "xcopy /e /i \"{project}\\test\" test",
      "copy \"{project}\\pytest.ini\" pytest.ini",
      "pytest test -sv -m unittest --log-level=DEBUG",
      "rmdir /s /q test",
  ]
  
  ## macOS build configuration
  [tool.cibuildwheel.macos]
  archs = ["x86_64", "arm64"] # Build for x86_64 and arm64
  before-test = [# Unittest for macos
      "pip install -r {project}/requirements-test.txt",
  ]
  test-command = [
      "cp -rf {project}/test test",
      "cp {project}/pytest.ini pytest.ini",
      "pytest test -sv -m unittest --log-level=DEBUG",
      "rm -rf test",
  ]
  
  
  ## Linux build configuration
  [tool.cibuildwheel.linux]
  archs = ["x86_64", "aarch64"] # Build for x86_64 and arm64
  skip = ["pp* *musllinux*"] # dependencies do not build for musl
  before-test = [# Unittest for linux
      "pip install -r {project}/requirements-test.txt",
  ]
  test-command = [
      "cp -rf {project}/test test",
      "cp {project}/pytest.ini pytest.ini",
      "pytest test -sv -m unittest --log-level=DEBUG",
      "rm -rf test",
  ]
  