Voyager is a library for performing fast approximate nearest-neighbor searches on an in-memory collection of vectors.
Voyager features bindings to both Python and Java, with feature parity and index compatibility between both languages. It uses the HNSW algorithm, based on the open-source hnswlib package, with numerous features added for convenience and speed. Voyager is used extensively in production at Spotify, and is queried hundreds of millions of times per day to power numerous user-facing features.
Think of Voyager like Sparkey, but for vector/embedding data; or like Annoy, but with much higher recall. It got its name because it searches through (embedding) space(s), much like the Voyager interstellar probes launched by NASA in 1977.
Installation
Python
pip install voyager
Java
Add the following artifact to your pom.xml:
<dependency>
<groupId>com.spotify</groupId>
<artifactId>voyager</artifactId>
<version>2.2.3</version>
</dependency>
You can find the latest version on Voyager's Releases page.
Scala
Add the following artifact to your build.sbt:
"com.spotify" % "voyager" % "2.2.3"
You can find the latest version on Voyager's Releases page.
Compatibility
| OS | Language | Version | x86_64 (Intel) | arm64 (ARM) |
|---|---|---|---|---|
| Linux | Python | 3.9 | ✅ | ✅ |
| Linux | Python | 3.10 | ✅ | ✅ |
| Linux | Python | 3.11 | ✅ | ✅ |
| Linux | Python | 3.12 | ✅ | ✅ |
| Linux | Python | 3.13 | ✅ | ✅ |
| Linux | Python | 3.14 | ✅ | ✅ |
| Linux | Python | 3.15 | ✅ | ✅ |
| Linux | Java | 8-16+ | ✅ | ✅ |
| macOS | Python | 3.9 | ✅ | ✅ |
| macOS | Python | 3.10 | ✅ | ✅ |
| macOS | Python | 3.11 | ✅ | ✅ |
| macOS | Python | 3.12 | ✅ | ✅ |
| macOS | Python | 3.13 | ✅ | ✅ |
| macOS | Python | 3.14 | ✅ | ✅ |
| macOS | Python | 3.15 | ✅ | ✅ |
| macOS | Java | 8-16+ | ✅ | ✅ |
| Windows | Python | 3.9 | ✅ | ❌ |
| Windows | Python | 3.10 | ✅ | ❌ |
| Windows | Python | 3.11 | ✅ | ❌ |
| Windows | Python | 3.12 | ✅ | ❌ |
| Windows | Python | 3.13 | ✅ | ❌ |
| Windows | Python | 3.14 | ✅ | ❌ |
| Windows | Python | 3.15 | ✅ | ❌ |
| Windows | Java | 8-16+ | ✅ | ❌ |
Python support policy
The Python versions and platforms listed above are officially supported. Release wheels are tested on each listed combination before publication.
Standard CPython 3.12 and later share cp312-abi3 wheels. These wheels may also
install on newer Python versions that have not yet been tested; installation
alone does not establish official support. New versions become officially
supported when their wheel tests are added to CI and pass. Free-threaded Python
builds are not currently supported.
Contributing
Contributions to voyager are welcomed!
See CONTRIBUTING.md for details.
License
Voyager is copyright 2022-2024 Spotify AB.
Voyager is licensed under the Apache 2 License.
Metadata
Release files for voyager 2.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| voyager-2.2.3.tar.gz | 2.4 MB | Without provenance | Details for voyager-2.2.3.tar.gz |
Built distributions (wheels)
Total release size: 9.3 MB
Release files / voyager-2.2.3.tar.gz
| Download URL | voyager-2.2.3.tar.gz |
|---|---|
| Size | 2.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a91ddfe2cd9aba083b22a0959e52abb4a5f29dd5d1294a1cd53c9c76d100f17f
|
|
BLAKE2b-256 checksum How to use checksums |
d86472afb30baef16acb827d4c5772ae95937691d2b0592ca7c7296f10b4852e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp312-abi3-win_amd64.whl
| Download URL | voyager-2.2.3-cp312-abi3-win_amd64.whl |
|---|---|
| Size | 186.2 kB |
| Tags | CPython 3.12 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
301d33c2aef3d322082b9f4c48af3b52a796691e66ba9a391dfd5b3bc42d654c
|
|
BLAKE2b-256 checksum How to use checksums |
bd2ab65381d78bf507034e5e526b696ae540d800631418dec73b608967a59cf9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | voyager-2.2.3-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 300.0 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
4ff90cb7fb3ae8522c86b7bd6074ab414165dc7e927574e94a4156f22272cfaf
|
|
BLAKE2b-256 checksum How to use checksums |
df3f015756346b3da7b577e7ad3d7ab13ac050ba24804656dc09eb8d5017e576
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | voyager-2.2.3-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 267.7 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
2df58e76f9a0e06770926570d3c93c13a71d4e3623620d62cf39e1a98725eaf6
|
|
BLAKE2b-256 checksum How to use checksums |
39a5c308014bb159c9f682940c56788d4fa293ec79e7cb6f099a1ef91e56657e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp312-abi3-macosx_11_0_arm64.whl
| Download URL | voyager-2.2.3-cp312-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 229.1 kB |
| Tags | CPython 3.12 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
62d07e2ab96709992c5c89c8554acac9999c85571e871e37290eadec390b156b
|
|
BLAKE2b-256 checksum How to use checksums |
c82b08831a32da76f4ea292cae7d08341db9958f3f73615f6e0078d58d5575fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp312-abi3-macosx_10_14_x86_64.whl
| Download URL | voyager-2.2.3-cp312-abi3-macosx_10_14_x86_64.whl |
|---|---|
| Size | 261.2 kB |
| Tags | CPython 3.12 abi3 macOS 10.14+ x86-64 |
|
SHA-256 checksum How to use checksums |
d180fef112fafacd29a4da508b4c19a4c17f596b6d9eae09cf3ce5bad96ba74f
|
|
BLAKE2b-256 checksum How to use checksums |
155f4a034cca29a0276e9b58d85c037ddb263eb30fd8c9eebc71b4e9b28f6870
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp312-abi3-macosx_10_14_universal2.whl
| Download URL | voyager-2.2.3-cp312-abi3-macosx_10_14_universal2.whl |
|---|---|
| Size | 487.2 kB |
| Tags | CPython 3.12 abi3 macOS 10.14+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
3be6ad877aa5a85f1fe386812883866431dcae4619a864f77da281ecf4a6abce
|
|
BLAKE2b-256 checksum How to use checksums |
ed20141e49a03cf64acb24e767757161901a76f7ae707c847a511266473388ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp311-cp311-win_amd64.whl
| Download URL | voyager-2.2.3-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 186.8 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
32ba092addfd7cc56031c511202ff41937573315cff00ae5203fcbb5625d1303
|
|
BLAKE2b-256 checksum How to use checksums |
4e69dff8c29aa4a57fc5441f24c418cbf50f6c056794de44281e87011bef3609
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | voyager-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 306.7 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
c17af3b4171894364f9c55f5ea7beae40d2be712956632fc27dd6ca859c1803a
|
|
BLAKE2b-256 checksum How to use checksums |
d2a819fd2b852a758b445dff47064a055e19709278edd9f6bf285777a44a1ffa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | voyager-2.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 271.8 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
ee9c4d5cd9541073063c450fb319accf198f8adb9dfae7705c48f9de81d6d752
|
|
BLAKE2b-256 checksum How to use checksums |
5c862b91f244c087eca5a49b6de4a19df017dc3266382886974cc7eeaf3ad082
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | voyager-2.2.3-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 231.1 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3fe1edac697dd2e6ca0431df5aea029bc39bdce55986cdc457f5376c5c1cb58a
|
|
BLAKE2b-256 checksum How to use checksums |
f11c08bd4b55476daed53a32feb925aee855eae081eae4e1bc2e6d8f3d9cf189
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp311-cp311-macosx_10_14_x86_64.whl
| Download URL | voyager-2.2.3-cp311-cp311-macosx_10_14_x86_64.whl |
|---|---|
| Size | 260.3 kB |
| Tags | CPython 3.11 macOS 10.14+ x86-64 |
|
SHA-256 checksum How to use checksums |
cc9723cc284323e35c7b70c1024c651fdcbf115ea3d73a9cb95bda8825b6da39
|
|
BLAKE2b-256 checksum How to use checksums |
334cdd274074ecadc5a23eea929cf6e485d268a18494aa7556715a7226cb5b73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp311-cp311-macosx_10_14_universal2.whl
| Download URL | voyager-2.2.3-cp311-cp311-macosx_10_14_universal2.whl |
|---|---|
| Size | 488.3 kB |
| Tags | CPython 3.11 macOS 10.14+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
259d310a4324c9fd5bc679fe9eba1009e0343c37225e99fa9b52d284b5238386
|
|
BLAKE2b-256 checksum How to use checksums |
3ec820044222488021aeb4571235ee273145bd18fd65775dc7a75446bc7f2f30
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp310-cp310-win_amd64.whl
| Download URL | voyager-2.2.3-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 186.4 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
85c68be9d1e90876de7db2c558fab65a4b14f16a2dcb29b858698a5c5c13d001
|
|
BLAKE2b-256 checksum How to use checksums |
3947cb7ef39f69225343b728172613956f18490cb2519fbf1ff448c10a238137
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | voyager-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 306.3 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
4d8510820c6298a252b5c8553b4af9b8c4f49e34fcaf1888e063187d0caa43f3
|
|
BLAKE2b-256 checksum How to use checksums |
57164439d5f7dfacabc5f88d06404b03dc755270a05211c88e26cf1df41f5b1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | voyager-2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 271.6 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
294a7efba46f16d1faebdb037c0ce3d69c7dcb022bdb933a31f974edba12270b
|
|
BLAKE2b-256 checksum How to use checksums |
d91104928cc7c77f44b671f7abb39e594b482ec124277c6eb4cf231035f60346
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | voyager-2.2.3-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 230.9 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c78e8ce429af7655e7722c8619fad50ebc10b5e3918e97923d976364848ca0df
|
|
BLAKE2b-256 checksum How to use checksums |
7c5066de5834b10a3c3881f3e9f3e4a301e45f85955b5f929605506898b70323
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp310-cp310-macosx_10_14_x86_64.whl
| Download URL | voyager-2.2.3-cp310-cp310-macosx_10_14_x86_64.whl |
|---|---|
| Size | 260.1 kB |
| Tags | CPython 3.10 macOS 10.14+ x86-64 |
|
SHA-256 checksum How to use checksums |
a4c19c3e14184656bcf46f90c3895a11807c9f60e4a22f564d006f994183840a
|
|
BLAKE2b-256 checksum How to use checksums |
978d00e56620795a2e2ab3d310d4f48c4835b4cf92d9192c6255ab46276a1498
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp310-cp310-macosx_10_14_universal2.whl
| Download URL | voyager-2.2.3-cp310-cp310-macosx_10_14_universal2.whl |
|---|---|
| Size | 488.0 kB |
| Tags | CPython 3.10 macOS 10.14+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
e7b6da933beabc8451f6077f55a2125c8710feabeec672130793b2dcc5d44a74
|
|
BLAKE2b-256 checksum How to use checksums |
6e7f5231e9b76185a2d285fc3f51aaabdae52cd4dc41ee27bacf7c73d38bced5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp39-cp39-win_amd64.whl
| Download URL | voyager-2.2.3-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 174.9 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
04b7555ed3faa5f825afdc6448f3b66288775bcc720c2288e70af5f3854270d1
|
|
BLAKE2b-256 checksum How to use checksums |
e97f9277589819349629c6b9bd191d333f711a5fafa0bbbb73edc87f8b39c56f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | voyager-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 298.3 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
f71cc1cec380491ccb0572a5fe64c9db86f6bf90b3b87a1fb92f098352fe752a
|
|
BLAKE2b-256 checksum How to use checksums |
41c6691054acde6bc49a8737673f9899dc36b5d0b45bfd79346b17ffa7eff821
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | voyager-2.2.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 267.8 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
50911cebf234c591f28b9cf7f72f5b3dd0beb0b579c885c20dfb70ecdfc8f769
|
|
BLAKE2b-256 checksum How to use checksums |
bd1aa53b3771057aafe92c9923f275fa318852ec60c1cbb1fe46193d0e253a2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | voyager-2.2.3-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 224.9 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2fbb704a53789a6ecaa43361b2a32c1a5e68d1604d51a39ec9df6eeaadd63f95
|
|
BLAKE2b-256 checksum How to use checksums |
0a43eb636964c601371f84a63435f98acd221c3cd4fd17be5f9273cd87e70c66
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp39-cp39-macosx_10_14_x86_64.whl
| Download URL | voyager-2.2.3-cp39-cp39-macosx_10_14_x86_64.whl |
|---|---|
| Size | 248.0 kB |
| Tags | CPython 3.9 macOS 10.14+ x86-64 |
|
SHA-256 checksum How to use checksums |
24a37a7fae37dd08b1169a1a3e5a4cb8db28bd20957b2b0bca9324f28c942543
|
|
BLAKE2b-256 checksum How to use checksums |
a514745bf70ff46394d2daadb1591f3e910603fe08fcd2d85f6f5282015cd344
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / voyager-2.2.3-cp39-cp39-macosx_10_14_universal2.whl
| Download URL | voyager-2.2.3-cp39-cp39-macosx_10_14_universal2.whl |
|---|---|
| Size | 469.3 kB |
| Tags | CPython 3.9 macOS 10.14+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
c435af660ade17c9303c2c912544d1c3e2c0c4e86b96d7d055699649028fd0e3
|
|
BLAKE2b-256 checksum How to use checksums |
9131372c680cf43b80cec6a1cd2f69124829d86d272076696f5eb15f7efbdba2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Security for voyager 2.2.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.