Skip to main content

High-performance vector database library for Python with multiple index types and metadata support

Project description

GigaVector

GigaVector Logo

PyPI Downloads

A high-performance vector database library for Python. GigaVector provides efficient similarity search with support for multiple index types, metadata filtering, and persistent storage.

Features

Core Database:

  • Multiple index types: KD-tree, HNSW, and IVFPQ
  • Distance metrics: Euclidean and Cosine similarity
  • Rich metadata support with key-value pairs
  • Metadata filtering in search queries
  • Persistent storage with snapshot and WAL (Write-Ahead Log)
  • Batch operations for vector insertion and search
  • Thread-safe operations

Advanced Features:

  • GPU acceleration with CUDA support
  • HTTP REST API server
  • BM25 full-text search
  • Hybrid search (vector + text fusion)
  • Backup and restore with compression
  • TTL (Time-to-Live) for automatic data expiration

Enterprise Features:

  • Multi-tenancy with namespaces
  • Sharding for horizontal scaling
  • Replication for high availability
  • Cluster management
  • API key and JWT authentication

Installation

pip install gigavector

Pre-built wheels for Linux (x86_64), macOS (x86_64 + arm64), and Windows (AMD64) are published to PyPI. The wheel bundles the native library and all runtime DLLs — no compiler or MinGW required.

Building from source requires a C toolchain. On Windows this means MSYS2 with MinGW-w64 (mingw-w64-x86_64-gcc, mingw-w64-x86_64-cmake, mingw-w64-x86_64-make) and C:\msys64\mingw64\bin on PATH. MinGW is a build-time dependency only and is not needed at runtime.

Quick Start

from gigavector import Database, DistanceType, IndexType

# Create an in-memory database
with Database.open(None, dimension=128, index=IndexType.HNSW) as db:
    # Add vectors with metadata
    db.add_vector([0.1] * 128, metadata={"id": "vec1", "category": "A"})
    db.add_vector([0.2] * 128, metadata={"id": "vec2", "category": "B"})
    
    # Search for similar vectors
    hits = db.search([0.1] * 128, k=5, distance=DistanceType.EUCLIDEAN)
    for hit in hits:
        print(f"Distance: {hit.distance}, Metadata: {hit.vector.metadata}")

API Reference

Database

The main class for vector database operations.

Database.open(path, dimension, index=IndexType.KDTREE)

Create or open a database instance.

Parameters:

  • path (str | None): File path for persistent storage. Use None for in-memory database.
  • dimension (int): Vector dimension (must be consistent for all vectors).
  • index (IndexType): Index type to use. Defaults to IndexType.KDTREE.

Returns: Database instance

Example:

# In-memory database
db = Database.open(None, dimension=128, index=IndexType.HNSW)

# Persistent database
db = Database.open("vectors.db", dimension=128, index=IndexType.KDTREE)

add_vector(vector, metadata=None)

Add a single vector to the database.

Parameters:

  • vector (Sequence[float]): Vector data as a sequence of floats. Length must match database dimension.
  • metadata (dict[str, str] | None): Optional dictionary of key-value metadata pairs.

Raises:

  • ValueError: If vector dimension doesn't match database dimension.
  • RuntimeError: If insertion fails.

Example:

# Vector without metadata
db.add_vector([1.0, 2.0, 3.0])

# Vector with single metadata entry
db.add_vector([1.0, 2.0, 3.0], metadata={"id": "123"})

# Vector with multiple metadata entries
db.add_vector([1.0, 2.0, 3.0], metadata={
    "id": "123",
    "category": "electronics",
    "price": "99.99"
})

add_vectors(vectors)

Add multiple vectors to the database in batch. Vectors added via this method cannot include metadata.

Parameters:

  • vectors (Iterable[Sequence[float]]): Iterable of vectors. All vectors must have the same dimension.

Raises:

  • ValueError: If vectors have inconsistent dimensions.
  • RuntimeError: If batch insertion fails.

Example:

vectors = [
    [1.0, 2.0, 3.0],
    [4.0, 5.0, 6.0],
    [7.0, 8.0, 9.0]
]
db.add_vectors(vectors)

