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:

  • Index types: KD-tree, HNSW, Flat, IVF-PQ, IVF-Flat, IVF-SQ8, IVF-TurboQuant, PQ, LSH, Sparse
  • 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.
  • hnsw_config (HNSWConfig | None): Used when index=IndexType.HNSW.
  • ivfpq_config (IVFPQConfig | None): Used when index=IndexType.IVFPQ.
  • ivfflat_config (IVFFlatConfig | None): Used when index=IndexType.IVFFLAT.
  • ivfsq8_config (IVFSQ8Config | None): Used when index=IndexType.IVFSQ8.
  • ivfturboquant_config (IVFTurboQuantConfig | None): Used when index=IndexType.IVFTURBOQUANT.
  • pq_config (PQConfig | None): Used when index=IndexType.PQ.
  • lsh_config (LSHConfig | None): Used when index=IndexType.LSH.

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 IVF-PQ index. Required before insert 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_data = [[(i % 10) / 10.0 for _ in range(128)] for i in range(256)]
db.train_ivfpq(train_data)

train_ivfflat(data)

Train the IVF-Flat index. Required before insert when using IndexType.IVFFLAT.

train_ivfsq8(data)

Train the IVF-SQ8 index (coarse centroids + scalar quantizer). Required before insert when using IndexType.IVFSQ8.

train_ivfturboquant(data)

Train the IVF-TurboQuant index (IVF centroids only; TurboQuant needs no codebook training). Required before insert when using IndexType.IVFTURBOQUANT. Vector dimension must be even.

train_pq(data)

Train the PQ index. Required before insert when using IndexType.PQ.

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

  • IndexType.KDTREE — exact search, low/medium dimension
  • IndexType.HNSW — approximate graph index
  • IndexType.IVFPQ — IVF + product quantization; requires training
  • IndexType.SPARSE — sparse vectors
  • IndexType.FLAT — brute-force exact search
  • IndexType.IVFFLAT — IVF with full float vectors in lists; requires training
  • IndexType.PQ — product quantization; requires training
  • IndexType.LSH — locality-sensitive hashing
  • IndexType.IVFSQ8 — IVF with 8-bit scalar-quantized vectors in lists; requires training
  • IndexType.IVFTURBOQUANT — IVF with TurboQuant (PolarQuant + optional QJL) in lists; requires training; even dimension

Index config dataclasses

Pass the matching config to Database.open() for the chosen index type.

  • HNSWConfigM, ef_construction, ef_search, ...
  • IVFPQConfignlist, m, nbits, nprobe, default_rerank, ...
  • IVFFlatConfignlist, nprobe, train_iters, use_cosine
  • IVFSQ8Confignlist, nprobe, train_iters, use_cosine, per_dimension, default_rerank
  • IVFTurboQuantConfignlist, nprobe, train_iters, use_cosine, default_rerank, turbo (TurboQuantConfig)
  • TurboQuantConfigbits, projections, seed, use_qjl, rotation (TurboQuantRotation: AUTO, FHWT, QR)
  • PQConfigm, nbits, train_iters
  • LSHConfignum_tables, num_hash_bits, seed, bucket_width

Per-query nprobe for IVF-Flat, IVF-SQ8, and IVF-TurboQuant: db.search_with_params(query, k, params=SearchParams(nprobe=16)).

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)

IVF-Flat with Training

from gigavector import Database, IndexType, IVFFlatConfig, DistanceType

cfg = IVFFlatConfig(nlist=64, nprobe=4)
db = Database.open(None, dimension=64, index=IndexType.IVFFLAT, ivfflat_config=cfg)
db.train_ivfflat(train_data)  # at least nlist vectors
# ... add vectors, search ...

IVF-SQ8 with Training

from gigavector import Database, IndexType, IVFSQ8Config, DistanceType

cfg = IVFSQ8Config(nlist=64, nprobe=4, default_rerank=200)
db = Database.open(None, dimension=64, index=IndexType.IVFSQ8, ivfsq8_config=cfg)
db.train_ivfsq8(train_data)  # at least nlist vectors
# ... add vectors, search ...

IVF-TurboQuant with Training

from gigavector import Database, IndexType, IVFTurboQuantConfig, TurboQuantConfig, DistanceType

