Skip to main content

Fast semantic vector database (HNSW + mmap) with Python bindings

Project description

image

CI Python PyPI Python versions

LogosDB is a fast semantic vector database written in C/C++ that provides approximate nearest-neighbor search over embedding vectors with associated text metadata.

Authors: Jose (@jose-compu)

Features

  • Vectors and metadata are stored as flat binary files, memory-mapped for zero-copy reads.
  • Approximate nearest-neighbor search via HNSW (hnswlib), O(log n) query time.
  • Each vector row carries optional text and ISO 8601 timestamp metadata (JSONL sidecar).
  • The basic operations are Put(embedding, text, timestamp) and Search(query, top_k).
  • Timestamp range filtering: search within a time window (e.g., "last 24 hours").
  • Multiple distance metrics: inner product, cosine similarity (auto-normalized), or L2 Euclidean.
  • Bulk vector access for direct tensor construction (e.g. loading into GPU memory).
  • Thread-safe writes via internal mutex; concurrent reads are lock-free.
  • Crash recovery: HNSW index is automatically backfilled from the append-only vector store on open.
  • Scales to millions of vectors.
  • Framework integrations: LangChain and LlamaIndex VectorStore adapters.

Documentation

The public interface is in include/logosdb/logosdb.h. Callers should not include or rely on the details of any other header files in this package. Those internal APIs may be changed without warning.

Guide to header files:

  • include/logosdb/logosdb.h: Main interface to the DB. Start here. Contains:
    • C API with opaque handles and errptr convention (RocksDB/LevelDB style)
    • C++ convenience wrapper (logosdb::DB) with RAII and exceptions
    • logosdb::Options for HNSW tuning and distance metric selection
    • logosdb::SearchHit result struct
    • logosdb_search_ts_range() for timestamp-filtered search

Limitations

  • This is not a general-purpose vector database. It is purpose-built for embedding-based memory retrieval in LLM inference (funes.cpp).
  • Only a single process (possibly multi-threaded) can access a particular database at a time.
  • There is no client-server support built into the library. An application that needs such support will have to wrap their own server around the library.
  • For inner-product distance (LOGOSDB_DIST_IP, the default), vectors must be L2-normalized before insertion. Use LOGOSDB_DIST_COSINE for automatic normalization.
  • Embedding generation is external — the caller provides pre-computed float vectors.

Getting the Source

git clone --recurse-submodules <repository-url>
cd logosdb

Building

This project supports CMake out of the box.

Quick start:

mkdir -p build && cd build
cmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build .

This builds:

Target Description
logosdb Static library (liblogosdb.a)
logosdb-cli Command-line tool for put, search, info
logosdb-bench Benchmark: HNSW vs brute-force, with ChromaDB comparison
logosdb-test Unit tests

Usage (C API)

#include <logosdb/logosdb.h>

char *err = NULL;
logosdb_options_t *opts = logosdb_options_create();
logosdb_options_set_dim(opts, 2048);

logosdb_t *db = logosdb_open("/tmp/mydb", opts, &err);
logosdb_options_destroy(opts);

float vec[2048] = { /* ... unnormalized vector ... */ };

// L2-normalize for inner-product distance (returns 0 on success, -1 if zero norm)
if (logosdb_l2_normalize(vec, 2048) == 0) {
    logosdb_put(db, vec, 2048, "My commute is 42 minutes",
                "2025-06-25T10:00:00Z", &err);
}

logosdb_search_result_t *res = logosdb_search(db, query_vec, 2048, 5, &err);
for (int i = 0; i < logosdb_result_count(res); i++) {
    printf("#%d score=%.4f text=%s\n", i,
           logosdb_result_score(res, i),
           logosdb_result_text(res, i));
}
logosdb_result_free(res);
logosdb_close(db);

Search with timestamp range filter

#include <logosdb/logosdb.h>

char *err = NULL;
logosdb_options_t *opts = logosdb_options_create();
logosdb_options_set_dim(opts, 2048);

logosdb_t *db = logosdb_open("/tmp/mydb", opts, &err);