search(query, k, distance=DistanceType.EUCLIDEAN, filter_metadata=None)

Search for k nearest neighbors to a query vector.

Parameters:

  • query (Sequence[float]): Query vector. Length must match database dimension.
  • k (int): Number of nearest neighbors to return.
  • distance (DistanceType): Distance metric to use. Defaults to DistanceType.EUCLIDEAN.
  • filter_metadata (tuple[str, str] | None): Optional metadata filter as (key, value) tuple. Only vectors matching the filter are considered.

Returns: list[SearchHit] - List of search results, ordered by distance (ascending).

Raises:

  • ValueError: If query dimension doesn't match database dimension.
  • RuntimeError: If search fails.

Example:

# Basic search
hits = db.search([1.0, 2.0, 3.0], k=5, distance=DistanceType.EUCLIDEAN)

# Search with metadata filter
hits = db.search(
    [1.0, 2.0, 3.0],
    k=5,
    distance=DistanceType.EUCLIDEAN,
    filter_metadata=("category", "electronics")
)

search_batch(queries, k, distance=DistanceType.EUCLIDEAN)

Search for k nearest neighbors for multiple query vectors in batch.

Parameters:

  • queries (Iterable[Sequence[float]]): Iterable of query vectors.
  • k (int): Number of nearest neighbors to return per query.
  • distance (DistanceType): Distance metric to use. Defaults to DistanceType.EUCLIDEAN.

Returns: list[list[SearchHit]] - List of search result lists, one per query.

Raises:

  • ValueError: If any query dimension doesn't match database dimension.
  • RuntimeError: If batch search fails.

Example:

queries = [
    [1.0, 2.0, 3.0],
    [4.0, 5.0, 6.0]
]
results = db.search_batch(queries, k=5)
for i, hits in enumerate(results):
    print(f"Query {i}: {len(hits)} results")

save(path=None)

Persist the database to a binary snapshot file. If a file path was provided when opening the database, writes to that path. Otherwise, use the provided path.

Parameters:

  • path (str | None): Optional file path. If None and database was opened with a path, uses that path.

Raises:

  • RuntimeError: If save operation fails.

Example:

# Save to the path used when opening
db.save()

# Save to a different path
db.save("backup.db")

train_ivfpq(data)

Train the IVFPQ index with training vectors. Only applicable when using IndexType.IVFPQ.

Parameters:

  • data (Sequence[Sequence[float]]): Training vectors. All vectors must match the database dimension.

Raises:

  • ValueError: If training data is empty or dimensions don't match.
  • RuntimeError: If training fails.

Example:

# Train with at least 256 vectors (recommended)
train_data = [[(i % 10) / 10.0 for _ in range(128)] for i in range(256)]
db.train_ivfpq(train_data)

close()

Close the database and release resources. Automatically called when using the context manager.

Example:

db = Database.open(None, dimension=128)
# ... use database ...
db.close()

IndexType

Enumeration of available index types.

  • IndexType.KDTREE: KD-tree index. Good for low to medium dimensional data.
  • IndexType.HNSW: Hierarchical Navigable Small World graph. Good for high-dimensional data with fast approximate search.
  • IndexType.IVFPQ: Inverted File with Product Quantization. Memory-efficient for large-scale datasets. Requires training before use.

DistanceType

Enumeration of distance metrics.

  • DistanceType.EUCLIDEAN: Euclidean (L2) distance.
  • DistanceType.COSINE: Cosine similarity distance.

Vector

Data class representing a vector with metadata.

Attributes:

  • data (list[float]): Vector data.
  • metadata (dict[str, str]): Dictionary of metadata key-value pairs.

SearchHit

Data class representing a search result.

Attributes:

  • distance (float): Distance from the query vector.
  • vector (Vector): The matched vector with its metadata.

Usage Examples

Persistent Storage with WAL

from gigavector import Database, IndexType, DistanceType

# Create a persistent database
with Database.open("vectors.db", dimension=128, index=IndexType.KDTREE) as db:
    db.add_vector([0.1] * 128, metadata={"id": "1", "tag": "A"})
    db.add_vector([0.2] * 128, metadata={"id": "2", "tag": "B"})
    db.save()  # Create snapshot

