2024-06-22 16:46:33 -07:00
# Installing
You have several options to include `sqlite-vec` into your projects, including
PyPi packages for Python, NPM packages for Node.js, Gems for Ruby, and more.
## With popular package managers
::: code-group
```bash [Python]
pip install sqlite-vec
```
```bash [Node.js]
npm install sqlite-vec
```
```bash [Bun]
bun install sqlite-vec
```
```bash [Deno]
deno add npm:sqlite-vec
```
```bash [Ruby]
gem install sqlite-vec
```
```bash [Rust]
cargo add sqlite-vec
```
2024-07-31 12:55:03 -07:00
```bash [Go (CGO)]
go get -u github.com/asg017/sqlite-vec-go-bindings/cgo
```
```bash [Go (ncruces WASM)]
go get -u github.com/asg017/sqlite-vec-go-bindings/ncruces
2024-06-22 16:46:33 -07:00
```
```bash [Datasette]
datasette install datasette-sqlite-vec
```
```bash [sqlite-utils]
sqlite-utils install sqlite-utils-sqlite-vec
```
:::
2024-07-31 12:55:03 -07:00
## Pre-compiled extensions
2024-06-22 16:46:33 -07:00
Alternatively, you can download pre-compiled loadable extensions from the
[`sqlite-vec` Github Releases ](https://github.com/asg017/sqlite-vec/releases/latest ).
2024-07-31 12:55:03 -07:00
There's also an `install.sh` script that will automatically download the appropriate pre-compiled extension from Github Releases to your machine.
```sh
# yolo
2025-01-23 18:41:40 -08:00
curl -L 'https://github.com/asg017/sqlite-vec/releases/latest/download/install.sh' | sh
2024-07-31 12:55:03 -07:00
```
```sh
# ok lets play it safe
2025-01-23 18:41:40 -08:00
curl -o install.sh -L https://github.com/asg017/sqlite-vec/releases/latest/download/install.sh
2024-07-31 12:55:03 -07:00
# inspect your scripts
cat install.sh
# TODO Test if execute permissions?
./install.sh
```
## Compiling
`sqlite-vec` is a single `sqlite-vec.c` and `sqlite-vec.h` , and can be easily compiled for different platforms, or statically linked into larger applications.
See [*Compiling `sqlite-vec`* ](#compiling ) for more information.