// Search for top-5 matches within the last 24 hours
logosdb_search_result_t *res = logosdb_search_ts_range(
    db, query_vec, 2048, 5,
    "2025-04-21T10:00:00Z",  // from (inclusive), NULL for no lower bound
    "2025-04-22T10:00:00Z",  // to (inclusive), NULL for no upper bound
    50,                      // candidate_k: internal fetch multiplier (10x top_k recommended)
    &err);

for (int i = 0; i < logosdb_result_count(res); i++) {
    printf("#%d score=%.4f ts=%s text=%s\n", i,
           logosdb_result_score(res, i),
           logosdb_result_timestamp(res, i),
           logosdb_result_text(res, i));
}
logosdb_result_free(res);
logosdb_close(db);

Using different distance metrics

#include <logosdb/logosdb.h>

char *err = NULL;
logosdb_options_t *opts = logosdb_options_create();
logosdb_options_set_dim(opts, 2048);

// Use cosine similarity (automatically normalizes vectors)
logosdb_options_set_distance(opts, LOGOSDB_DIST_COSINE);

// Or use L2 Euclidean distance
// logosdb_options_set_distance(opts, LOGOSDB_DIST_L2);

// Default is LOGOSDB_DIST_IP (inner product on L2-normalized vectors)

logosdb_t *db = logosdb_open("/tmp/mydb", opts, &err);
logosdb_options_destroy(opts);

// For cosine: vectors are automatically normalized on put/search
float vec[2048] = { /* ... unnormalized vector ... */ };
logosdb_put(db, vec, 2048, "entry", "2025-04-22T10:00:00Z", &err);

logosdb_close(db);

Usage (C++ wrapper)

#include <logosdb/logosdb.h>
#include <vector>

// Basic usage with default inner-product distance
logosdb::DB db("/tmp/mydb", {.dim = 2048});

// L2-normalize your vectors before insertion (required for inner-product distance)
std::vector<float> embedding = load_some_vector();  // unnormalized
if (logosdb::l2_normalize(embedding)) {
    db.put(embedding, "My commute is 42 minutes", "2025-06-25T10:00:00Z");
}

// Or use l2_normalized() to get a normalized copy
auto normalized = logosdb::l2_normalized(query);
auto results = db.search(normalized, 5);
for (auto &r : results) {
    printf("id=%llu score=%.4f text=%s\n", r.id, r.score, r.text.c_str());
}

C++: Search with timestamp filter

#include <logosdb/logosdb.h>

logosdb::DB db("/tmp/mydb", {.dim = 2048});

// Search within a time window
auto results = db.search_ts_range(
    query, 5,
    "2025-04-21T00:00:00Z",  // from timestamp
    "2025-04-22T00:00:00Z",  // to timestamp
    50);                     // candidate_k (optional, defaults to 10x top_k)

for (auto &r : results) {
    printf("id=%llu score=%.4f ts=%s\n", r.id, r.score, r.timestamp.c_str());
}

C++: Using cosine or L2 distance

#include <logosdb/logosdb.h>

// Cosine similarity - vectors are automatically normalized
logosdb::DB db("/tmp/mydb", {.dim = 2048, .distance = LOGOSDB_DIST_COSINE});

// Put unnormalized vectors - they will be normalized automatically
db.put(unnormalized_embedding, "entry", "2025-04-22T10:00:00Z");

auto results = db.search(query, 5);
// scores are cosine similarities in [0, 1]

// L2 Euclidean distance
// logosdb::DB db("/tmp/mydb", {.dim = 2048, .distance = LOGOSDB_DIST_L2});

Python

LogosDB ships Python bindings built with pybind11 and scikit-build-core.

Install from PyPI (binary wheels provided for Linux x86_64/aarch64 and macOS x86_64/arm64 on CPython 3.9–3.13):

pip install logosdb

Or build from source in a clone:

pip install .

Usage:

import numpy as np
import logosdb

db = logosdb.DB("/tmp/mydb", dim=128)

v = np.random.randn(128).astype(np.float32)
v /= np.linalg.norm(v)  # Required for default inner-product distance
# Or use logosdb.DIST_COSINE for automatic normalization