# Reopen - WAL automatically replays any uncommitted changes
with Database.open("vectors.db", dimension=128, index=IndexType.KDTREE) as db:
    hits = db.search([0.1] * 128, k=5)
    # All vectors are restored, including metadata

IVFPQ Index with Training

from gigavector import Database, IndexType, DistanceType
import random

# Create IVFPQ database
db = Database.open(None, dimension=64, index=IndexType.IVFPQ)

# Generate training data (at least 256 vectors recommended)
train_data = [
    [random.random() for _ in range(64)]
    for _ in range(256)
]
db.train_ivfpq(train_data)

# Add vectors
with db:
    for i in range(1000):
        vec = [random.random() for _ in range(64)]
        db.add_vector(vec, metadata={"id": str(i)})
    
    # Search
    query = [random.random() for _ in range(64)]
    hits = db.search(query, k=10, distance=DistanceType.EUCLIDEAN)

Metadata Filtering

from gigavector import Database, IndexType, DistanceType

with Database.open(None, dimension=128, index=IndexType.HNSW) as db:
    # Add vectors with different categories
    db.add_vector([0.1] * 128, metadata={"category": "A", "price": "10"})
    db.add_vector([0.2] * 128, metadata={"category": "B", "price": "20"})
    db.add_vector([0.15] * 128, metadata={"category": "A", "price": "15"})
    
    # Search only in category A
    hits = db.search(
        [0.1] * 128,
        k=10,
        distance=DistanceType.EUCLIDEAN,
        filter_metadata=("category", "A")
    )
    # Returns only vectors with category="A"

Batch Operations

from gigavector import Database, IndexType, DistanceType

with Database.open(None, dimension=128, index=IndexType.KDTREE) as db:
    # Batch insert vectors (without metadata)
    vectors = [[i * 0.01] * 128 for i in range(1000)]
    db.add_vectors(vectors)
    
    # Batch search
    queries = [[i * 0.01] * 128 for i in range(10)]
    results = db.search_batch(queries, k=5)
    for i, hits in enumerate(results):
        print(f"Query {i}: {len(hits)} results")

Advanced Features

GPU Acceleration

from gigavector import gpu_available, gpu_device_count, gpu_get_device_info, GPUIndex, GPUConfig

# Check GPU availability
if gpu_available():
    print(f"GPU devices: {gpu_device_count()}")
    info = gpu_get_device_info(0)
    print(f"Device 0: {info.name}, {info.total_memory // 1024**2} MB")

    # Create GPU-accelerated index
    config = GPUConfig(device_id=0, use_float16=True)
    gpu_index = GPUIndex(dimension=128, config=config)
    gpu_index.add_vectors(vectors)
    results = gpu_index.search(query, k=10)

HTTP REST Server

from gigavector import Database, Server, ServerConfig, IndexType

# Create database and server
db = Database.open(None, dimension=128, index=IndexType.HNSW)
config = ServerConfig(port=8080, enable_cors=True)

with Server(db, config) as server:
    server.start()
    print("Server running on http://localhost:8080")
    # Server handles REST API requests:
    # GET  /health - Health check
    # POST /vectors - Add vector
    # POST /search - Search vectors
    # GET  /stats - Server statistics

BM25 Full-Text Search

from gigavector import BM25Index, BM25Config

# Create BM25 index for text search
config = BM25Config(k1=1.2, b=0.75)
bm25 = BM25Index(config)

# Add documents
bm25.add_document(0, "Machine learning for vector databases")
bm25.add_document(1, "Neural networks and deep learning")
bm25.add_document(2, "Vector similarity search algorithms")

# Search
results = bm25.search("vector search", k=10)
for r in results:
    print(f"Doc {r.doc_id}: score={r.score:.4f}")

bm25.close()

Hybrid Search (Vector + Text)

from gigavector import Database, BM25Index, HybridSearcher, HybridConfig, IndexType

db = Database.open(None, dimension=128, index=IndexType.HNSW)
bm25 = BM25Index()

