usearch 2.8.1

Smaller & Faster Single-File Vector Search Engine from Unum
Documentation
[build-system]
requires = ["setuptools>=42", "wheel", "cmake>=3.22", "pybind11", "numpy"]
build-backend = "setuptools.build_meta"

[tool.pytest.ini_options]
minversion = "6.0"
addopts = ["-ra", "--showlocals", "--strict-markers", "--strict-config"]
xfail_strict = true
filterwarnings = ["error"]

# Avoid running tests, as everything is happening in a super slow container
# We have already run all the relavent Python tests in `prerelease.yml`
#   test-requires = ["pytest", "numpy"]
#   test-command = "pytest {project}/python/scripts"
[tool.cibuildwheel]
test-requires = []
test-command = ""
build-verbosity = 0
skip = ["*musllinux*", "*i686*", "pp*", "cp36-*", "cp312-*"]

[tool.cibuildwheel.linux]
before-build = [
    "rm -rf {project}/CMakeCache.txt {project}/build {project}/build_debug {project}/CMakeFiles.txt {project}/_deps {project}/.pytest_cache",
    "mkdir -p build/usearch",
    "git submodule update --init --recursive",
]
manylinux-x86_64-image = "manylinux_2_28"
manylinux-aarch64-image = "manylinux_2_28"

archs = ["x86_64", "aarch64"]
before-all = ["yum install -y glibc-devel wget python3-devel"]
repair-wheel-command = "auditwheel repair --lib-sdir . -w {dest_dir} {wheel}"

[tool.cibuildwheel.macos]
before-build = [
    "rm -rf {project}/CMakeCache.txt {project}/build {project}/build_debug {project}/CMakeFiles.txt {project}/_deps {project}/.pytest_cache",
    "mkdir -p build/usearch",
    "git submodule update --init --recursive",
]
archs = ["x86_64", "universal2", "arm64"]
repair-wheel-command = "delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}"


[tool.cibuildwheel.windows]
before-build = [
    "rd /s /q {project}\\CMakeCache.txt {project}\\build {project}\\build_debug {project}\\CMakeFiles.txt {project}\\_deps {project}\\.pytest_cache || echo Done",
    "md build\\usearch",
    "git submodule update --init --recursive",
]
archs = ["x86", "AMD64"]
skip = ["*win32*", "pp*", "cp36-*", "cp312-*"]