rid = db.put(v, text="hello", timestamp="2025-06-25T10:00:00Z")
# rid is the row id for this vector (often 0 for the first insert).
hits = db.search(v, top_k=5)
print(hits[0].text, hits[0].score)

# Replace an existing row: first arg is that row's id (must still be "live").
# update() tombstones the old row and appends a new one; it returns the NEW id.
v2 = np.random.randn(128).astype(np.float32)
v2 /= np.linalg.norm(v2)
new_id = db.update(rid, v2, text="replaced")

# Tombstone a row by id (excluded from search). count() includes deleted rows;
# count_live() does not.
db.delete(new_id)

# After a delete, that id cannot be updated again — insert a fresh row with put().
# zero-copy bulk view over mmap-backed storage (shape: (count, dim), read-only)
vectors = db.raw_vectors()

print(db.count(), db.count_live(), db.dim)

Python: Using cosine distance (no manual normalization needed)

import numpy as np
import logosdb

# With cosine distance, vectors are automatically normalized
db = logosdb.DB("/tmp/mydb", dim=128, distance=logosdb.DIST_COSINE)

# No need to normalize - just put raw vectors
v = np.random.randn(128).astype(np.float32)
rid = db.put(v, text="unnormalized vector", timestamp="2025-04-22T10:00:00Z")

# Search also works with unnormalized queries
query = np.random.randn(128).astype(np.float32)
hits = db.search(query, top_k=5)

Run the Python tests and examples:

pip install ".[test]"
pytest tests/python/

python examples/python/basic_usage.py

# sentence-transformers demo (optional heavy dep)
pip install ".[examples]"
python examples/python/sentence_transformers_demo.py

Memory-Efficient On-Prem RAG

LogosDB is designed for memory-efficient retrieval-augmented generation (RAG) that runs entirely on your hardware.

RAM Model

LogosDB uses mmap() for zero-copy access. Your RAM usage scales with query patterns, not dataset size:

Dataset Dim Disk Typical Query RAM
100K 384 153 MB <20 MB
1M 384 1.5 GB <100 MB
10M 384 15 GB <200 MB

The OS caches hot index pages; cold data stays on disk. No explicit loading/unloading needed.

Quick RAG Example

import numpy as np
import logosdb
from sentence_transformers import SentenceTransformer

# 1. Load model (runs locally)
model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
dim = model.get_sentence_embedding_dimension()

# 2. Create DB with cosine distance (auto-normalizes)
db = logosdb.DB("/data/knowledge", dim=dim, distance=logosdb.DIST_COSINE)

# 3. Index documents
for text in documents:
    emb = model.encode(text)
    db.put(emb, text=text)  # Auto-normalized with cosine distance

# 4. Query (only touched pages load into RAM)
query_emb = model.encode("What is HNSW?")
for hit in db.search(query_emb, top_k=3):
    print(f"{hit.score:.4f}  {hit.text}")

See docs/rag-on-prem.md for complete guide including:

  • Sizing guidelines for your data
  • Time-sharding for infinite retention
  • External quantization patterns
  • Architecture patterns for production

Run the memory-efficient RAG example:

pip install ".[examples]"
python examples/python/memory_efficient_rag.py

Python: LlamaIndex VectorStore

pip install 'logosdb[llama-index]'
from logosdb import LogosDBIndex
from llama_index.core import Document
from llama_index.core.schema import TextNode
from llama_index.core.vector_stores import VectorStoreQuery
import numpy as np

# Create the vector store
db = LogosDBIndex(uri="/tmp/mydb", dim=128)

# Add nodes with pre-computed embeddings
node = TextNode(
    text="My commute is 42 minutes",
    embedding=np.random.randn(128).astype(np.float32).tolist(),
    metadata={"timestamp": "2025-04-28T10:00:00Z"}
)
db.add([node])

# Query
query_emb = np.random.randn(128).astype(np.float32).tolist()
query = VectorStoreQuery(query_embedding=query_emb, similarity_top_k=5)
results = db.query(query)