cfg = IVFTurboQuantConfig(
    nlist=64,
    nprobe=4,
    default_rerank=200,
    turbo=TurboQuantConfig(bits=8, projections=16, use_qjl=True),
)
db = Database.open(None, dimension=64, index=IndexType.IVFTURBOQUANT, ivfturboquant_config=cfg)
db.train_ivfturboquant(train_data)  # at least nlist vectors; dimension must be even
# ... add vectors, search ...

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.24.tar.gz (3.0 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.24-cp313-cp313-win_amd64.whl (8.9 MB view details)

Uploaded CPython 3.13Windows x86-64

gigavector-0.8.24-cp313-cp313-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

gigavector-0.8.24-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.3 MB view details)

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

gigavector-0.8.24-cp313-cp313-macosx_11_0_arm64.whl (655.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

gigavector-0.8.24-cp312-cp312-win_amd64.whl (8.9 MB view details)

Uploaded CPython 3.12Windows x86-64

gigavector-0.8.24-cp312-cp312-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

gigavector-0.8.24-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.3 MB view details)

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

gigavector-0.8.24-cp312-cp312-macosx_11_0_arm64.whl (655.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

gigavector-0.8.24-cp311-cp311-win_amd64.whl (8.9 MB view details)

Uploaded CPython 3.11Windows x86-64

gigavector-0.8.24-cp311-cp311-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

gigavector-0.8.24-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.3 MB view details)

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

gigavector-0.8.24-cp311-cp311-macosx_11_0_arm64.whl (655.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

gigavector-0.8.24-cp310-cp310-win_amd64.whl (8.9 MB view details)

Uploaded CPython 3.10Windows x86-64

gigavector-0.8.24-cp310-cp310-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

gigavector-0.8.24-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.3 MB view details)

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

gigavector-0.8.24-cp310-cp310-macosx_11_0_arm64.whl (655.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

gigavector-0.8.24-cp39-cp39-win_amd64.whl (8.9 MB view details)

Uploaded CPython 3.9Windows x86-64

gigavector-0.8.24-cp39-cp39-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

gigavector-0.8.24-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.3 MB view details)

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

