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

Install from PyPI:

pip install gigavector

The package includes the native libGigaVector shared library in wheel builds. When installing from source, a local C toolchain (and libcurl development headers) may be required to build the native library.

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)

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

Uploaded CPython 3.13Windows x86-64

gigavector-0.8.6-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.6-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.6-cp313-cp313-macosx_11_0_arm64.whl (621.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

gigavector-0.8.6-cp312-cp312-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.12Windows x86-64

gigavector-0.8.6-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.6-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.6-cp312-cp312-macosx_11_0_arm64.whl (621.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

gigavector-0.8.6-cp311-cp311-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.11Windows x86-64

gigavector-0.8.6-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.6-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.6-cp311-cp311-macosx_11_0_arm64.whl (621.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

gigavector-0.8.6-cp310-cp310-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.10Windows x86-64

gigavector-0.8.6-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.6-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.6-cp310-cp310-macosx_11_0_arm64.whl (621.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

gigavector-0.8.6-cp39-cp39-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.9Windows x86-64

gigavector-0.8.6-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.6-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.6-cp39-cp39-macosx_11_0_arm64.whl (621.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: gigavector-0.8.6.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.6.tar.gz
Algorithm Hash digest
SHA256 a84fea33297bb80628943ddcdba1ffe80533bcd99f76eb4eb5be07273d39844f
MD5 c2aab345708c6671a049ea92a0f9d9e2
BLAKE2b-256 65f5e82f40743edac630611b825922eb4b972ce892bf811d33b9f2d212034019

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: gigavector-0.8.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.13, 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.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 33bb14317f8b8cf6f3677f650eb2aa91405d9205ca7351aa5225927dff279bd0
MD5 143115c7769bb47cd1f0928823fffa88
BLAKE2b-256 6ab9505cf912808a24204fb53450fb100c6c6970476d68d2f699198e8e8b03e4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 89b95f6f86240b9ab8da8fe9c135527e8268d96df8eedd190e685a31eb40fe4d
MD5 5000f4b8167534fc70f9cf02987d9995
BLAKE2b-256 665017bdf56a36b7b27d7c15c3af8f57575fcbee888d1386cb60826d6fa17793

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 089678af8e9df81f880ed8955732c5598e13d9bc67b52b7d83832c7f7f80edf0
MD5 c94f6127aa7c8997e6bb5b0a09ff0245
BLAKE2b-256 1007048b7881bb9fff37602f0f716b70a342e2f7530379a6ad1fa37a1c39c86d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ed7bf63ad1e52f4f0919e6ea64f93467329e12d2ef810d9efe8e0e4316a42b3
MD5 6c00d09c02e1995e4fff0f6403f52ce8
BLAKE2b-256 02c32354abc346438c27acff56c343a52c60cad5dbfb6d724ababf74745dc915

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: gigavector-0.8.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.12, 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.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 83749251cafb6f9414857e721204cc8a44661a6ae0b65db12fe57149919c8118
MD5 3b95a27f2733c107f9c095c1516aa83c
BLAKE2b-256 bb88ddb3bd92efa4516871a22dee79f46d6a84898b1a0a4225817092b20c7852

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dd65686c4ff634daebb76fe36ca9ffac0c32cee11505d62709dfca7cbf46b3c4
MD5 474d9adb20d4a220f4893c0c13a4b3b0
BLAKE2b-256 0b6adb0c27a4ec4d51cc6679133b09d43e39a1468bc735ce1be099e45e498827

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e9c05842e41db82471f81c170f279d859b47eca608fe3d8fab321864c0d122b9
MD5 3b1a09deca2f5f862aef320e91c51593
BLAKE2b-256 844142c6cd2f6b618f9bc57ac125729cd6421eb9727c0321cf59d8f097bf1dbe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9d52239650cde9ac4530ba38bac40e157d55563c4c3616b1897baaf9d8851773
MD5 2de1437264d7f73a1e04fc988e4945e7
BLAKE2b-256 6214cf9b1607234314abede33f8425522eaed679bc924b2f4aebb2189ad1cb8a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: gigavector-0.8.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.11, 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.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 97a4b8d905925c3000dabf3d5454f91323f87cc76d89c0c30efe108f8bf65028
MD5 9f5f9964924aea5371e12279fbd7b468
BLAKE2b-256 f27439675c923d95b9a4f1f5fb992bf005c50321aad991a1ad7c52ddd04c44a1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 18489e350458884b9533c303c16b05b3c9c8fb9c26011f0135ad0837d27fe906
MD5 b3c0326101584645dc508ca433f685e9
BLAKE2b-256 f1f57cdffd55cc48f97559f4ba31c11577a3d4db2671c6fbc9018101b5725d84

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9a4275b3fed64e31a8a9b268813272276b0d8f67906bc9d9872fd9df1b95d9bc
MD5 b818e25ee49fcb2a598c6354ad211164
BLAKE2b-256 ffedf1d16e0951d8907e6246933237984e14dfdc94cb27f18e82040bca9c584b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ea784f4858cb9ff1f779cbedb1e823762ad81b841094108bf8b701e930fcc4f
MD5 84ddcbc676c5733cc492b7135ba3da86
BLAKE2b-256 a73ab971a3c88cc6e553968fdff4b5bef45892c82bebc440f761722334cdb8a0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: gigavector-0.8.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.10, 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.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ea259487ed27cbc9cc12f9b11007ed859e91a9201b130b67e5b6addeeec6a9a1
MD5 f58b0ba61e1d0b03eb55f269bd5fbc09
BLAKE2b-256 612ce179d2876d734f34fa256728ce0f816ac762e58661d905bba12e1d2349c8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5ec59fd7a0771ffff9a46226decee2eed8f8f0673d4396092a115d9a8119ff0e
MD5 51c8a3c07330034ec8999a20a119c231
BLAKE2b-256 50c4625a316e36df02e31387e49ec377b03686c80822e949dcc0a8c06c50dc38

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cedc1999b7d8970ff1674f825b5ba4e37b52ba6cbb13df8215a1aaeaba4bd4d0
MD5 8fdccca895606163f9df8dfdeec64a15
BLAKE2b-256 a560d09b2db49535b96db41f57f3686508d06c16ddf7da55210b24ffb03dc3a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9d7911aeb16ea2af3454845645306c01d6bcb615a85e1f7395264544de50f224
MD5 5c2a519f80ff8c0bc3dd17ebbed0a055
BLAKE2b-256 2765658c25d20acc7bf8a168faebfde4db7635d28d7c0748b3137fef002470ff

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: gigavector-0.8.6-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.5 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.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 20abc6763fa4b74c5e35ac2e380caac43d1bc7875acb1dff10f94bfc187ac33b
MD5 eb93f69869c10148a7307f25f20d16d8
BLAKE2b-256 75dba6a43e1286265c47fe79a4267bcb15ca8be081306afa368a9d4d2ecd6692

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 33f48cebd6548b1b00e33f4ce99800f281041302d830b911af77a09a70ff0d8f
MD5 46933b8fdb96c17ac0fa758bc476b6dc
BLAKE2b-256 293e414c3202c67c37e852370eb1635f9fd828c9049c369f68d08525db778a18

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 50bc6787ecbd7c4c8da1618ee67e91d82c7d3b1b97d8d6bf972005b2a6cb44eb
MD5 e7a072ef4cae8e9473cadf21a93122e5
BLAKE2b-256 88ddb02e5dcc2fa3be782ee5aeca5852f68f9a9bc9702be72f11ab54bd3a61dd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gigavector-0.8.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c26b2074879cc847cc946478e05e1bf0ae721ea8f7f27ecb75c5c2669588081e
MD5 cbc1d14fe0a72bac683e52251b5b346c
BLAKE2b-256 d01697175257430f7d0698e7e5c5183dcbdbf160bcae8a3e0762b27b6de2e7cf

See more details on using hashes here.

Provenance

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