for node, score in zip(results.nodes, results.similarities):
    print(f"Score: {score:.4f}, Text: {node.text}")

# Timestamp range filtering
results = db.query(query, ts_from="2025-04-01T00:00:00Z", ts_to="2025-04-30T23:59:59Z")

The LogosDBIndex class implements LlamaIndex's VectorStore interface, supporting:

  • add(nodes) - Add nodes with embeddings
  • delete(node_id) - Delete by node ID
  • query(VectorStoreQuery) - Similarity search by vector
  • count() / len(store) - Number of live documents
  • Timestamp filtering via ts_from and ts_to kwargs

CLI

# Database info
logosdb-cli info /tmp/mydb

# Search with a binary query vector file
logosdb-cli search /tmp/mydb --query-file q.bin --top-k 5

Performance

Here is a performance report from the included logosdb-bench program. The results are somewhat noisy, but should be enough to get a ballpark performance estimate.

Setup

We use databases with 1K, 10K, and 100K vectors. Each vector has 2048 dimensions (matching typical LLM embedding sizes). Vectors are L2-normalized random unit vectors.

LogosDB:    version 0.5.0
CPU:        Apple M-series (ARM64)
Dim:        2048
HNSW M:     16, ef_construction: 200, ef_search: 50

Write performance

put (1K vectors):    ~50 µs/op   (~20,000 inserts/sec)
put (10K vectors):   ~80 µs/op   (~12,500 inserts/sec)
put (100K vectors):  ~120 µs/op  (~8,300 inserts/sec)

Each "op" above corresponds to a write of a single vector + metadata + HNSW index update.

Search performance

HNSW top-5 (1K):     ~0.1 ms/query
HNSW top-5 (10K):    ~0.3 ms/query
HNSW top-5 (100K):   ~1.2 ms/query

Brute-force top-5 (1K):    ~0.3 ms/query
Brute-force top-5 (10K):   ~2.5 ms/query
Brute-force top-5 (100K):  ~25 ms/query

HNSW maintains sub-linear scaling while brute-force grows linearly with database size. At 100K vectors, HNSW is roughly 20x faster.

Benchmark vs ChromaDB

logosdb-bench --dim 2048 --counts 1000,10000,100000
Metric ChromaDB LogosDB
Language Python + C (hnswlib) Pure C/C++
Search algorithm HNSW HNSW (same hnswlib)
Storage SQLite + Parquet Binary mmap + JSONL
Startup overhead Python runtime + deps Zero (linked library)
Embedding generation Built-in (Sentence Transformers) External (caller provides vectors)
Target use case General-purpose vector store Embedded LLM inference memory
Search latency (100K, dim=2048) ~5-10 ms ~1-3 ms
Memory footprint (100K, dim=2048) ~1.5 GB (Python + SQLite) ~800 MB (mmap)
Cold start ~2-5 s (Python imports) <10 ms
Dependencies Python, NumPy, SQLite, hnswlib hnswlib (header-only, vendored)

LogosDB uses the same HNSW implementation as ChromaDB (hnswlib) but eliminates Python overhead, SQLite serialization, and Sentence Transformer coupling. The result is a leaner library optimized for the single use case of embedded semantic memory for LLM inference.

Repository contents

include/logosdb/logosdb.h     Public C/C++ API (start here)
src/logosdb.cpp               Core engine: wires storage + index + metadata
src/storage.h / storage.cpp   Fixed-stride binary vector file with mmap
src/metadata.h / metadata.cpp Append-only JSONL text + timestamp store
src/hnsw_index.h / .cpp       Thin wrapper around hnswlib
tools/logosdb-cli.cpp         Command-line interface
tools/logosdb-bench.cpp       Benchmark tool
tests/test_basic.cpp          C++ unit tests
tests/python/test_smoke.py    Python smoke tests (pytest)
python/src/bindings.cpp       pybind11 Python bindings
python/logosdb/               Python package (logosdb._core + stubs)
examples/python/              Python usage examples
pyproject.toml                Python build/config (scikit-build-core)
third_party/hnswlib/          Vendored hnswlib (header-only)
CHANGELOG                     Release history
LICENSE                       MIT license text

