Files
LEANN/pyproject.toml
Andy Lee 971653fa1a upgrade: switch from manylinux2014 to manylinux_2_35
- Use manylinux_2_35 (GLIBC 2.35) instead of manylinux2014 (GLIBC 2.17)
- Still compatible with Google Colab (requires ≤2.35)
- Benefits: newer toolchain, better performance, modern C++ features
- Switch from yum to dnf package manager
- Remove pyzmq version cap as manylinux_2_35 has newer ZeroMQ
- Update documentation to reflect the change
2025-07-25 13:40:07 -07:00

89 lines
2.2 KiB
TOML

[build-system]
requires = ["setuptools>=61.0", "cmake>=3.24"]
build-backend = "setuptools.build_meta"
[project]
name = "leann-workspace"
version = "0.1.0"
requires-python = ">=3.10"
dependencies = [
"leann-core",
"leann-backend-hnsw",
"numpy>=1.26.0",
"torch",
"tqdm",
"flask",
"flask_compress",
"datasets>=2.15.0",
"evaluate",
"colorama",
"boto3",
"protobuf==4.25.3",
"sglang",
"ollama",
"requests>=2.25.0",
"sentence-transformers>=2.2.0",
"openai>=1.0.0",
"PyPDF2>=3.0.0",
"llama-index>=0.12.44",
"llama-index-readers-docling",
"llama-index-node-parser-docling",
"ipykernel==6.29.5",
"msgpack>=1.1.1",
"llama-index-vector-stores-faiss>=0.4.0",
"llama-index-embeddings-huggingface>=0.5.5",
"mlx>=0.26.3; sys_platform == 'darwin'",
"mlx-lm>=0.26.0; sys_platform == 'darwin'",
"psutil>=5.8.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.0",
"pytest-cov>=4.0",
"black>=23.0",
"ruff>=0.1.0",
"matplotlib",
"huggingface-hub>=0.20.0",
]
diskann = [
"leann-backend-diskann",
]
[tool.setuptools]
py-modules = []
[tool.uv.sources]
leann-core = { path = "packages/leann-core", editable = true }
leann-backend-diskann = { path = "packages/leann-backend-diskann", editable = true }
leann-backend-hnsw = { path = "packages/leann-backend-hnsw", editable = true }
[tool.cibuildwheel]
# Skip 32-bit and PyPy builds
skip = "*-win32 *-manylinux_i686 pp* *musllinux*"
# Use manylinux_2_35 for Colab compatibility while keeping modern features
manylinux-x86_64-image = "manylinux_2_35"
manylinux-aarch64-image = "manylinux_2_35"
# Linux system dependencies
[tool.cibuildwheel.linux]
before-all = """
yum install -y epel-release
yum install -y gcc-c++ boost-devel zeromq-devel openblas-devel cmake3 python3-devel
ln -sf /usr/bin/cmake3 /usr/bin/cmake
"""
# macOS system dependencies
[tool.cibuildwheel.macos]
before-all = "brew install boost zeromq openblas cmake libomp"
# Set minimum macOS version
environment = { MACOSX_DEPLOYMENT_TARGET = "11.0", CMAKE_OSX_DEPLOYMENT_TARGET = "11.0" }
# Environment variables configuration
[tool.cibuildwheel.environment]
CMAKE_BUILD_PARALLEL_LEVEL = "8"