Missing arm64 Support and Source Distribution on PyPI
SQLite-vec has gained significant popularity and is being extensively used in projects across the ecosystem. However, the sqlite-vec PyPI package appears to be incomplete as it does not provide a pre-built binary for arm64. Additionally, since sqlite-vec is currently a binary-only package without a standard Python-supported build, we are unable to compile it from source as an alternative workaround.
Proposed solution:
- Provide an arm64 wheel in the PyPI package distribution to support ARM-based environments.
- Add a source distribution so users can build from source when needed.
cc: franciscojavierarceo @asg017
@asg017 let me know if you would like assistance with this, if you don't have bandwidth or priority I'm happy to work on coming up with a way to ship this with the needed pieces as we want to include this into Feast by default as we're enhancing the search capability quite a bit.
I may be missing something but I just compiled sqlite-vss with make manually and didn't have to use the pre-built binary package.
Just to ensure everyone's on the same page, I noticed that there is actually an arm64 wheel published
https://pypi.org/project/sqlite-vec/#files
However, when examining its content the binary seems to have been built as arm32, likely mistakenly. So hopefully the build process can be fixed so it's 64-bit.
❯ wget https://files.pythonhosted.org/packages/f2/48/dbb2cc4e5bad88c89c7bb296e2d0a8df58aab9edc75853728c361eefc24f/sqlite_vec-0.1.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
❯ unzip sqlite_vec-0.1.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
❯ file sqlite_vec/vec0.so
sqlite_vec/vec0.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=126100873b8858013bd396b329eccfa35f27acf5, not stripped
Edit: Oh I realized it was already fixed, but just not released yet
https://github.com/asg017/sqlite-vec/commit/cc7c29ec2f33afb83083b5df08634835b30129b3
(comment made on wrong GitHub issue, so removed)