usearch 2.9.2 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -38
- package/javascript/{types → dist/cjs}/usearch.d.ts +90 -115
- package/javascript/dist/cjs/usearch.js +531 -0
- package/javascript/dist/esm/usearch.d.ts +212 -0
- package/javascript/{usearch.js → dist/esm/usearch.js} +199 -153
- package/package.json +25 -23
- package/prebuilds/darwin-arm64+x64/usearch.node +0 -0
- package/prebuilds/linux-arm64/usearch.node +0 -0
- package/prebuilds/linux-x64/usearch.node +0 -0
- package/prebuilds/win32-ia32/usearch.node +0 -0
- package/prebuilds/win32-x64/usearch.node +0 -0
- package/.clang-format +0 -10
- package/.clang-tidy +0 -60
- package/.cmake-format.py +0 -19
- package/.dockerignore +0 -93
- package/.gitattributes +0 -9
- package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -90
- package/.github/ISSUE_TEMPLATE/config.yml +0 -5
- package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -64
- package/.github/workflows/Dockerfile.libs +0 -36
- package/.github/workflows/prerelease.yml +0 -331
- package/.github/workflows/release.yml +0 -722
- package/.github/workflows/update_version.sh +0 -15
- package/.gitmodules +0 -9
- package/.releaserc +0 -90
- package/CITATION.cff +0 -11
- package/CMakeLists.txt +0 -324
- package/CODE_OF_CONDUCT.md +0 -128
- package/CONTRIBUTING.md +0 -361
- package/Cargo.toml +0 -19
- package/Dockerfile +0 -16
- package/VERSION +0 -1
- package/assets/unum.png +0 -0
- package/assets/usearch-approaches-transparent.png +0 -0
- package/assets/usearch-approaches-white.png +0 -0
- package/assets/usearch-neighbor-types.png +0 -0
- package/binding.gyp +0 -87
- package/build.gradle +0 -204
- package/build.rs +0 -18
- package/c/CMakeLists.txt +0 -25
- package/c/README.md +0 -34
- package/c/lib.cpp +0 -358
- package/c/test.c +0 -382
- package/c/usearch.h +0 -311
- package/cmake/clipp.cmake +0 -7
- package/cmake/config.cmake.in +0 -15
- package/cmake/emscripten.cmake +0 -8
- package/cmake/jemalloc.cmake +0 -62
- package/cmake/pkg-config.pc.in +0 -4
- package/cmake/usearchConfigVersion.cmake.in +0 -20
- package/conanfile.py +0 -26
- package/cpp/CMakeLists.txt +0 -14
- package/cpp/README.md +0 -161
- package/cpp/bench.cpp +0 -618
- package/cpp/test.cpp +0 -323
- package/fp16/CMakeLists.txt +0 -176
- package/fp16/LICENSE +0 -11
- package/fp16/README.md +0 -20
- package/fp16/bench/alt-element.cc +0 -89
- package/fp16/bench/from-alt-array.cc +0 -175
- package/fp16/bench/from-ieee-array.cc +0 -399
- package/fp16/bench/ieee-element.cc +0 -272
- package/fp16/bench/to-alt-array.cc +0 -91
- package/fp16/bench/to-ieee-array.cc +0 -303
- package/fp16/cmake/DownloadGoogleBenchmark.cmake +0 -15
- package/fp16/cmake/DownloadGoogleTest.cmake +0 -15
- package/fp16/cmake/DownloadPSimd.cmake +0 -15
- package/fp16/configure.py +0 -65
- package/fp16/confu.yaml +0 -8
- package/fp16/include/fp16/__init__.py +0 -0
- package/fp16/include/fp16/avx.py +0 -50
- package/fp16/include/fp16/avx2.py +0 -53
- package/fp16/include/fp16/bitcasts.h +0 -92
- package/fp16/include/fp16/fp16.h +0 -451
- package/fp16/include/fp16/psimd.h +0 -131
- package/fp16/include/fp16.h +0 -11
- package/fp16/jni/Android.mk +0 -6
- package/fp16/jni/Application.mk +0 -4
- package/fp16/test/alt-from-fp32-value.cc +0 -498
- package/fp16/test/alt-to-fp32-bits.cc +0 -263
- package/fp16/test/alt-to-fp32-psimd.cc +0 -145
- package/fp16/test/alt-to-fp32-value.cc +0 -348
- package/fp16/test/alt-to-fp32x2-psimd.cc +0 -245
- package/fp16/test/bitcasts.cc +0 -56
- package/fp16/test/ieee-from-fp32-value.cc +0 -523
- package/fp16/test/ieee-to-fp32-bits.cc +0 -333
- package/fp16/test/ieee-to-fp32-psimd.cc +0 -312
- package/fp16/test/ieee-to-fp32-value.cc +0 -420
- package/fp16/test/ieee-to-fp32x2-psimd.cc +0 -541
- package/fp16/test/peachpy/alt-xmm-to-fp32-xmm-avx.cc +0 -96
- package/fp16/test/peachpy/alt-xmm-to-fp32-ymm-avx2.cc +0 -96
- package/fp16/test/peachpy/stubs.py +0 -38
- package/fp16/test/tables.cc +0 -530
- package/fp16/test/tables.h +0 -13
- package/fp16/third-party/THHalf.h +0 -92
- package/fp16/third-party/eigen-half.h +0 -170
- package/fp16/third-party/float16-compressor.h +0 -80
- package/fp16/third-party/half.hpp +0 -2916
- package/fp16/third-party/npy-halffloat.h +0 -328
- package/include/usearch/index.hpp +0 -3836
- package/include/usearch/index_dense.hpp +0 -2004
- package/include/usearch/index_plugins.hpp +0 -2213
- package/javascript/lib.cpp +0 -341
- package/javascript/types/usearch.d.ts.map +0 -1
- package/javascript/usearch.test.js +0 -74
- package/package-ci.json +0 -10
- package/pyproject.toml +0 -51
- package/setup.py +0 -201
- package/simsimd/.releaserc +0 -86
- package/simsimd/CONTRIBUTING.md +0 -88
- package/simsimd/Cargo.lock +0 -709
- package/simsimd/Cargo.toml +0 -44
- package/simsimd/LICENSE +0 -201
- package/simsimd/README.md +0 -317
- package/simsimd/binding.gyp +0 -36
- package/simsimd/build.rs +0 -20
- package/simsimd/include/simsimd/binary.h +0 -245
- package/simsimd/include/simsimd/complex.h +0 -174
- package/simsimd/include/simsimd/probability.h +0 -548
- package/simsimd/include/simsimd/simsimd.h +0 -465
- package/simsimd/include/simsimd/spatial.h +0 -1267
- package/simsimd/include/simsimd/types.h +0 -208
- package/simsimd/javascript/bench.js +0 -127
- package/simsimd/javascript/fallback.ts +0 -193
- package/simsimd/javascript/lib.c +0 -102
- package/simsimd/javascript/node-gyp-build.d.ts +0 -1
- package/simsimd/javascript/simsimd.ts +0 -124
- package/simsimd/javascript/test.mjs +0 -153
- package/simsimd/javascript/tsconfig-base.json +0 -25
- package/simsimd/javascript/tsconfig-cjs.json +0 -8
- package/simsimd/javascript/tsconfig-esm.json +0 -8
- package/simsimd/package-lock.json +0 -1688
- package/simsimd/package.json +0 -61
- package/simsimd/rust/benches/cosine.rs +0 -27
- package/simsimd/rust/benches/native.rs +0 -30
- package/simsimd/rust/benches/sqeuclidean.rs +0 -27
- package/simsimd/rust/lib.c +0 -45
- package/simsimd/rust/lib.rs +0 -550
- package/sqlite/README.md +0 -178
- package/sqlite/lib.cpp +0 -325
- package/stringzilla/CONTRIBUTING.md +0 -446
- package/stringzilla/Cargo.lock +0 -25
- package/stringzilla/Cargo.toml +0 -26
- package/stringzilla/LICENSE +0 -201
- package/stringzilla/README.md +0 -1422
- package/stringzilla/VERSION +0 -1
- package/stringzilla/assets/cover-strinzilla.jpeg +0 -0
- package/stringzilla/assets/meme-stringzilla-v2.jpeg +0 -0
- package/stringzilla/assets/meme-stringzilla-v3.jpeg +0 -0
- package/stringzilla/binding.gyp +0 -16
- package/stringzilla/build.rs +0 -87
- package/stringzilla/c/lib.c +0 -337
- package/stringzilla/cli/README.md +0 -65
- package/stringzilla/cli/__init__.py +0 -0
- package/stringzilla/cli/split.py +0 -105
- package/stringzilla/cli/wc.py +0 -117
- package/stringzilla/include/stringzilla/experimental.h +0 -845
- package/stringzilla/include/stringzilla/module.modulemap +0 -9
- package/stringzilla/include/stringzilla/stringzilla.h +0 -5370
- package/stringzilla/include/stringzilla/stringzilla.hpp +0 -3838
- package/stringzilla/javascript/lib.c +0 -125
- package/stringzilla/javascript/stringzilla.js +0 -22
- package/stringzilla/package-ci.json +0 -10
- package/stringzilla/package.json +0 -32
- package/stringzilla/rust/lib.rs +0 -873
- package/stringzilla/swift/StringProtocol+StringZilla.swift +0 -280
- package/stringzilla/swift/Test.swift +0 -60
- package/tsconfig.json +0 -21
- package/wasmer.toml +0 -12
- package/winlibinstaller.bat +0 -42
- /package/{simsimd/javascript/dist-package-cjs.json → javascript/dist/cjs/package.json} +0 -0
- /package/{simsimd/javascript/dist-package-esm.json → javascript/dist/esm/package.json} +0 -0
package/simsimd/.releaserc
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"branches": [
|
|
3
|
-
"main"
|
|
4
|
-
],
|
|
5
|
-
"debug": true,
|
|
6
|
-
"ci": true,
|
|
7
|
-
"dryRun": false,
|
|
8
|
-
"plugins": [
|
|
9
|
-
[
|
|
10
|
-
"@semantic-release/commit-analyzer",
|
|
11
|
-
{
|
|
12
|
-
"preset": "eslint",
|
|
13
|
-
"releaseRules": [
|
|
14
|
-
{
|
|
15
|
-
"tag": "Break",
|
|
16
|
-
"release": "major"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"tag": "Add",
|
|
20
|
-
"release": "minor"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"tag": "Improve",
|
|
24
|
-
"release": "patch"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"tag": "Make",
|
|
28
|
-
"release": "patch"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"tag": "Refactor",
|
|
32
|
-
"release": false
|
|
33
|
-
}
|
|
34
|
-
]
|
|
35
|
-
}
|
|
36
|
-
],
|
|
37
|
-
[
|
|
38
|
-
"@semantic-release/release-notes-generator",
|
|
39
|
-
{
|
|
40
|
-
"preset": "eslint",
|
|
41
|
-
"releaseRules": [
|
|
42
|
-
{
|
|
43
|
-
"tag": "Break",
|
|
44
|
-
"release": "major"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"tag": "Add",
|
|
48
|
-
"release": "minor"
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"tag": "Improve",
|
|
52
|
-
"release": "patch"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"tag": "Make",
|
|
56
|
-
"release": "patch"
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
"tag": "Refactor",
|
|
60
|
-
"release": false
|
|
61
|
-
}
|
|
62
|
-
]
|
|
63
|
-
}
|
|
64
|
-
],
|
|
65
|
-
"@semantic-release/github",
|
|
66
|
-
[
|
|
67
|
-
"@semantic-release/exec",
|
|
68
|
-
{
|
|
69
|
-
"prepareCmd": "bash .github/workflows/update_version.sh '${nextRelease.version}'"
|
|
70
|
-
}
|
|
71
|
-
],
|
|
72
|
-
[
|
|
73
|
-
"@semantic-release/git",
|
|
74
|
-
{
|
|
75
|
-
"assets": [
|
|
76
|
-
"VERSION",
|
|
77
|
-
"package.json",
|
|
78
|
-
"Cargo.toml",
|
|
79
|
-
"CMakeLists.txt",
|
|
80
|
-
"include/simsimd/simsimd.h"
|
|
81
|
-
],
|
|
82
|
-
"message": "Build: Released ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
|
83
|
-
}
|
|
84
|
-
]
|
|
85
|
-
]
|
|
86
|
-
}
|
package/simsimd/CONTRIBUTING.md
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
# Contributing
|
|
2
|
-
|
|
3
|
-
## C and C++
|
|
4
|
-
|
|
5
|
-
To rerun experiments utilize the following command:
|
|
6
|
-
|
|
7
|
-
```sh
|
|
8
|
-
cmake -DCMAKE_BUILD_TYPE=Release -DSIMSIMD_BUILD_BENCHMARKS=1 -B ./build_release
|
|
9
|
-
cmake --build build_release --config Release
|
|
10
|
-
./build_release/simsimd_bench
|
|
11
|
-
./build_release/simsimd_bench --benchmark_filter=js
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## Python
|
|
15
|
-
|
|
16
|
-
Testing:
|
|
17
|
-
|
|
18
|
-
```sh
|
|
19
|
-
pip install -e . # to install the package in editable mode
|
|
20
|
-
pytest python/test.py -s -x -Wd # to run tests
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Here, `-s` will output the logs.
|
|
24
|
-
The `-x` will stop on the first failure.
|
|
25
|
-
The `-Wd` will silence overflows and runtime warnings.
|
|
26
|
-
|
|
27
|
-
Benchmarking:
|
|
28
|
-
|
|
29
|
-
```sh
|
|
30
|
-
pip install numpy scipy scikit-learn # for comparison baselines
|
|
31
|
-
python python/bench.py # to run default benchmarks
|
|
32
|
-
python python/bench.py --n 1000 --ndim 1000000 # batch size and dimensions
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Before merging your changes you may want to test your changes against the entire matrix of Python versions USearch supports.
|
|
36
|
-
For that you need the `cibuildwheel`, which is tricky to use on MacOS and Windows, as it would target just the local environment.
|
|
37
|
-
Still, if you have Docker running on any desktop OS, you can use it to build and test the Python bindings for all Python versions for Linux:
|
|
38
|
-
|
|
39
|
-
```sh
|
|
40
|
-
pip install cibuildwheel
|
|
41
|
-
cibuildwheel
|
|
42
|
-
cibuildwheel --platform linux # works on any OS and builds all Linux backends
|
|
43
|
-
cibuildwheel --platform linux --archs x86_64 # 64-bit x86, the most common on desktop and servers
|
|
44
|
-
cibuildwheel --platform linux --archs aarch64 # 64-bit Arm for mobile devices, Apple M-series, and AWS Graviton
|
|
45
|
-
cibuildwheel --platform linux --archs i686 # 32-bit Linux
|
|
46
|
-
cibuildwheel --platform linux --archs s390x # emulating big-endian IBM Z
|
|
47
|
-
cibuildwheel --platform macos # works only on MacOS
|
|
48
|
-
cibuildwheel --platform windows # works only on Windows
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
You may need root previligies for multi-architecture builds:
|
|
52
|
-
|
|
53
|
-
```sh
|
|
54
|
-
sudo $(which cibuildwheel) --platform linux
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
On Windows and MacOS, to avoid frequent path resolution issues, you may want to use:
|
|
58
|
-
|
|
59
|
-
```sh
|
|
60
|
-
python -m cibuildwheel --platform windows
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Rust
|
|
64
|
-
|
|
65
|
-
```sh
|
|
66
|
-
cargo test
|
|
67
|
-
cargo bench
|
|
68
|
-
open ./target/criterion/report/index.html
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## JavaScript
|
|
72
|
-
|
|
73
|
-
Testing and benchmarking:
|
|
74
|
-
|
|
75
|
-
```sh
|
|
76
|
-
npm install --dev
|
|
77
|
-
npm test
|
|
78
|
-
npm run bench
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## GoLang
|
|
82
|
-
|
|
83
|
-
```sh
|
|
84
|
-
cd golang
|
|
85
|
-
go test # To test
|
|
86
|
-
go test -run=^$ -bench=. -benchmem # To benchmark
|
|
87
|
-
```
|
|
88
|
-
|