gigavector-0.8.24-cp39-cp39-macosx_11_0_arm64.whl (655.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: gigavector-0.8.24.tar.gz
  • Upload date:
  • Size: 3.0 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.24.tar.gz
Algorithm Hash digest
SHA256 a735561b221d13344e724b2391f1a2d8b8af9c49e541acf7f190af660f6aa12c
MD5 f82240ca9ef98b6bf1ef3ba4c8e5c93b
BLAKE2b-256 2fd25d368ad32a72d5d25d815fc0a523d047b23a91192868d102eec9c50fe62a

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24.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.24-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1230a85d6803791365745c1044f41956a222ea5bcd0d0f9899c240bb693ac678
MD5 4e2c411752fc141b9907a186bccc87e6
BLAKE2b-256 7037a26cf1c8c2960d2b126c316806a6b71c319f26577bc62e47b93a24b8d484

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d8337d17cd4808c0a24b58d35228abc4903fcc022956fee2213409b9e27704de
MD5 ccd4c00b21ae5c7aaa4797bbaf6e9b93
BLAKE2b-256 df3923289394e4760ca1f9c29def8a96ba2e12cfcfc3cb0e9b080306fbb8250c

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2076aed324d0960df35488f56ad062eb82f9a7445483fe05b2b2ad092eb794e5
MD5 f3a42361a4c8300e0dbc9fd35a64eb83
BLAKE2b-256 4f43728fee40249f71a8b2bf933a9a494b341efa0fd6c13e25988743d6656739

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4d9b0c9bd6fe9de7613893e0333571625ec1f02a11d65c179f1b46f9b6c8255b
MD5 5bf3503b1e42d431285387cc793f7b06
BLAKE2b-256 51726b94e9d78866a5132f2e6e240543eccf526a763cbd0583c7c6007127e260

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 23dbb5e368f74561d2a0864dd463401d99332217e5116417899d250c6ff17032
MD5 8508fb046e533aed0e22a0478f546779
BLAKE2b-256 b8722f21322526b2fe68435491f3f87cc5a3e1c6e8f96a5912ebfb0df065ada2

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 44755c20269371c158abb07aef53143ae4ce2885072fb78cd5f7a7357b3f7753
MD5 f0ce17bbb61f09e847dcc1d09eda5ee7
BLAKE2b-256 6c80a1237c3feae6a56628becffae888fbcea6866ef2d4c11167eac89dee5611

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1a325bb8562244491bf18d76a79c9f69e0b751e2b0647c00c6e5a519cd825e1b
MD5 77b36e79a647fe0478e484de605c8079
BLAKE2b-256 938366e911cd696f5d97e68f462e6d7f5d11f1d8efbc01363aafd029bd7d9062

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ec5ebd6781d40c153d731d5433a3f526452892e60a1c35e1831f871a4c5eb15
MD5 b59973bb5734f5b1354fa667e33d0717
BLAKE2b-256 705af668f8d0dae2575b4d75bb61350877d05d2b3da6f142579e7055d31064f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 070c69fdf66a063cc2454a858674da78113736c5379bb0d338e4c91751276888
MD5 fee68649e54a79231be104d438140efd
BLAKE2b-256 af7ab2f78808003ad5f624d6c8916880210f079c6ba8566099bae960b3a35786

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 02c4ba62e9c2bf9a0260f0213c8413565425fa446c1dcd973c4b6037820060cd
MD5 2af6e92582e5b3ae721754378fb6ae98
BLAKE2b-256 c6dbaa43e00e86f578ce05cd67efcb0c4055c079b0e8a02104fcdfc9a5893d86

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 16e185692a81f2ce69390b2f873c2e464d1a31b2bac6ce24e4cf1ebd2eafe10c
MD5 83c0ed82b9580d3747227a9e6382f947
BLAKE2b-256 544d9c9a2d6b528d0128bcea0a6052c9e75dc92aa157e20adb4aa94bc25bbe10

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7bf2cc7a234aac2e020eb78ba2f70813b356964215c2c369700ec57e2cf1c71e
MD5 02727b5ee5afb1528976eb0d0dab867f
BLAKE2b-256 6499dd4618127612bb0eaf9f636cef9d3d14a3c0fc3dfdfc0afaf6b8e5b4f2de

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4b4e7796955468a9599ea95442e324a2651e82f8f0404153e06c3e69dfec6c27
MD5 41f8f4964b05b01e53ebd1dba4dab8a5
BLAKE2b-256 81dac0dad1ffeadab8be4d9743331e54c1b966b035e1c4b61fae2bf4fa627fd7

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e3f814aadca5a711469e9bdafda2dacd60ae16e7f692f022c2fd6e3ee74577cd
MD5 a1942b3bf7c6dcc188af2717b1a30add
BLAKE2b-256 809c36e58ce0ad81c193ee5c3d8bf2cafe93f76193ec21edeb955958cfe234da

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1afd30d0d30b0829a14fea3f14402635cb96381fd6e23a565ba83f45ca7bd660
MD5 aa3143a5382a936fc7c24d9bc9653172
BLAKE2b-256 ef55db02f43a3ed925a5c215852d146785dc5f0d9be1595b8002c11e48a04151

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f4eba4724b09a934434d2bd8077be8f928abae3699d57fafb8e25fce562386d
MD5 54ac2661a278b830df0d881d64c951ad
BLAKE2b-256 910cbb7dd449d75a4c3349679c1a61280ec8c7a9c7929c4edbc9ad6f0b077989

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: gigavector-0.8.24-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 8.9 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.24-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7bc555e6cc944301c507bde180739e58e75011ac49443fb139deec5837fb9dc1
MD5 77d57437255ea34a9769cc3b08e5bcc3
BLAKE2b-256 271aef14ee6d1c178f6b41d71c25c1f2e3cefda8d0205c646b75b03e77591ba7

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ddeba5abb360602eb1c7f58eeea4ecd2dd89d85807f66e528b9559f938865c01
MD5 bdeb63eaadc7ee734f75ae24f5b0319b
BLAKE2b-256 1f06a3ee806e125f96b7de7cd52c95e8da830aa47c0a6759c6b2267922087a80

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d7219c44be25a47927c409a57ca474a24e34d634e9b9e84251322bedc5fe7acf
MD5 fd97db3637221e2951b299b2d3b76644
BLAKE2b-256 8eee9de941bbb64bc6ab642cacb4c2dd1106a72d3b091d1541888d8a894399e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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.24-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gigavector-0.8.24-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f7fe0176a97be8d29d89519c677a3bc87d29cf922b77300da74bf8327a0d9a1e
MD5 c10980bd4ec8671c2e18694e885c5468
BLAKE2b-256 b9092de0b7e7a76f930b9617bf18b45605c75feb2a7323c81708c4300fe8f78f

See more details on using hashes here.

Provenance

The following attestation bundles were made for gigavector-0.8.24-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