Skip to main content
Yanked

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:


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 support
  • pithos.h — C API header
  • graal_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_index to 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

pithosdb-1.0.2.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pithosdb-1.0.2-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

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

Hashes for pithosdb-1.0.2.tar.gz
Algorithm Hash digest
SHA256 54750b7f646576d0a10d1469dd92001028537be86f02dc3195933e9e530a3af6
MD5 b1319eba4a65bf16be78a0e993397067
BLAKE2b-256 9c156531678b9f813629baa7d14ecba6c079215be8bf7ce22ca2f3e121a1515d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pithosdb-1.0.2.tar.gz:

Publisher: publish-pypi.yml on F1nnSBK/Pithos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for pithosdb-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ab16a07342743f463b800512a7c3ad83f9d1bac2a38c17a941ad1d6433a0588e
MD5 4465f4a037fe85f835614dd0c53b2992
BLAKE2b-256 d357d868b4ecbf79ce59e77ffa1c8a9585b730ed6cd74e73c8f9885feae82dc1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pithosdb-1.0.2-py3-none-any.whl:

Publisher: publish-pypi.yml on F1nnSBK/Pithos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

2.2.5

2 files

2.2.4

2 files

2.2.3

2 files

2.2.2

2 files

2.2.1

2 files

2.2.0

2 files

2.0.0

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

This release

1.0.2 This release

2 files

1.0.1

2 files

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