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.19.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.19-cp313-cp313-win_amd64.whl (8.8 MB view details)

Uploaded CPython 3.13Windows x86-64

gigavector-0.8.19-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.19-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.19-cp313-cp313-macosx_11_0_arm64.whl (630.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

gigavector-0.8.19-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.19-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.19-cp312-cp312-macosx_11_0_arm64.whl (630.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

gigavector-0.8.19-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.19-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.19-cp311-cp311-macosx_11_0_arm64.whl (630.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

gigavector-0.8.19-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.19-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.19-cp310-cp310-macosx_11_0_arm64.whl (630.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

gigavector-0.8.19-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.19-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.19-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.19.tar.gz.

File metadata

  • Download URL: gigavector-0.8.19.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.19.tar.gz
Algorithm Hash digest
SHA256 88a11903dd88105a31bb3d0ec43b5cb4688e007e84d4131f523b752ff7ee50d0
MD5 8992a4164d4705e2430cadeaa4c92e07
BLAKE2b-256 36e20fdda88d59815dcb692961ac5576068c6f92f1aa4d2d448cb26d98bcbcbc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 da712bbba1142dc5958d0f69250d619535e2d744be385f4f9f42f53491952852
MD5 f835adf3f41c5fb5eb4e5eac89b34126
BLAKE2b-256 6609fbb513113371c7d3b1a73fce58e7dea0219ed5715fae2251d274cbf6558f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b23f62db30c6fa8860a03a0d6e48bb134bde294a73e4a38c7d4da37e199653ce
MD5 ec00f06a14c04b3893772ae90b8515d4
BLAKE2b-256 96270d0638d71b781b647da34d955655a007e44a7f311906321eaea1d9ba3419

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 78be02d3a36f61eccd5841f778e9bfcd50775d3b69c51cc1dcc156ae6587455b
MD5 43c803c72979afd078539a8aec793860
BLAKE2b-256 65858dfd6b5b2e1c576a78cfa21ceb2b01cda4e00278579cafba63c84e416ab0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 edfa02b0039c7439a9952a843d8e8744a88b0e776691ba1f86eb4f0745da2f54
MD5 032408192480fc2697f830394d2e51e1
BLAKE2b-256 611969bf31d047678976bdedd4e900cfbe3eda1ae394badfdb42223ddee4fe24

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2b8a46d6b3b0691ba618f4c7d4b273a2a0f50947b6e97960902ef665515aa832
MD5 ebdfe94bcaeb6dd5cd6d116cf695298c
BLAKE2b-256 c64cf8aa6761a88893d4613d0c3828ebba666e692d2fe698dff68ec93f7d0112

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cd77680308e638de762292b67f6fded74dfbef0e1ae348baa5303d3b4049be84
MD5 cd2d67d22a901059e48916b9bc17f9c5
BLAKE2b-256 579d4a9d3a7a5d4bbfd5f0fbb4bc25aa3ae3ff41997932458aac8a3b21082cfe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ee693e88ba643c8c29fcad47af52d0a5eca2314feaeb48389fcf81c46a2c51f9
MD5 a897c334be7b2b8b382fd8b2eba11bdb
BLAKE2b-256 3bd7169b7233168b2098a8ad6a9cd0e7049b4e038cfd45b93c6433e133f56dc1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 922c50765ad9a645f2b5a8488b4848577dc0a83913c1cfb7c1b5e3deae476b7b
MD5 3a5b401291c519a5395d67e21a912d03
BLAKE2b-256 5a4e7da5f346cb58223ef33953b37a60bc0987dd35bea5057df151ecd8596cf4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ddf5259f599ec7532539f42867b1fb59310c0182f73717b398d0fca6b217180b
MD5 70a6f53409d80ff95ff22544c7a25096
BLAKE2b-256 7a4387b31fa5b10d8de96abd1796bc42e2f8a315b29ffefe674ae99153c21100

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 44ceeea0355baa2f5fb51b56f95597432887638df18b1cc935d784d21c7a6d29
MD5 02b4ffe045dcc2270b04ed55be4a8478
BLAKE2b-256 568ee886946be95fdb34ed8ce5656d2c3e3349eb7d22ea97e6de7b2fae72615c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 251748a0c91d8ab76aa233a6bc0d3c2b9f40908291f1210aeaeddcc95efb6059
MD5 7b7c2c83b664abe9c951edd688b83c22
BLAKE2b-256 1d12803b22f80e60d60c3ea984336c2df408b61465696c045ce953164d4468fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 84cc3a3447e2cb7928a56b96a369ffbaa260616ead930c1322bcd368a4e4fff3
MD5 4583eac9b38484e7fd1b05fd58a28d96
BLAKE2b-256 d7c40916b0e1cd16e7ab99e1b68e05c487bb37461be88ebdf1ea274a7fa7752f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3f7a1e81a8acebcfd1d2762caf27d37314e488281512ae23c16fd47ca4bce132
MD5 f091134c3bacfe9f86471001748657ea
BLAKE2b-256 ef8d6e2e712ac3f56d2fa0c025cf3653868c3e6cfaf2cfa03864c6b25804cc41

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 53add6d469d46dc52e5b4302e1f225ce7837ac2e28b19cc45f0a4be81c05e54b
MD5 b5a1aa0e4937f4bc24c3a595c573899a
BLAKE2b-256 bbbf5b044546bcff62392c27d68b7529f1658327f73b1c9b5ba67d2b6c5c172f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1853df55103f330d931665eb71cc0205aea792a908c3ede4f106daef25ff7f63
MD5 290b5f0672edd581714ac2e9869d459e
BLAKE2b-256 dc5e2e7b476c687b8603a89d62021f44c71930e16154a63f62f48804d23d83b9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f838829f0943240b6425fa7463aeaa3cd074b0f3eb369aaf13ea9f5118c390b1
MD5 c817471d5cd8921f0ddf4601d36d9fc8
BLAKE2b-256 09900c652b468bf290295bb522944c4a06f68223f017b6047e36015d46f8cda9

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: gigavector-0.8.19-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.19-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5b5a8d266b97c585c9376b33ca0ee08cabb29498316de87d8795c2c9462e4a56
MD5 98b87a6268e7b53138b9fac813f42428
BLAKE2b-256 f7738a7185536eaee1f298e86d168b72c51768caa34b15d73564cc547979be86

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b9ffbce5576ba2b07e7a0d3bf4efde4679bef37e36af9e0a3e1821bdb09d52d9
MD5 0433fec5b16c996f382ac4ed4152e556
BLAKE2b-256 5f6e2c5a30bd3683ebfd15e85428d9d680dce43a5e00c51c5cf3d64595a8ae52

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 68539f19ca3806fa35a0b02097a6c93a305e422cdc0a133f301a5b5093725847
MD5 c0bbff480b021e0b3a6d7755818db92d
BLAKE2b-256 205f7aea96c81a31ac6eb2167990f115abbf4aefae0e269a8aa2a8e09bdeefda

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.19-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ae5ade06f7539b23c30335627f27874257fa312fe09481dbc4048209e5b01610
MD5 3e3c80d84389a25e9ae8249f79194371
BLAKE2b-256 2c21e9ac46c044bb5d3298020eecbb356556bb9644fa247027576280552a601a

See more details on using hashes here.

Provenance

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