sqlite-vec icon indicating copy to clipboard operation
sqlite-vec copied to clipboard

Missing arm64 Support and Source Distribution on PyPI

Open varshaprasad96 opened this issue 9 months ago • 5 comments

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.

varshaprasad96 avatar Mar 13 '25 20:03 varshaprasad96

cc: franciscojavierarceo @asg017

varshaprasad96 avatar Mar 13 '25 20:03 varshaprasad96

@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.

franciscojavierarceo avatar Mar 13 '25 20:03 franciscojavierarceo

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.

rcleveng avatar Apr 04 '25 21:04 rcleveng

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

anuraaga avatar Jun 20 '25 02:06 anuraaga

(comment made on wrong GitHub issue, so removed)

bbrowning avatar Jun 20 '25 10:06 bbrowning