# Add vectors and corresponding documents
for i, (vec, text) in enumerate(zip(vectors, documents)):
    db.add_vector(vec, metadata={"id": str(i)})
    bm25.add_document(i, text)

# Create hybrid searcher
config = HybridConfig(vector_weight=0.7, text_weight=0.3)
hybrid = HybridSearcher(db, bm25, config)

# Search with both vector and text
results = hybrid.search(query_vector, "search query", k=10)
for r in results:
    print(f"Index {r.vector_index}: combined={r.combined_score:.4f}")

hybrid.close()

Namespaces (Multi-Tenancy)

from gigavector import NamespaceManager, NamespaceConfig

# Create namespace manager
ns_mgr = NamespaceManager("/path/to/data")

# Create isolated namespaces for different tenants
config = NamespaceConfig(name="tenant_a", dimension=128)
tenant_a = ns_mgr.create(config)

config = NamespaceConfig(name="tenant_b", dimension=128)
tenant_b = ns_mgr.create(config)

# Each namespace is isolated
tenant_a.add_vector([0.1] * 128)
tenant_b.add_vector([0.2] * 128)

print(f"Tenant A vectors: {tenant_a.count}")
print(f"Tenant B vectors: {tenant_b.count}")

ns_mgr.close()

TTL (Time-to-Live)

from gigavector import TTLManager, TTLConfig

# Create TTL manager for automatic expiration
config = TTLConfig(
    default_ttl_seconds=3600,  # 1 hour default
    cleanup_interval_seconds=60
)
ttl = TTLManager(config)

# Set TTL for vectors
ttl.set_ttl(vector_index=0, ttl_seconds=1800)  # 30 minutes

# Get stats
stats = ttl.get_stats()
print(f"Vectors with TTL: {stats.total_vectors_with_ttl}")
print(f"Expired: {stats.total_expired}")

ttl.close()

Authentication

from gigavector import AuthManager, AuthConfig, AuthType

# Create auth manager with API key authentication
config = AuthConfig(auth_type=AuthType.API_KEY)
auth = AuthManager(config)

# Generate API key
key, key_id = auth.generate_api_key("My Application")
print(f"API Key: {key}")
print(f"Key ID: {key_id}")

# Authenticate requests
result, identity = auth.authenticate(key)
if result == AuthResult.SUCCESS:
    print(f"Authenticated: {identity.key_id}")

auth.close()

Backup and Restore

from gigavector import (
    Database, backup_create, backup_restore, backup_verify,
    BackupOptions, RestoreOptions, BackupCompression
)

# Create backup
options = BackupOptions(
    compression=BackupCompression.ZSTD,
    include_metadata=True
)
result = backup_create(db, "backup.gvb", options)
print(f"Backup created: {result.vectors_backed_up} vectors")

# Verify backup
if backup_verify("backup.gvb"):
    print("Backup is valid")

# Restore to new database
restore_opts = RestoreOptions(verify_checksums=True)
restored_db = backup_restore("backup.gvb", "restored.db", restore_opts)

Requirements

  • Python 3.9 or higher
  • cffi >= 1.16
  • CUDA toolkit (optional, for GPU acceleration)

On Windows, MinGW-w64 is only required when building from source. The PyPI wheel bundles the MinGW runtime DLLs so no extra software is needed at runtime.

License

Licensed under the DBaJ-NC-CFL License. See LICENCE.md for details.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gigavector-0.8.20.tar.gz (2.8 MB view details)

Uploaded Source

Built Distributions

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

gigavector-0.8.20-cp313-cp313-win_amd64.whl (8.8 MB view details)

Uploaded CPython 3.13Windows x86-64

gigavector-0.8.20-cp313-cp313-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

gigavector-0.8.20-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

