This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 2.2.5 instead.
Reason given by maintainers: Development Version
Pithos Vector Search Engine
(Note: This repository was formerly known as lcvk)
A high-performance, Ahead-of-Time (AOT) compiled, dimension-agnostic vector search engine written in Java 25, optimized for Matryoshka-structured binary embeddings at planetary scale, and compiled into a native shared library (.dylib / .so) via GraalVM Native Image.
Pithos achieves its speed by collapsing abstraction boundaries between language runtimes, the operating system, and hardware execution models. It bypasses garbage collection entirely, mapping memory-bandwidth-bound datasets off-heap using the Java Foreign Function & Memory (FFM) API (Project Panama) and POSIX-aligned virtual memory mapping (mmap).
Now with CUDA acceleration support for GPU-accelerated Hamming distance computation and multi-family voting, enabling massive parallel search operations on NVIDIA GPUs.
Documentation Directory
To make the codebase easier to navigate, detailed guides and theory have been split into standalone documents:
- Architectural Principles & Core Innovations: Mathematical foundations, block-diagonal Walsh-Hadamard rotations, SVD-driven spectral truncation, and the 3-gate read-path cascade.
- C-API Reference & Runtime Configuration: Complete declarations of entry points (
libpithos), FFI mappings, CUDA wrappers, and hardware co-design guidelines (FPGA/DMA offloading).
Directory Structure
.
├── pom.xml # Maven configuration (dimension-agnostic pithos packaging, CUDA profile)
├── README.md # This file
├── test_client.c # C verification client calling Pithos float C-API
├── pithos.h # C API header file
├── graal_isolate.h # GraalVM Native Image header
├── docs/ # Documentation resources
│ ├── ARCHITECTURAL_PRINCIPLES.md # Math, theory, and system architecture
│ ├── C_API_REFERENCE.md # C-API declarations and tuning guidelines
│ └── archive/ # Archived log history
├── benchmarks/ # Verification scripts
│ ├── run_real_verification.py # Lunar Pit / adapter classification pipeline
│ ├── verify_compaction.py # Index compaction verification script
│ ├── verify_wal.py # Write-Ahead Log verification script
│ └── verify_optional_fp16.py # FP16 vs. Non-FP16 verification script
├── examples/ # Developer integration demos
│ ├── cpp/demo.c # C integration demo linking libpithos
│ └── java/ZeroCostDemo.java # FFM Panama off-heap GC bypass demo
└── src/ # Core source tree (Java backend, CUDA kernels, JNI bindings)
📦 Python Quickstart
Pithos is installable via pip or uv:
pip install pithosdb
import pithosdb
import numpy as np
# Initialize database off-heap
with pithosdb.VectorDb() as db:
index = db.load_index("lunar", "path/to/lunar_index")
# Zero-copy batch search with NumPy
queries = np.random.randn(10, 384).astype(np.float32)
results = index.search(queries, k=5)
for q_idx, matches in enumerate(results):
print(f"Query {q_idx} Top Matches: {matches}")
⚡ Precompiled Native Libraries
Precompiled native libraries are automatically published as GitHub Release assets:
🔗 Download Latest Release Assets
Each release includes:
libpithos-linux-x86_64.so— Linux (x86_64)libpithos-macos-aarch64.dylib— macOS (Apple Silicon)libpithos-linux-x86_64-cuda.so— Linux (x86_64) with CUDA supportpithos.h— C API headergraal_isolate.h— GraalVM Native Image header
🛠️ Building from Source
1. Compile & Build (Native macOS & Linux)
Ensure you have GraalVM JDK 25 and Maven installed:
export JAVA_HOME=/path/to/graalvm-jdk-25
export PATH=$JAVA_HOME/bin:$PATH
mvn clean package
This executes all unit tests (including SVD, FWHT, compaction, and WAL recovery) and compiles libpithos.dylib / libpithos.so inside target/.
2. Verification
python benchmarks/run_real_verification.py
3. Building with CUDA Support (Linux)
export JAVA_HOME=/path/to/graalvm-jdk-25
export PATH=$JAVA_HOME/bin:$PATH
export CUDA_HOME=/usr/local/cuda
export PATH=$CUDA_HOME/bin:$PATH
mvn clean package -Pcuda -Dcuda.enabled=true
️ Roadmap & Next Steps
1. Distribute Search Topologies
- Objective: Scale out to multi-node clusters.
- Concept: Add consistent hashing rings to shard the Matryoshka columnar indexes across multiple nodes, executing query routing and remote merging in parallel.
2. Dynamic Memory Re-alignment
- Objective: Avoid restart overhead during delta-buffer flushes.
- Concept: Implement dynamic pointer rotation in
vdb_load_indexto hot-swap mapped memory regions on the fly without closing active isolate threads.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pithosdb-1.0.2.tar.gz.
File metadata
- Download URL: pithosdb-1.0.2.tar.gz
- Upload date:
- Size: 18.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54750b7f646576d0a10d1469dd92001028537be86f02dc3195933e9e530a3af6
|
|
| MD5 |
b1319eba4a65bf16be78a0e993397067
|
|
| BLAKE2b-256 |
9c156531678b9f813629baa7d14ecba6c079215be8bf7ce22ca2f3e121a1515d
|
Provenance
The following attestation bundles were made for pithosdb-1.0.2.tar.gz:
Publisher:
publish-pypi.yml on F1nnSBK/Pithos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pithosdb-1.0.2.tar.gz -
Subject digest:
54750b7f646576d0a10d1469dd92001028537be86f02dc3195933e9e530a3af6 - Sigstore transparency entry: 2454815936
- Sigstore integration time:
-
Permalink:
F1nnSBK/Pithos@74db46ccfe4f2d80fa426f0b47ac3206604ead78 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/F1nnSBK
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@74db46ccfe4f2d80fa426f0b47ac3206604ead78 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pithosdb-1.0.2-py3-none-any.whl.
File metadata
- Download URL: pithosdb-1.0.2-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab16a07342743f463b800512a7c3ad83f9d1bac2a38c17a941ad1d6433a0588e
|
|
| MD5 |
4465f4a037fe85f835614dd0c53b2992
|
|
| BLAKE2b-256 |
d357d868b4ecbf79ce59e77ffa1c8a9585b730ed6cd74e73c8f9885feae82dc1
|
Provenance
The following attestation bundles were made for pithosdb-1.0.2-py3-none-any.whl:
Publisher:
publish-pypi.yml on F1nnSBK/Pithos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pithosdb-1.0.2-py3-none-any.whl -
Subject digest:
ab16a07342743f463b800512a7c3ad83f9d1bac2a38c17a941ad1d6433a0588e - Sigstore transparency entry: 2454816003
- Sigstore integration time:
-
Permalink:
F1nnSBK/Pithos@74db46ccfe4f2d80fa426f0b47ac3206604ead78 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/F1nnSBK
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@74db46ccfe4f2d80fa426f0b47ac3206604ead78 -
Trigger Event:
push
-
Statement type: