🚀 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)
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.