Skip to main content

🚀 FastVect

FastVect is an ultra-high-performance, memory-optimized embedded vector storage and search engine designed in Rust and compiled into native, zero-dependency Python binaries.

By eliminating server-side hops, HTTP/gRPC network overhead, and heavy serialization bottlenecks, FastVect runs directly inside your active Python process memory. Thanks to pre-compiled binary wheels hosted on PyPI, it installs instantly on Windows, Linux, and macOS without requiring a local Rust toolchain or cargo environment.


📊 Performance Benchmark Ledger

The following metrics were captured under rigorous architectural stress-testing on an Intel Core i7-10750H CPU (5,000 Entities, 128-Dimension, Cosine Metric, distributed across isolated tenant spaces):

Phase Evaluation Matrix Throughput / Velocity Amortized Latency
📥 Ingestion Bulk Transactional Upsert 29,042.77 upserts/sec 0.1722 seconds (Total)
🔍 Search (Single) Sequential Graph Traversal 19,117.29 queries/sec 0.0340 ms (~34.0 μs)
🏎️ Search (Batch) Multi-Threaded Rayon Engine 127,475.43 queries/sec 0.0078 ms (~7.8 μs)
💾 Save State Postcard Binary Serialization Zero-Copy Disk Commit 5.70 ms (Total Space)
🔄 Rehydration Memory Hot-Swap Reload Exclusive State Hydration 8.24 ms (Total Time)

📈 Benchmark Insights

  • The 127K QPS Record: By passing query matrices in bulk via .batch_search(), FastVect drops into a highly optimized Rust worker pool managed by Rayon. This completely bypasses Python's GIL (Global Interpreter Lock) and saturates all available CPU cores.
  • Microsecond Latency: Swapping heap-allocated visit trackers with an $O(1)$ stack-like flat Vec<bool> allocation within the HNSW traversal loop reduces search latency down to an astonishing 7.8 microseconds per query.

🛠️ Key Architectural Innovations

  • GIL-Free Data Parallelism: Parallel iterators seamlessly map concurrent graph traversal lookups directly to bare-metal hardware threads.
  • Contiguous Graph Memory: Replaced pointer-heavy vertex representations with contiguous array blocks, reducing heap fragmentation and maximizing L1/L2 cache locality.
  • Single-Stage Multi-Tenancy: Filters properties during the graph routing phases instead of relying on post-query vector truncation, keeping recall precision at 100%.

📦 Installation

FastVect provides pre-compiled binaries for major operating systems and Python versions. No local compiler or Rust setup is needed:

pip install fastvect

🚀 Quickstart Guide

1. Ingestion & Multi-Tenant Search

import fastvect

# Initialize a production-grade embedded storage workspace
storage = fastvect.VectorStorage()

# Upsert coordinates paired with structural metadata payloads
storage.upsert(
    point_id=1,
    vector=[0.12, -0.43, 0.84, ..., 0.09],  # 128-dimensional list
    payload={
        "tenant_id": "tenant_alpha",
        "status": "active",
        "index_marker": 500
    }
)

# High-speed single search query with active pre-filtering
results = storage.search(
    query_vector=[0.10, -0.40, 0.80, ..., 0.05],
    limit=10,
    metric="cosine",
    tenant_id="tenant_alpha"
)
print(f"Top-K Matches: {results}")

2. Multi-Core Batch Search Blast

To replicate the 127K QPS benchmark, aggregate your query vectors and route them concurrently through the parallel engine:

# A nested list containing hundreds of raw analytical vectors
query_batch = [[0.1, -0.2, ...], [0.4, 0.5, ...], [-0.3, 0.1, ...]]

batch_results = storage.batch_search(
    query_vectors=query_batch,
    limit=5,
    metric="cosine",
    tenant_id="tenant_alpha"
)

3. High-Speed Persistence

# Commit state snapshot onto localized physical tracks instantly via Postcard
storage.save("fastvect_snapshot.bin")

# Rehydrate database states into a clean empty instance
new_storage = fastvect.VectorStorage()
new_storage.load("fastvect_snapshot.bin")

🛡️ License

FastVect is open-source software licensed under the MIT License. Hardened for mission-critical, ultra-low latency embedding retrieval pipelines.

Metadata

Release files for fastvect 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for fastvect 1.0.1
File Actions
fastvect-1.0.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64 Details for fastvect-1.0.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fastvect-1.0.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ ARM64 Details for fastvect-1.0.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fastvect-1.0.1-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Details for fastvect-1.0.1-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fastvect-1.0.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-64 Details for fastvect-1.0.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fastvect-1.0.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details for fastvect-1.0.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fastvect-1.0.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details for fastvect-1.0.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fastvect-1.0.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details for fastvect-1.0.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fastvect-1.0.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details for fastvect-1.0.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fastvect-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for fastvect-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fastvect-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details for fastvect-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fastvect-1.0.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for fastvect-1.0.1-cp312-cp312-win_amd64.whl
fastvect-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for fastvect-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fastvect-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details for fastvect-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fastvect-1.0.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for fastvect-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
fastvect-1.0.1-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details for fastvect-1.0.1-cp312-cp312-macosx_10_12_x86_64.whl
fastvect-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for fastvect-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fastvect-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details for fastvect-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Total release size: 5.2 MB

Release files / fastvect-1.0.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastvect-1.0.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 318.8 kB
Tags Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
b58d865ddf3d18e7e34a0c04494b120badb1c87e05ab8f7a0e1d8144bb311943
BLAKE2b-256 checksum
How to use checksums
fa40a9794f6de2a0c86df5aa9490098584220bd6f8c54e83ce39959138746f2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL fastvect-1.0.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 310.8 kB
Tags Linux glibc 2.17+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
22355f2417fa296b33a1ea848aca6269f1e0a24b96359077c9f759eed7524df4
BLAKE2b-256 checksum
How to use checksums
90048652a7652275f1be9fa6b8cf34d0455d9409943e6eb94f03bb9943f3c4e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastvect-1.0.1-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 317.5 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
01488aa71b3e7d0215d571e6512488ce405ce9e16d5372e0b171b71192bc6fa8
BLAKE2b-256 checksum
How to use checksums
cc91f027b53aa7215bac2bbb0b4c708535c029eda3798f169aa95e18b718648b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastvect-1.0.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 318.9 kB
Tags CPython 3.15 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a7edd92258562b702e0420f789d06ec851ceeb868e5a78a636c556603a8a8c4e
BLAKE2b-256 checksum
How to use checksums
2657bf5f7cfc6224ce0c9924f2ef53407851977a4b18507e64ed481a612ec042
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastvect-1.0.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 317.5 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1040668fae8900839db6d39b9b9d319397139f5e6e91e6f2b50bdb0147888975
BLAKE2b-256 checksum
How to use checksums
dff25dfae9e0200b9477d14342608736bba313846be60216cfab482b5fbcb947
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL fastvect-1.0.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 309.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
2a3229326b361b02cace3c0609713c3d506146cfd7b1821e88b3c5fc47615422
BLAKE2b-256 checksum
How to use checksums
78152419a4cb106369a008abd1e4a87fe6a9dce7297fe26ac60f954bc974a906
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastvect-1.0.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 318.9 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
42020e15f43fba52fed831b50f5debb596681bd08512a65748db39a93339e875
BLAKE2b-256 checksum
How to use checksums
a79ee4aa4240e3e958c4f1a1917335a9c404d408ce98e8f389e2e1053cbba380
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL fastvect-1.0.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 310.5 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
880ea6884bcdfbe1a734c00de6e99e404b6bda5cf5f01cd8e5369266cb12d911
BLAKE2b-256 checksum
How to use checksums
5f6a96620573af49357d3ac6c836475238109df9cc7811f4a12a8f78be9d74a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastvect-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 321.5 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
8132828739bd64b4b361e3f3a4d93ffb9f1a869ab7cdde659f5a443e96e413c4
BLAKE2b-256 checksum
How to use checksums
a201221d5e1f44455529fe5a268c397365213684c71560178ff260324c88eb7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL fastvect-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 313.1 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
418131886b0c371bf1192952d8789604c78d2ba41bd8dc4cedf76c519812d451
BLAKE2b-256 checksum
How to use checksums
8544aec40d7e57bcd81ec298bca9d82363ffe4b81948143e88cf27340a93b758
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp312-cp312-win_amd64.whl

Download URL fastvect-1.0.1-cp312-cp312-win_amd64.whl
Size 187.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
aa51dd4d7164d8d621095d07e1801c523c0a64abfd625f5f9d1820aba7ba99d6
BLAKE2b-256 checksum
How to use checksums
56540f859b42cc5f09a2be84a50ded1626348fa01999438f857512d6ec5570dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastvect-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 321.3 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a5170a93fd5a3572bd9b3b2dfe493ec9f23044f013a2cdd1668a01ac3f24e802
BLAKE2b-256 checksum
How to use checksums
b9e05e12a7e9d1b7e2623017251a3bae41ace4e810c9453c4ac65ddb03200feb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL fastvect-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 312.9 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
de59259b337c778e9fe9d85c380f655c0f6829725631f47918c9643243a5a900
BLAKE2b-256 checksum
How to use checksums
277908f8858ef351ea893cd2acf181ccf467a455a271f5999326b872227873f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL fastvect-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
Size 274.1 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
56d3e3dbcf43062751e7ba877feea4e81bfd51ac56393534e3af9b6d070b797f
BLAKE2b-256 checksum
How to use checksums
88d0a04d83261e89161a1b4774e861fb80bb06e2968d087ea2a9f76170c08435
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp312-cp312-macosx_10_12_x86_64.whl

Download URL fastvect-1.0.1-cp312-cp312-macosx_10_12_x86_64.whl
Size 292.7 kB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
68bbdcf6367b8a254aa8e1cb51f8aaff345e45ec690c2ba789f4cf6b9cef8ee9
BLAKE2b-256 checksum
How to use checksums
0705ef6cbd0489106a07b69fc7ae246538a46d95129d865f260ac295afadc0bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastvect-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 318.7 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a5821ba14275fdd5c37482b6df363aee15afe3baf0b54421bbc074b5e74ab570
BLAKE2b-256 checksum
How to use checksums
b3d5b7d672f144deeb824c9026d2150c319c3f5dd7d2722ffb32b23d8de41577
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Release files / fastvect-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL fastvect-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 310.5 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
700cf60a1e8a75ae86ce044b840343267813cce854654b3756a11291e860645a
BLAKE2b-256 checksum
How to use checksums
ff43f1ea60eb94b92ac448265c334dbe0e32f0fd79809461604c4f3368e0a8f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.14.0

Security for fastvect 1.0.1

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.

Release history Release notifications | RSS feed

This release

1.0.1 This release

17 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page