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.3.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.3-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file pithosdb-1.0.3.tar.gz.

File metadata

  • Download URL: pithosdb-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 97a673243cb5b3a85bc4a79ee91f31ef5a08385866c13aab139715271fa4bb53
MD5 0cca233724ce985e47850cb083376a1c
BLAKE2b-256 d56583bf8bc5d06ebf21421fd9f74a75dcdea9d861e3ecf5b3d13728d37b68ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for pithosdb-1.0.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: pithosdb-1.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 619af12f3fd4e0cb6e135fe2c0cb277da06cb84c8093fe6c1b09a40a22a2097a
MD5 7537a5149b64200c426580e3e958e6cc
BLAKE2b-256 9585b63147221fa5752bff1579afa9be54f9041f5baa202f05137013a88bdad8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pithosdb-1.0.3-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

This release

1.0.3 This release

2 files

1.0.2

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