Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redo the javascript version and use pre-built binaries #342

Merged
merged 15 commits into from
Mar 31, 2024

Conversation

sroussey
Copy link
Contributor

This takes what I did for Simsimd and applies it to usearch.

Note the test where I changed something to be a close equals. usearch did not return 0 for that test but 1e-7 instead. Let me know if that is ok.

.github/workflows/release.yml Outdated Show resolved Hide resolved
.github/workflows/prerelease.yml Outdated Show resolved Hide resolved
.github/workflows/prerelease.yml Outdated Show resolved Hide resolved
@ashvardanian
Copy link
Contributor

Thank you, @sroussey! I'm currently working on merging those. Assuming USearch is a much heavier project than SimSIMD, can you please share some instructions to test the compatibility with Bun and Deno. Ideally, we should add them to the prerelease.yml pipeline.

@ashvardanian ashvardanian merged commit 267fbb5 into unum-cloud:main-dev Mar 31, 2024
7 of 8 checks passed
ashvardanian pushed a commit that referenced this pull request Mar 31, 2024
# [2.10.0](v2.9.2...v2.10.0) (2024-03-31)

### Add

* `Index.__repr_pretty__` ([7087138](7087138))
* Introspect Rust builds ([16fa90f](16fa90f))
* Standalone SQLite binary ([227083b](227083b)), closes [#358](#358)

### Chore

* 120-char lines in Python ([92cf01e](92cf01e))

### Docs

* Cover cross-compilation ([de1a8e9](de1a8e9))
* Typo - "desnse" -> "dense" (#370) ([719cf7a](719cf7a)), closes [#370](#370)

### Fix

* `ascii` name collision in Py ([4ac3509](4ac3509))
* Allow missing metric state ([4b8e1a8](4b8e1a8))
* Avoid dynamic arrays for MSVC ([89d70cd](89d70cd))
* Exceptions for missing distances ([349c02d](349c02d))
* JIT compilation in Python ([a3287f1](a3287f1))
* JS compilation ([cea50ba](cea50ba))
* Missing `download_binary` arg ([64d211a](64d211a))
* Missing include ([6454aae](6454aae))
* mixed-precision tolerance in JS tests ([b72f658](b72f658))
* No `-Wno-vla` MSVC flag ([84e8e1e](84e8e1e))
* No extensions in some SQLite builds ([39264d0](39264d0))
* OpenMP max threads issue ([6fd4a2d](6fd4a2d)), closes [ClickHouse/ClickHouse#61780](ClickHouse/ClickHouse#61780)
* Silence false warnings ([ed3a23b](ed3a23b))

### Improve

* bit-casting for negative flaots ([1d03a9d](1d03a9d))
* Clean Python w. Ruff ([87e200b](87e200b))
* Concrete `scalar_kind_t` values ([27d911a](27d911a))
* Handle failing downloads ([8649815](8649815))
* Normalize Pearson as distance ([8a697f7](8a697f7))
* Pass `vectors` to `self_recall` ([565625e](565625e))
* Python evals for exact search ([36f6c5e](36f6c5e))
* Silence warnings ([3d229e0](3d229e0))

### Make

* `CMP0135` CMake policy ([d335df7](d335df7))
* `pypy` and `musl` wheels ([31665d5](31665d5))
* Add SimSIMD dynamic dispatch ([8b8d2f5](8b8d2f5))
* Avoid SimSIMD inner dispatch ([28b0850](28b0850))
* Build SQLite from source ([0dc59a8](0dc59a8))
* CMake pre 3.22 support ([145a4f4](145a4f4))
* Cross-compilation deps ([1de8d7a](1de8d7a))
* Cross-compile with Clang ([94f97cb](94f97cb)), closes [#322](#322)
* Disable SQLite extension for Windows ([c612cc2](c612cc2))
* Fetch local or remote SQLite builds ([f6b75e0](f6b75e0))
* Format Py lines to 120 columns ([5b5973c](5b5973c))
* Lantern build issues ([a400742](a400742)), closes [/github.com/unum-cloud/usearch/blob/4747ef42f4140a1fde16118f25f079f9af79649e/include/usearch/index_plugins.hpp#L43-L45](https://github.com//github.com/unum-cloud/usearch/blob/4747ef42f4140a1fde16118f25f079f9af79649e/include/usearch/index_plugins.hpp/issues/L43-L45) [/github.com/unum-cloud/usearch/blob/ce54b814a8a10f4c0c32fee7aad9451231b63f75/include/usearch/index_plugins.hpp#L50](https://github.com//github.com/unum-cloud/usearch/blob/ce54b814a8a10f4c0c32fee7aad9451231b63f75/include/usearch/index_plugins.hpp/issues/L50)
* Prebuild JS binaries (#342) ([267fbb5](267fbb5)), closes [#342](#342) [#336](#336)
* Pull submodules before cross-comp ([24b3529](24b3529))
* Read UTF8 README on Windows ([a49d17e](a49d17e))
* shared libs on MacOS are `.dylib` ([fd94aa8](fd94aa8))
* SimSIMD in Windows Python wheels ([ecb4948](ecb4948)), closes [#325](#325)
* SQlite as shared library ([3db3d33](3db3d33))
* Take SQLite source for cross-compilation ([95b260f](95b260f))
* Upgrade SimSIMD ([908df0d](908df0d))
* Upgrade SimSIMD to 4.2.2 ([9f53f15](9f53f15))
* Use AVX in Windows Python images ([c694880](c694880)), closes [#325](#325)
@ashvardanian
Copy link
Contributor

🎉 This PR is included in version 2.10.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants