Commit Graph

19 Commits

Author SHA1 Message Date
rayx ec8a78ee08
refactor(diskann): decouple from libaio via dlopen (#532)
Co-authored-by: Zefeng Yin <yinzefeng.yzf@alibaba-inc.com>
2026-07-16 17:58:25 +08:00
Jalin Wang 1b694706cb
docs(python): declare and enforce 64-bit-only Python support (#576) 2026-07-13 11:54:10 +08:00
Cuiys 3a15a9d5b7
fix(python): exclude C++ SDK headers and libs from the wheel (#509)
The wheel shipped ~94 public headers under `include/` and 7 static/shared
libraries under `lib/` (libzvec*.a, libzvec*.dylib). These come from the
`cc_library(PACKED)` install rules, which are meant for a standalone C++
`make install`, not the Python wheel. `_zvec.so` links the zvec libraries
statically (verified via otool: it depends only on system libs), so none of
those `lib/` / `include/` files are used at runtime — they are pure bloat.

Tag the three runtime install rules (_zvec, the DiskANN plugin, the jieba
dict) with `COMPONENT python`, and set `install.components = ["python"]` in
pyproject.toml so scikit-build-core installs only that component into the
wheel. The SDK install rules (default component) are excluded.

The standalone `make install` is unaffected (it still installs every
component).

Verified on macOS arm64: wheel no longer contains any `include/`, `lib/`,
`.a`, or `.h` entries; `import zvec` and `from zvec import Query` still work.
2026-06-22 19:41:05 +08:00
ZeFeng Yin 6aaba65b87
workflow: libaio support (#484) 2026-06-10 14:36:17 +08:00
Cuiys 42958caef5
feat(test): enable parallel tests (#384)
- Set unique WORKING_DIRECTORY per test binary via cc_test()/cuda_test() to prevent filesystem path conflicts when running tests in parallel. Each test runs in ${CMAKE_BINARY_DIR}/test_tmp/${test_name}/.

- Enable parallel ctest execution in the unittest target with ProcessorCount-based --parallel flag (defaults to NPROC - 1).

- Set TEST_BINARY_DIR environment variable for crash recovery tests so they can locate helper binaries from isolated working directories.

- Update LocateDataGenerator() and LocateOptimizeGenerator() to search TEST_BINARY_DIR and TEST_BINARY_DIR/bin for helper executables.
2026-05-12 23:14:17 +08:00
Jalin Wang ae13e9541b
fix(ci): wrong wheel version on Windows (#308)
use first-time setuptools-scm detected version to avoid leftover dir incfluence subsequent wheel version detection
2026-04-03 14:51:35 +08:00
Jalin Wang 2cb1a146fb
fix(ci): fix wheel version detection & windows wheel ci (#303) 2026-04-02 22:26:00 +08:00
Jalin Wang 8182cfff93
feat: windows support (#216)
Preliminary support for Windows with remaining TODOs
2026-03-30 20:47:34 +08:00
Cuiys 7bc4838aca
feat: buildwheel in ghrunner (#221) 2026-03-16 14:20:01 +08:00
rayx a7bfd6060d
refactor/march based reorganization (#193)
* add for march compatible test

* fix: remove MxN

* fix: add macro scope

* fix for android ci

* refactor: call euclidean via squared euclidean

* refactor: add match utility

* refactor: comment config out

* fix: fix dimension remainder

* fix: fix condition & config flags

* fix: remove redundant macros

* fix: fix condition error

* fix: fix macros

* fix: remove unnecessary macros

* fix: fix remaining code with vector

* fix: remove unnecessary codes

---------

Co-authored-by: Zefeng Yin <yinzefeng.yzf@alibaba-inc.com>
Co-authored-by: xufeihong.xfh <xufeihong.xfh@alibaba-inc.com>
2026-03-11 22:44:48 +08:00
feihongxu0824 43e3eeac40
feat: support android platform cross build (#90) 2026-03-04 16:42:23 +08:00
Maxime Grenu 3c38a8b94c
feat: add Python 3.13 and 3.14 support (#164)
* feat: add Python 3.13 and 3.14 support

- Add Python 3.13 and 3.14 classifiers to pyproject.toml
- Add cp313 and cp314 cibuildwheel build targets
- Add Python 3.13 and 3.14 to CI test matrix
- Enable allow-prereleases for setup-python (required for 3.14 alpha)

Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>

* ci: retrigger (flaky Int4SquaredEuclideanMetric tolerance on linux-x64)

Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>

* fix: widen Int4 distance matrix test tolerance from 1e-4 to 5e-4

Int4 quantization uses only 16 levels per dimension (vs 256 for Int8),
resulting in larger rounding errors in distance computations. The
previous 1e-4 absolute tolerance was too tight and caused flaky
failures (observed diff: 1.22e-4 on values ~523.77). The Int8 test
already has this EXPECT_NEAR commented out, relying solely on the
relative IsAlmostEqual check.

Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>

* fix: remove allow-prereleases flag for Python 3.14

Python 3.14 is now a stable release (v3.14.3, released Oct 2025),
so allow-prereleases: true is no longer needed in setup-python.

Signed-off-by: Maxime Kawawa-Beaudan <maxkb@meta.com>
Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>

---------

Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>
Signed-off-by: Maxime Kawawa-Beaudan <maxkb@meta.com>
2026-02-28 14:37:43 +08:00
Cuiys e60ae09e5a
feat(ci): macos ci with github-runner (#94) 2026-02-13 14:41:57 +08:00
Cuiys 1fa15ce96b
feat: support ai extension (#88) 2026-02-12 18:33:41 +08:00
Cuiys dc088a4446
feat: support linux arm64 ci and release (#71) 2026-02-10 14:17:49 +08:00
Cuiys 6d11623a96
chore(ci): modify setuptools cm for test pypi and support cancel in progress (#21)
* feat: set local_scheme with no-local-version

* fix: pre-install numpy for test pypi install zvec

* fix: add guess-next-dev

* feat: support cancel ci when has new pr

* feat: add job name

* feat: add job name for ci and fix concurrency group
2026-01-09 17:48:38 +08:00
feihongxu0824 60079be3ec
chore(cmake): auto detect cpu arch flag in cmake and rm redundant option (#5)
* chore(cmake): auto detect cpu arch flag in cmake and rm redundant option

* fix

* fix
2025-12-31 09:45:17 +08:00
Cuiys 220a9aba11
chore:add git commit msg and branch name in pre-commit and modify org (#1)
* chore: add git commit msg and branch name in pre-commit

* docs: modify org to alibaba

* ci: mac build with make
2025-12-30 15:39:05 +08:00
sanyi 6524fabd80 Initial commit 2025-12-30 11:02:17 +08:00