License

MIT — see LICENSE for the full text.

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

logosdb-0.7.0.tar.gz (303.6 kB view details)

Uploaded Source

Built Distributions

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

logosdb-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

logosdb-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

logosdb-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (411.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

logosdb-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (391.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

logosdb-0.7.0-cp313-cp313-macosx_11_0_x86_64.whl (232.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

logosdb-0.7.0-cp313-cp313-macosx_11_0_arm64.whl (208.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

logosdb-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

logosdb-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

logosdb-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (411.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

logosdb-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (391.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

logosdb-0.7.0-cp312-cp312-macosx_11_0_x86_64.whl (232.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

logosdb-0.7.0-cp312-cp312-macosx_11_0_arm64.whl (208.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

logosdb-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

logosdb-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

logosdb-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (411.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

logosdb-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (389.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

logosdb-0.7.0-cp311-cp311-macosx_11_0_x86_64.whl (230.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

logosdb-0.7.0-cp311-cp311-macosx_11_0_arm64.whl (207.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

logosdb-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

logosdb-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

logosdb-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (409.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

logosdb-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (388.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

logosdb-0.7.0-cp310-cp310-macosx_11_0_x86_64.whl (229.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

logosdb-0.7.0-cp310-cp310-macosx_11_0_arm64.whl (206.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

logosdb-0.7.0-cp39-cp39-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

logosdb-0.7.0-cp39-cp39-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

logosdb-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (410.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

logosdb-0.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (388.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

logosdb-0.7.0-cp39-cp39-macosx_11_0_x86_64.whl (229.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ x86-64

logosdb-0.7.0-cp39-cp39-macosx_11_0_arm64.whl (206.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file logosdb-0.7.0.tar.gz.

File metadata

  • Download URL: logosdb-0.7.0.tar.gz
  • Upload date:
  • Size: 303.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for logosdb-0.7.0.tar.gz
Algorithm Hash digest
SHA256 75d9b58eb68a555e12bfebaf531f6ec4b885d8d9ea25f2c98a4fdaf293e8890b
MD5 66a1503d3db0dc1cbe749a1c171fff2b
BLAKE2b-256 a79d0d508e093bebd226e3da9f6b5a00e06c47f46d61e755867a60abc074925d

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0.tar.gz:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2e7c00c98fd3a174ac8c368505cfadef1aecc3b28b89e2c34479da18a78683d1
MD5 56bfd71005d353660156f722f8b882d8
BLAKE2b-256 a00d92fbc6a2aba8dbf4018ca286f0ecf8e6c4a5bbca2b78c56c2a6e2c6de8f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 21d4f6b7f8ccc744b614b8273d317f77b4df961014a21c95349478e6ff2f5926
MD5 8760f9dd9c1906055249e4de41a704e5
BLAKE2b-256 94d24d5fe009b2f3d4ebbce3aecf078d2abff99d59fa2bed1c9bb8f9e0e60af7

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2642cd72c00504288a7d9d32ece0bf79e90cae36be080d731091db699d2f394f
MD5 b20b2df142f45851dbcf213408fe1824
BLAKE2b-256 9de66f71a3119b975f3b4ee8a579dfbaa28cc3be6d7ffc73dc0a55fefc924997

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4283d8d97ccafd984b15994d0e8e0be987ebdde464f9f8c8b7c16152188a42d1
MD5 84accfd4df839d2af9a17caff921a2d0
BLAKE2b-256 17a83886e6feb70c1c97bb64d94795ca6e5d04a1f3d51bff92cf5593e81848ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp313-cp313-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 fb9383788801f2f0bc5edb59ee1a361da365ba6f137cae4461965dcb45179e8d
MD5 7b99341d9ddbf248985e7823c9b89e57
BLAKE2b-256 ee4e3033bbe3d3768ce0b4e4a3443c42eb28fc0748d613a4cf67de22dbb2af30

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp313-cp313-macosx_11_0_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a090ce7cc810f1ed3af251e9c7d0762733b3902abeff1827852b4c638748abcc
MD5 215ba608d309207c4d235cb719b57eae
BLAKE2b-256 5cbceff67cb61387ce97b1f4ccb0a27ca70e7839576eda5b44599ad4cdb23cb7

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9ce761f5599ea95ebeed1bd93bd93bed9efb1116b69cb64e89ac12597690fec6
MD5 7db772c4eac09515ddaa5d82bfb67076
BLAKE2b-256 ec02bff9acd0ff47da88e73007da39a543efae6e72c7c56e95037fbab9b12eb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2765c4f91843b832626dfd9f28ff230b52b8847ddf80811686cd44238c3a9e04
MD5 f5dc321b0aace63dd7cdfa7b7b1b22da
BLAKE2b-256 7dd2947e79fbc718243b731bba5ebfb164af4ee4e1d24990e0010d72fc73175b

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 43b86490d2e008a9ead993cd1b10f385f47c10c744bfd0ba2949b4aa64d01a85
MD5 8445110a8bc371adeb609911c01e7020
BLAKE2b-256 045b4143047a8fc40102a040b86c2e1144217116b85f54d587d9b02ab793012d

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ba12fc56eea2efc3c1352e6d8d389a1c2b5031aae73de79883aaefb4bf01acad
MD5 139e13a6cb4f11d9e39192655831d7e0
BLAKE2b-256 2f3cec295830e48e1b4603306b79f50b7553ff3ea547e7f4de1e64e66e1d7819

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 d65425b68f5ff2614da7e64fb16383a19910e22a7480f8104f8907e221deabeb
MD5 1a928c29a08b798c1b8be4943945db35
BLAKE2b-256 b0a0a5622d8f3b946d6d7742ac6fe424573cc99d9f9f8f1071b616a17a88b1f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp312-cp312-macosx_11_0_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91a71d221bc31a6475cb1b252b02a3d54db88fe5d5cba206682ddd6bbe01388d
MD5 7aa0f82b550e7d70caf0c80b0465ae8b
BLAKE2b-256 1a6bad4c4435ed6f6e2d1e569ce625ffc4c24f56bddd8e29178adabb0af26053

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4db529c7411594ba1a98746a65eb407033e3aa96b87c3b4afd722f2d7d199969
MD5 27b1d3394129f59a979c90fda853fff3
BLAKE2b-256 54c6a5ae180eb19747268b6c598380c0fa13a3d3973eb881698a3007aa938dad

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d0e05343ecfbdde7e2b0f1194e1ddaa31f4fbff9553bc3b94a5bc68d33c36710
MD5 14092b2601ee2e48ac4f174e64d58d3b
BLAKE2b-256 e6906c35e7572ecf01e2ceecd4d288f0ed83515b811151f1ba668f271e6cc927

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76c440acd009257fb1c95cecd1269212b3ea91c379cbdf59f3c76a15f761a711
MD5 15d7399662e72c5a3c1e9a0085d1da33
BLAKE2b-256 858a8677b191aa332a1cfc81a8d84b3ed86038f3018a615440dee44678e32c89

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a5ef0674ae7c462438c2117186dd53a059e0af09a71a125a3e629dbed7ec4aa9
MD5 d039b476751ff28bec220aa3bfd93052
BLAKE2b-256 e53d6a3924fb0c3498f4faf8a49ec85ecfd51ba772f2f1b466e0f1d50900d713

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 2e17afb20874bccf77a87eaa50323791839e07c6a6a825c696ed7476cc0b4626
MD5 d9824ed32f7f7cc6f599fd2758de0322
BLAKE2b-256 e95c9c4299cb0982c0b9ae6b8768635f63f1529f048aabc8403c0de7483040ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp311-cp311-macosx_11_0_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 89ac375ed85a82cbeaf53c5c939c122cfc1113e2507496c80b7295193bfb1416
MD5 cc21134cf3993b9da2fd4e0286126ccc
BLAKE2b-256 6d2c8ebd6f0570e5ece5a5acf74574b7abf0398ab7c6fadc7cc229cb723bd367

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d2397ed302728d8be073c87b5e5f44cc99f5b392888fbe38ebe237b7f355948b
MD5 f80ea2f3d99cdb309b7a5c9de3da6b81
BLAKE2b-256 f2b969bfc83ab279fde549c00e7f906905b27ae437947c1abe9e27f6036d85b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1fdce0cd9d85642b47166b37ec84efb0e5e0e2330dcb12620c0673c9fafe5dd8
MD5 45df69c9ed71b37f59302435c998edb3
BLAKE2b-256 6b125341e706c267ed0af83ac5cd958ef3ea1bcc0d97fd82053d2908d675209d

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c9f42477643755039c9f7b4c039ae9551b4cc54b27aa8b59d6ea75f24f8f5368
MD5 4879d2950b01aad1c2c2967297ef6e9a
BLAKE2b-256 81b6261517d209c65c73c5fcbee4d0c41a0e69bc5e1771e1124a6cf9c6435340

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3e6914defc87991a94bad490fa81011080680e418f862bcc9213164de8a3c4d6
MD5 e65b34b4970229d70626bd9dc88dbbbc
BLAKE2b-256 95ddae5ce152eff30c6d4b65960339305fa552e673a3851742fc7cc92d2a0b8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 1cae6485a23814399ba73f3442d7ba442c21ea8f0aad80a803a6769a8756215b
MD5 10f7f11141294e9d668584861eb1a78a
BLAKE2b-256 b7453f30b60eff67f44368017bc7ae71aba001d9eb2213a7addb0099a12528a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp310-cp310-macosx_11_0_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2d97846a0c003762cf888ea18b02649641b38e9694c2453572b2f63fa3d313c9
MD5 9f29d2e932d64454eb137da08cd8a39f
BLAKE2b-256 68fb096deb3cceffc3227176f4a9b59e6cf5880b888fcc633ed13e7cc6258855

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 70ef369b53ac0451fc6736a6b645bd92cd4f38571ef066f789dade09bb4f91c9
MD5 144b39870e8dcaad65327178446a48dd
BLAKE2b-256 34f9ad1742c23a4c5ef1b3e678dc11d20b4f6fb5ba41c32f40e636598fa53608

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c928583bf26abe77b772ff2c6f4658b7d16f931140d5c1decf6e55a56d3e114b
MD5 8a0425f8609a4c5775e907faebcb00bb
BLAKE2b-256 057c7c08b01ed0f08ed72b0cbe6a1ee3df14e7f7808d9515911ce0fa22961196

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp39-cp39-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e4d3b1b633cb5978e08d1da3ce841920eaaf8b5124d9ccbbb5842111ef4d085
MD5 175cc290b50f7cdc9598684043ef96b1
BLAKE2b-256 17f8de49a7e5619de056d49168ee793747d4de93c5e93360218cb68083e4a448

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6e318d9d109b049e32ee227e90faf81bf339ba2344064abdf30d86d9d3cbca7d
MD5 5198a53325ff934fbe78b96bad4d8f50
BLAKE2b-256 8ef0a01c3f875fd5102bb14728880c76f69358025da769c0dda09d3e0417ba48

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 57ca579ecae1d17f605e124d391728a0c2bc5d5f929ed6def1b8cae2cc121c35
MD5 cb26ba3f2caedd08fe9adb1d5de5e52b
BLAKE2b-256 6c3a630c0e7938a7c94a9557fc4d4b90ac5369110d8aa57a839e41a294532dfa

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp39-cp39-macosx_11_0_x86_64.whl:

Publisher: publish.yml on jose-compu/logosdb

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

File details

Details for the file logosdb-0.7.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for logosdb-0.7.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bb42f854c8d1a7c42bf54a152725e02e30e2e242cbab92325f8abf82f63e322d
MD5 a6da341bb6463cf3d5d49914dcce4e31
BLAKE2b-256 8d702cde05b46ba7ac6fdea418a472fa79a417733a3f47c10a463950c5cced60

See more details on using hashes here.

Provenance

The following attestation bundles were made for logosdb-0.7.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: publish.yml on jose-compu/logosdb

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