gigavector-0.8.20-cp313-cp313-macosx_11_0_arm64.whl (630.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

gigavector-0.8.20-cp312-cp312-win_amd64.whl (8.8 MB view details)

Uploaded CPython 3.12Windows x86-64

gigavector-0.8.20-cp312-cp312-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

gigavector-0.8.20-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

gigavector-0.8.20-cp312-cp312-macosx_11_0_arm64.whl (630.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

gigavector-0.8.20-cp311-cp311-win_amd64.whl (8.8 MB view details)

Uploaded CPython 3.11Windows x86-64

gigavector-0.8.20-cp311-cp311-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

gigavector-0.8.20-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

gigavector-0.8.20-cp311-cp311-macosx_11_0_arm64.whl (630.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

gigavector-0.8.20-cp310-cp310-win_amd64.whl (8.8 MB view details)

Uploaded CPython 3.10Windows x86-64

gigavector-0.8.20-cp310-cp310-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

gigavector-0.8.20-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

gigavector-0.8.20-cp310-cp310-macosx_11_0_arm64.whl (630.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

gigavector-0.8.20-cp39-cp39-win_amd64.whl (8.8 MB view details)

Uploaded CPython 3.9Windows x86-64

gigavector-0.8.20-cp39-cp39-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

gigavector-0.8.20-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

gigavector-0.8.20-cp39-cp39-macosx_11_0_arm64.whl (630.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file gigavector-0.8.20.tar.gz.

File metadata

  • Download URL: gigavector-0.8.20.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gigavector-0.8.20.tar.gz
Algorithm Hash digest
SHA256 62ad679322e3e85844d299f6f5e27b2872d99430b067be504f21e178b17cd68a
MD5 40912c2e2ac473e716039a9667dbd9ff
BLAKE2b-256 1ec06c963c0a28529281c4a664e1cf4627d07e8d94b9320b5f90b2eef7b64fcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20.tar.gz:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4471443f29f4bb5da17054f19da9cb506e8511ee865aaab44f0321d193c08504
MD5 bda04ec6ce1805494543c15948c7665f
BLAKE2b-256 c53285f2a485530d4678a7a20e742868deb9a9dbc757728cce1f1155df353597

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp313-cp313-win_amd64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9c40b8e1cdf90d0bc6c3db5afa889151c9515ae893194ee4794748efb9e18bd9
MD5 6ca179a115c9e9f973f26486eb77b0fb
BLAKE2b-256 b8450ff94c06ec9f5692d8850b81afaa2a1f544723db8b052f55604f83e1a98c

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 03780b7f37d55e4e2db064b07258a2771dedea6f6b18382cc74eaefc8f539fef
MD5 ab53e1a1dd3bedee368f5dfbf9f08daf
BLAKE2b-256 0ad721141836540aec9b29a218872c4d43cf8781d98e08f1ae365b4db460b39c

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 818fb7e9a1780c296956cbb42496eb97dbe6e5e5c7130d5be766e8f26222922b
MD5 5e0be7dc886a435fb07c3af383eeb976
BLAKE2b-256 1aad63f863c1f771644ea0b93c212c3079e1fa327c74ff2e8efb29d020aeff66

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f716f7f841b40161fddeb2bf6fddeb0345f2b26899be5556cc44f66aec53b602
MD5 2a5dc1f228c20f9deb1dedf7b315ebac
BLAKE2b-256 01a45dc0aeea630e1c4aaaf639f3ab25a4272b5ee7e0e8baf5d7b9e63fa5c6d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp312-cp312-win_amd64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5812062821f4ebe3c72dc63106cfe3e8895e5b5485f22b404768ad4abc98e569
MD5 d1e6514b9bcab0fca888aef997c018fe
BLAKE2b-256 8a4ec481156dc990a4d6635e0180e5c4543039e95b8a63fe0d03cec6b4de3a46

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6e5534091501c5ec23b847b06abce62c649c5c1185e34f95c01c8851a31ec582
MD5 99dd575404033e85ed5f4846704af549
BLAKE2b-256 50a57c104dee81c070e00a66983667e1a55fec89f4fdac1ba409d695e176e96a

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 257d993ac54ab789b692c68e482379cb7472ffe206be50fad5e2fc4b9ee01e99
MD5 e05223acc7440ce788c20979b8f3c89c
BLAKE2b-256 56a6030b0fd6013001b5dd65692a742f388a53fe9ce632557134113ade99f2fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d03c6b4ea9e8b65b6f6ca6e17f7935b3978ecd54ab1a1c0439032f289ac3d971
MD5 1662b636e0626342d76559cf7d291cd2
BLAKE2b-256 d6fc295bd6966311d471048d399a68b1d548c4508c73ca0f7f77482cacc66e5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp311-cp311-win_amd64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cf5053021851d87df9e77e26c6e282384304a4dcf61a7ff4daa4ac3d66a74943
MD5 c6059d5b3681df21d8cc9edd9d72df75
BLAKE2b-256 20fd29326d99585ddd72a62c04f41445d6fe8140fbe6e0df2320c99ec73b30c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 79d58e2abed85f39a4175699e8ff1b839dfdd503270887d2d4bba14557f1f917
MD5 18d0edd20c55fd21a8b68cffa4aa55dd
BLAKE2b-256 12676c2282015d84f2ad8bfa427fe0d7bdb6b4ee7386bc9ee747a469a86f9a21

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f5d81dd88c57fa38d11e6e824cd99c3ba43d210dba450a45b288425bd2dae77b
MD5 9eb1ded48476e95a03ac2af35331044e
BLAKE2b-256 fe152320b42b1105f92b005f68b4c4cd6081884fb0d6eb668d08a09e2a835252

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e67309efe36ebdb306f287d5cc869127cf2f8c2bd5c2dc8ab1c8b5c3e1f8b88e
MD5 f048b449ffda834dfee174e9457db496
BLAKE2b-256 4fc28f905b1cf101cc264a76db9731a5d1c58963ac012aa1e068318ff1eddbde

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp310-cp310-win_amd64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 429b2360d858a879f285fb31c3ef0c35469773b4b696a3d0f92442f26894580d
MD5 f85c062dac95a2b8ba766bfcd820fc98
BLAKE2b-256 8bcae8577c6d4aa779010677a562e26ba65835fc5a2810726d9c800e413b86a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f98919522a886757eee2132e87712ae5f7ab77ef6a12a7d6e957deeac7bd9f7c
MD5 1f328b2a6d54f2b7bce6cd62a110f69c
BLAKE2b-256 2144c01b7aab2c94be763143d6438583ca6f35def3d0ae9b6c6d483b71f71cfa

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c5e969518fd19bd03433d57a1d0a192684024a44015882248f6a035f7fcf694
MD5 fbeb98315bc69ac8fa9f1673f0431a29
BLAKE2b-256 767381e949638dea6f9f940241a53b56abc2e5c98d5218222dccb4f2df0478df

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: gigavector-0.8.20-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 8.8 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gigavector-0.8.20-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b4670a54af0137e90aa5f29c65e3aa9946b742f2ff3e8739961c60f91a862514
MD5 85f058422c016a6865c6ebdc98b65f6c
BLAKE2b-256 e3091f5dcbe7558b6b012432047586fe4186e2162a466eb2e9f73fcb0d8f31e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp39-cp39-win_amd64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0c4ab0828362ce7fab15bc6ba6173e93dbd910d632b013b19f0ab0d216aee95c
MD5 736ba22d306b083eab7dfec88a2a6e09
BLAKE2b-256 a8e7939fa977c67ecbecf2defc23fe33e8a13f237d5c7accafd32f69b76c1cd3

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bf8633315537ecdbd9a91122395dce91edc2821c35ba8e9abc62c8b3b43f42fd
MD5 a7691aaa10ed6ffee61008a6a8873ad2
BLAKE2b-256 2bb03f1d07277a03c4a90cd66977f8eb84e2046985b5af7f29a2e317f4a21614

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

File details

Details for the file gigavector-0.8.20-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.20-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f937b24bddf64564b9e37196b57c92fc8b97132d2ca77a42f53d777236dc19e
MD5 610b8290b11c3ff2fa9205d2c4a4b196
BLAKE2b-256 c481637d037ebf55f50ade03cd7ab47c8610ff1c34a525d107c4ea1cda2f6092

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.20-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: release.yml on jaywyawhare/GigaVector

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page