Skip to main content

A Cognitive Memory Engine for Persistent AI Systems

Project description

YantrikDB — A Cognitive Memory Engine for Persistent AI Systems

The memory engine for AI that actually knows you.

PyPI Crates.io License: AGPL-3.0

Get Started in 60 Seconds

For AI agents (MCP — works with Claude, Cursor, Windsurf, Copilot)

pip install yantrikdb-mcp

Add to your MCP client config:

{
  "mcpServers": {
    "yantrikdb": {
      "command": "yantrikdb-mcp"
    }
  }
}

That's it. The agent auto-recalls context, auto-remembers decisions, and auto-detects contradictions — no prompting needed. See yantrikdb-mcp for full docs.

As a Python library

pip install yantrikdb

The engine ships a default embedder (potion-base-2M, ~7 MB, distilled from BGE-base-en-v1.5) — record_text() / recall_text() work out of the box. No sentence-transformers install. No first-run model download. No ONNX runtime. Just one pip install.

import yantrikdb

# Default: bundled embedder, dim=64. Just works.
db = yantrikdb.YantrikDB.with_default("memory.db")

db.record("Alice is the engineering lead", importance=0.8, domain="people")
db.record("Project deadline is March 30", importance=0.9, domain="work")
db.record("User prefers dark mode", importance=0.6, domain="preference")

results = db.recall("who leads the team?", top_k=3)
# → [{"text": "Alice is the engineering lead", "score": 1.0}, ...]

db.relate("Alice", "Engineering", "leads")
db.get_edges("Alice")

db.think()  # consolidate, detect conflicts, mine patterns

db.close()

Want higher-quality embeddings?

Three opt-in upgrade paths, in increasing weight:

# 1. Larger bundled variant — downloads on first call, caches under
#    your user data dir. Self-hosted from yantrikos/yantrikdb-models;
#    no HuggingFace dependency, no rate limits.
db = yantrikdb.YantrikDB("memory.db", embedding_dim=256)
db.set_embedder_named("potion-base-8M")   # ~28 MB, ~92% MiniLM
# or:  db.set_embedder_named("potion-base-32M")  # ~121 MB, ~95% MiniLM

# 2. Bring your own embedder (sentence-transformers, fastembed, custom).
from sentence_transformers import SentenceTransformer
db = yantrikdb.YantrikDB("memory.db", embedding_dim=384)
db.set_embedder(SentenceTransformer("all-MiniLM-L6-v2"))

# 3. Slim build (no bundled embedder, must set_embedder yourself).
#    For deployments where the ~7 MB bundle is intolerable.
#    Rust:  yantrikdb = { version = "0.7", default-features = false }
Path Quality vs MiniLM Size on disk Install network
Bundled default (with_default) ~89% ~7 MB (bundled) none
set_embedder_named("potion-base-8M") ~92% ~28 MB (cached) first call only
set_embedder_named("potion-base-32M") ~95% ~121 MB (cached) first call only
set_embedder(MiniLM) 100% (baseline) ~80 MB sentence-transformers' own download

As a Rust crate

[dependencies]
yantrikdb = "0.7"

# Want set_embedder_named() for runtime model upgrades?
# yantrikdb = { version = "0.7", features = ["embedder-download"] }

# Slim build (no bundled embedder, no network code path):
# yantrikdb = { version = "0.7", default-features = false }

The Problem

Current AI memory is:

Store everything → Embed → Retrieve top-k → Inject into context → Hope it helps.

That's not memory. That's a search engine with extra steps.

Real memory is hierarchical, compressed, contextual, self-updating, emotionally weighted, time-aware, and predictive. YantrikDB is built for that.

Why Not Existing Solutions?

Solution What it does What it lacks
Vector DBs (Pinecone, Weaviate) Nearest-neighbor lookup No decay, no causality, no self-organization
Knowledge Graphs (Neo4j) Structured relations Poor for fuzzy memory, not adaptive
Memory Frameworks (LangChain, Mem0) Retrieval wrappers Not a memory architecture — just middleware
File-based (CLAUDE.md, memory files) Dump everything into context O(n) token cost, no relevance filtering

Benchmark: Selective Recall vs. File-Based Memory

Memories File-Based YantrikDB Token Savings Precision
100 1,770 tokens 69 tokens 96% 66%
500 9,807 tokens 72 tokens 99.3% 77%
1,000 19,988 tokens 72 tokens 99.6% 84%
5,000 101,739 tokens 53 tokens 99.9% 88%

At 500 memories, file-based exceeds 32K context windows. At 5,000, it doesn't fit in any context window — not even 200K. YantrikDB stays at ~70 tokens per query. Precision improves with more data — the opposite of context stuffing.

Evidence (reproducible)

Every claim here points at a runnable harness — not a static number. Each is gated in CI (.github/workflows/benchmark.yml) so a regression fails the build.

  • Recall doesn't degrade as the corpus grows, and stays fast. python -m yantrikdb.eval.benchmark holds a fixed signal corpus while adding distractors and measures recall + latency at each scale. Sample run: recall@k 0.938 → 0.929 as memories grow 7×, with p95 recall latency under 3 ms. regression_check() is the CI gate.
  • The knowledge graph earns its keep on connected data. python -m yantrikdb.eval.graph_lift measures recall with entity-expansion ON vs OFF. Verdict on the connected corpus: +2.5% recall, +1.7% MRR — graph expansion helps where memories are actually linked.
  • Apples-to-apples vs other memory systems. python -m yantrikdb.eval.competitors scores YantrikDB, mem0, Zep, and Letta on the same corpus, same queries, same metrics, no per-system tuning. (Competitors run once their libraries are installed; results are not pre-tuned.)

These run dependency-free on the bundled embedder, so anyone can reproduce them with one command.

Architecture

Design Principles

  • Embedded, not client-server — single file, no server process (like SQLite)
  • Local-first, sync-native — works offline, syncs when connected
  • Cognitive operations, not SQLrecord(), recall(), relate(), not SELECT
  • Living system, not passive store — does work between conversations
  • Thread-safeSend + Sync with internal Mutex/RwLock, safe for concurrent access

Five Indexes, One Engine

┌──────────────────────────────────────────────────────┐
│                   YantrikDB Engine                    │
│                                                      │
│  ┌──────────┬──────────┬──────────┬──────────┐       │
│  │  Vector  │  Graph   │ Temporal │  Decay   │       │
│  │  (HNSW)  │(Entities)│ (Events) │  (Heap)  │       │
│  └──────────┴──────────┴──────────┴──────────┘       │
│  ┌──────────┐                                        │
│  │ Key-Value│  WAL + Replication Log (CRDT)          │
│  └──────────┘                                        │
└──────────────────────────────────────────────────────┘
  1. Vector Index (HNSW) — semantic similarity search across memories
  2. Graph Index — entity relationships, profile aggregation, bridge detection
  3. Temporal Index — time-aware queries ("what happened Tuesday", "upcoming deadlines")
  4. Decay Heap — importance scores that degrade over time, like human memory
  5. Key-Value Store — fast facts, session state, scoring weights

Decoupled Write Path (v0.6.6+)

The vector index is structured as a two-tier LSM: a small mutable delta and an immutable HNSW cold tier swapped atomically via ArcSwap. Foreground writes only touch the delta (brief lock, O(1) push); HNSW work amortizes on a dedicated compactor thread. This is what eliminated the production wedge where sustained writes starved readers — see CONCURRENCY.md and docs/decoupled_write_path_rfc.md.

flowchart LR
    subgraph CLIENT["Caller"]
        C1["record / record_with_rid"]
        C2["recall / recall_with_seq"]
    end

    subgraph FG["Foreground — P1, brief locks only"]
        F1["assign_seq<br/>vec_seq.fetch_add<br/>(or fetch_max for cluster seq)"]
        F2["DeltaIndex.append<br/>brief RwLock&lt;Vec&gt; push"]
        F3["bump_visible_seq<br/>DashMap + AtomicU64<br/>(lock-free)"]
        F4["log_op → SQLite WAL"]
    end

    subgraph IDX["DeltaIndex (per engine)"]
        D1[("delta<br/>RwLock&lt;Vec&lt;DeltaEntry&gt;&gt;<br/>cap = delta_max (256)")]
        D2[("cold<br/>ArcSwap&lt;HnswIndex&gt;<br/>lock-free read")]
    end

    subgraph BG["Background — P3, dedicated threads"]
        B1["Compactor (1s tick)<br/>fires when delta past half-cap<br/>OR oldest entry > max_dirty_age"]
        B2["Materializer pool<br/>N = cores / 2<br/>drains pending oplog ops"]
    end

    subgraph STORE["SQLite (WAL mode, single file)"]
        S1["memories"]
        S2["oplog"]
        S3["entity_edges, sessions, ..."]
    end

    C1 --> F1
    F1 --> F2
    F2 --> D1
    F1 --> F3
    F1 --> F4
    F4 --> S2

    C2 -.->|"optional<br/>wait_for_visible_seq"| F3
    C2 --> D1
    C2 --> D2

    B1 -->|"seal + clone + ArcSwap.store"| D1
    B1 --> D2
    B2 --> S2
    B2 --> S1
    B2 --> S3

The structural invariant. Foreground (P1) and background (P3) do not share a lock primitive that holds for non-O(1) work. The cold tier is read lock-free via ArcSwap; the delta's RwLock is held for the O(1) push only. This is what makes "no single background task can wedge reads, writes, or recovery" enforceable — see CONCURRENCY.md Rules 2 and 3 for the names and failure modes if violated.

Cluster Mode (RFC 010 + Phase 6 RYW)

For multi-node deployments, yantrikdb-server wraps the engine with openraft for leader-elected replication. The four cluster-mutation primitives take the openraft commit-log index as their seq, so all nodes agree on a single global monotonic sequence — read-your-writes works across the cluster, not just within a node.

flowchart LR
    L["Leader<br/>HTTP request"]
    LR["Leader engine<br/>record_with_rid(seq=Some(log_idx))"]
    OR["openraft<br/>commit log"]
    F1["Follower 1 applier<br/>record_with_rid(seq=Some(log_idx))"]
    F2["Follower 2 applier<br/>record_with_rid(seq=Some(log_idx))"]
    R["Reader on any node<br/>recall_with_seq(min_seq=log_idx)"]

    L --> LR
    LR --> OR
    OR -->|replicate + apply| F1
    OR -->|replicate + apply| F2
    F1 -.->|"visible_seq[ns] reaches log_idx"| R
    F2 -.->|"visible_seq[ns] reaches log_idx"| R
    LR -.->|"visible_seq[ns] reaches log_idx"| R

Each record_with_rid / tombstone_with_rid / upsert_entity_edge_with_id / delete_entity_edge_with_id accepts an optional seq: Option<u64>. Single-node callers pass None and the engine allocates; cluster appliers pass Some(commit_log_index) and the engine ratchets vec_seq up to at least that value via fetch_max. After apply, visible_seq[namespace] reaches the log index, so any subsequent recall_with_seq(min_seq=N) blocks just long enough for the local node to have applied through index N — and no longer.

Memory Types (Tulving's Taxonomy)

Type What it stores Example
Semantic Facts, knowledge "User is a software engineer at Meta"
Episodic Events with context "Had a rough day at work on Feb 20"
Procedural Strategies, what worked "Deploy with blue-green, not rolling update"

All memories carry importance, valence (emotional tone), domain, source, certainty, and timestamps — used in a multi-signal scoring function that goes far beyond cosine similarity.

Key Capabilities

Relevance-Conditioned Scoring

Not just vector similarity. Every recall combines:

  • Semantic similarity (HNSW) — what's topically related
  • Temporal decay — recent memories score higher
  • Importance weighting — critical decisions beat trivia
  • Graph proximity — entity relationships boost connected memories
  • Retrieval feedback — learns from past recall quality

Weights are tuned automatically from usage patterns.

Conflict Detection & Resolution

When memories contradict, YantrikDB doesn't guess — it creates a conflict segment:

"works at Google" (recorded Jan 15) vs. "works at Meta" (recorded Mar 1)
→ Conflict: identity_fact, priority: high, strategy: ask_user

Resolution is conversational: the AI asks naturally, not programmatically.

Semantic Consolidation

After many conversations, memories pile up. think() runs:

  1. Consolidation — merge similar memories, extract patterns
  2. Conflict scan — find contradictions across the knowledge base
  3. Pattern mining — cross-domain discovery ("work stress correlates with health entries")
  4. Trigger evaluation — proactive insights worth surfacing

Proactive Triggers

The engine generates triggers when it detects something worth reaching out about:

  • Memory conflicts needing resolution
  • Approaching deadlines (temporal awareness)
  • Patterns detected across domains
  • High-importance memories about to decay
  • Goal tracking ("how's the marathon training?")

Every trigger is grounded in real memory data — not engagement farming.

Multi-Device Sync (CRDT)

Local-first with append-only replication log:

  • CRDT merging — graph edges, memories, and metadata merge without conflicts
  • Vector indexes rebuild locally — raw memories sync, each device rebuilds HNSW
  • Forget propagation — tombstones ensure forgotten memories stay forgotten
  • Conflict detection — contradictions across devices are flagged for resolution

Sessions & Temporal Awareness

sid = db.session_start("default", "claude-code")
db.record("decided to use PostgreSQL")  # auto-linked to session
db.record("Alice suggested Redis for caching")
db.session_end(sid)
# → computes: memory_count, avg_valence, topics, duration

db.stale(days=14)    # high-importance memories not accessed recently
db.upcoming(days=7)  # memories with approaching deadlines

Full API

Operation Methods
Core record, record_batch, recall, recall_with_response, recall_refine, forget, correct
Knowledge Graph relate, get_edges, search_entities, entity_profile, relationship_depth, link_memory_entity
Cognition think, get_patterns, scan_conflicts, resolve_conflict, derive_personality
Triggers get_pending_triggers, acknowledge_trigger, deliver_trigger, act_on_trigger, dismiss_trigger
Sessions session_start, session_end, session_history, active_session, session_abandon_stale
Temporal stale, upcoming
Procedural record_procedural, surface_procedural, reinforce_procedural
Lifecycle archive, hydrate, decay, evict, list_memories, stats
Sync extract_ops_since, apply_ops, get_peer_watermark, set_peer_watermark
Maintenance rebuild_vec_index, rebuild_graph_index, learned_weights

Technical Decisions

Decision Choice Rationale
Core language Rust Memory safety, no GC, ideal for embedded engines
Architecture Embedded (like SQLite) No server overhead, sub-ms reads, single-tenant
Bindings Python (PyO3), TypeScript Agent/AI layer integration
Storage Single file per user Portable, backupable, no infrastructure
Sync CRDTs + append-only log Conflict-free for most operations, deterministic
Thread safety Mutex/RwLock, Send+Sync Safe concurrent access from multiple threads
Query interface Cognitive operations API Not SQL — designed for how agents think

Ecosystem

Package What Install
yantrikdb Rust engine cargo add yantrikdb
yantrikdb Python bindings (PyO3) pip install yantrikdb
yantrikdb-mcp MCP server for AI agents pip install yantrikdb-mcp

Roadmap

  • V0 — Embedded engine, core memory model (record, recall, relate, consolidate, decay)
  • V1 — Replication log, CRDT-based sync between devices
  • V2 — Conflict resolution with human-in-the-loop
  • V3 — Proactive cognition loop, pattern detection, trigger system
  • V4 — Sessions, temporal awareness, cross-domain pattern mining, entity profiles
  • V5 — Multi-agent shared memory, federated learning across users

Worked example: Wirecard (RFC 008 substrate — with honest limits)

For nearly a decade, Wirecard's filings and EY's audit attested to €1.9B in Philippine escrow accounts. In June 2020 both banks and the central bank formally denied the accounts existed.

When the source_lineage fields are hand-populated — EY as [wirecard, ey] to capture audit dependence on Wirecard-provided documents, BSP as [bsp, bpi, bdo] to capture restatement of the commercial banks — RFC 008's discounts the dependent claims, and the contest operator's temporal split distinguishes present-tense contradictions from historical state changes. On this hand-populated data, the substrate produces useful annotations.

Honest limits (surfaced by Phase 2 empirical testing, Apr 2026):

  • On naturalistic evidence where a real agent populates the fields, the substrate's gates don't reliably fire. Cases B and C of the Phase 2 eval need an extractor/canonicalizer (not yet built) to work; Case A exposed that is mathematically incapable of flipping decisions at realistic N, regardless of coefficient tuning.
  • Current claim: structured schema for evidence provenance/temporal/conflict annotation, useful for audit and inspection. The dependence-discount operator works on curated inputs but needs replacement before it can drive decisions.
  • Not a current claim: "decision-improvement substrate for AGI-capable agents." That framing is withdrawn pending RFC 009.

See docs/showcase/wirecard.md for the full walkthrough including the Phase 2 negative result and the gold-state ablation that partitioned operator failure from extraction failure. Run the hand-populated demonstration directly:

cargo run --example showcase_wirecard

Research & Publications

📄 Skill as Memory, Not Document (May 2026)

Sarkar, P. (2026). Skill as Memory, Not Document: A Database-Native Substrate for Agent Skill Catalogs. Zenodo.

A measurement paper at 5K-skill scale: token cost vs filesystem catalogs (with the honest 1.49× ablation), retrieval latency (87.3 ms p50), and invalid-skill admission (0% YantrikDB vs 97% document-only baseline). Reproducible scripts + raw CSVs at yantrikdb-server/benchmarks/skill_recall/. Companion blog: yantrikdb.com/papers/skill-substrate.

Earlier work

Author

Pranab SarkarORCID · LinkedIn · developer@pranab.co.in

License

AGPL-3.0. See LICENSE for the full text.

The MCP server is MIT-licensed — using the engine via the MCP server does not trigger AGPL obligations on your code.

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

yantrikdb-0.9.1.tar.gz (8.4 MB view details)

Uploaded Source

Built Distributions

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

yantrikdb-0.9.1-cp314-cp314-win_amd64.whl (12.6 MB view details)

Uploaded CPython 3.14Windows x86-64

yantrikdb-0.9.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

yantrikdb-0.9.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

yantrikdb-0.9.1-cp314-cp314-macosx_11_0_arm64.whl (12.9 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

yantrikdb-0.9.1-cp314-cp314-macosx_10_12_x86_64.whl (13.2 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

yantrikdb-0.9.1-cp313-cp313-win_amd64.whl (12.6 MB view details)

Uploaded CPython 3.13Windows x86-64

yantrikdb-0.9.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

yantrikdb-0.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

yantrikdb-0.9.1-cp313-cp313-macosx_11_0_arm64.whl (12.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

yantrikdb-0.9.1-cp313-cp313-macosx_10_12_x86_64.whl (13.2 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

yantrikdb-0.9.1-cp312-cp312-win_amd64.whl (12.6 MB view details)

Uploaded CPython 3.12Windows x86-64

yantrikdb-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

yantrikdb-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

yantrikdb-0.9.1-cp312-cp312-macosx_11_0_arm64.whl (12.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

yantrikdb-0.9.1-cp312-cp312-macosx_10_12_x86_64.whl (13.2 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

yantrikdb-0.9.1-cp311-cp311-win_amd64.whl (12.6 MB view details)

Uploaded CPython 3.11Windows x86-64

yantrikdb-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

yantrikdb-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

yantrikdb-0.9.1-cp311-cp311-macosx_11_0_arm64.whl (13.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

yantrikdb-0.9.1-cp311-cp311-macosx_10_12_x86_64.whl (13.2 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

yantrikdb-0.9.1-cp310-cp310-win_amd64.whl (12.6 MB view details)

Uploaded CPython 3.10Windows x86-64

yantrikdb-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

yantrikdb-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

yantrikdb-0.9.1-cp310-cp310-macosx_11_0_arm64.whl (13.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

yantrikdb-0.9.1-cp310-cp310-macosx_10_12_x86_64.whl (13.2 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file yantrikdb-0.9.1.tar.gz.

File metadata

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

File hashes

Hashes for yantrikdb-0.9.1.tar.gz
Algorithm Hash digest
SHA256 0a534ae92f5f999204701d6d570b0576bd1ea173358ffab75eaaf12ea092b0b4
MD5 5aba861c680d834217b132a5c828d17e
BLAKE2b-256 70b5c0a0c0c6c146b1c1fae1f2f32f0658e7d66116662f966929dc2976194398

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1.tar.gz:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: yantrikdb-0.9.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 12.6 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for yantrikdb-0.9.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 36217608fd3e18208b310a277bb5ff5293bf21aabae22c0caa77824ded4077a0
MD5 d1f9857c681a9cd174854e2b8b6fcb9b
BLAKE2b-256 15d8b70e49d2960d53afd8bfab34a86e87c5af326fac87bf8d68db56a59b99f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp314-cp314-win_amd64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63929fa75ee3fee4a67407d22fcdd8f8ed2d4b83065eedcb1d0129d6b4cf5b2c
MD5 1b96c862a91981a95704c0ebbcdfe0ff
BLAKE2b-256 24b627c2493b86eec0a0da88a27743674370f254b91808658eb01bede1ba66c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b7758faebd1b966cce43554507d4de67ff379b4c4553a585415e472ede5c6278
MD5 30c5e62c3920585f188254712f66356d
BLAKE2b-256 8ce4f802939bcad67ee92285ab26522ed09aea14bedbadce76900beaaa5a5eca

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 27f5ec1ea7c12503c85ee1fb26061884e39fa73b8305d1e1b359615892b8143e
MD5 847468887912c8d056109dd2c998cfc6
BLAKE2b-256 a0e93d87a242a713fed9ed5d1b3796f25c8c581e4a76386a57df2a3569a7ad5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dda4c5a99e6df35f8275102e575f315d26ee027d07c9bf8a17dd4461f20aa663
MD5 cdaf59eb2aa6abe7c2a4b322cc2a04a7
BLAKE2b-256 e211870d03f9e5b1785a41afdbf6f43c9166d3d4928aabd19c2381beeadf3bc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: yantrikdb-0.9.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 12.6 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 yantrikdb-0.9.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cbc2e72ea4c06ea03e648d17140b304631bab203adf812177eaef66f19a0d2a1
MD5 4973298e9af4e744b304949e263d928f
BLAKE2b-256 3ba70be850e098ab08bd48c38df36c6d99167f4bf374c84b9d026468291bfdc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp313-cp313-win_amd64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c7fc2c4bc0083a7eebbd3895c37da077c9aa6af830c52f935f8338d8c22ba5ea
MD5 b356518a4f487e3833c482358c68d28a
BLAKE2b-256 94d97b21b513a6465973dac4c7ceac216f891be709c96fc7eaaa4b503b6c73af

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5d46f036a5bdbaca23094b4776803eb992f7f2a3de1f46db443dbcd9c5a8c551
MD5 496755371e6b69ca23f02cdb7ae8d83e
BLAKE2b-256 6f13c14c69a37111673cc7c5c4f92acec7dd9633e53846e17c215e4f17fb8398

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 15225470726f8ab61812a63586bd1007d77b0c21f30c4a9fb3c54c41d3eda8b9
MD5 7871f6e27205c4b0303f4893661f2236
BLAKE2b-256 686995ff360806d09ce4923f4590b6a8ccd7aa360c78ed1310cbfa2db4b31bc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 314d716e0cb26011290546600f70f0b584faec1a7c407012f8f00aa68e1b76fb
MD5 0e37dc20f56562f72815e62b7f382eeb
BLAKE2b-256 253522d5c09e56af8d6b60b4a73238c9549635785212676bca92dca81d48f35e

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: yantrikdb-0.9.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 12.6 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 yantrikdb-0.9.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 61f5b1124d4532e3ff080ad7e0fd15d62f4302c56a46266de3b8b6745cf89b31
MD5 e8a59db2ddc82768d824c6f495490a9f
BLAKE2b-256 527b570512afc119be5e4685ba89596da6ed41f241f92c6af148bb4de9dd3cf3

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp312-cp312-win_amd64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e503561f7db1f3c1ac76277097fec20ef384087a5ecf3f86083de55e9f7ac5e7
MD5 e32e1ea64d4e860a5eb016d541b18986
BLAKE2b-256 c68581fd6d6c9dc99229ff8bf6b9d04fe57817f7ac6c666f97a6edd693dbd008

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b99eab803a6710522415ab6aa3b6201410644075ca82b5b6b581aa1923849b49
MD5 6575606d1b0f04d81511e19f1e5694a9
BLAKE2b-256 113f22210bbc2ad218c6b7b707bb1f9cd54a3d9854320ce1798e21017efa812b

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 003604976404c2052ee43036b469d085cb2825fc25be6ac0b68a3aa398356406
MD5 115cf6fa44c730949e1e52cd2471be25
BLAKE2b-256 57e4d0fcf88eebcbb31019c98f5928c8df36de6b19e3205f3c3047e4e09a032f

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 57a80408d31170ad9e086f6847f87ae7c03bc10fe767e93999236fc876b14c13
MD5 02e3d313657124433a8134ec7daf737f
BLAKE2b-256 bcda5afda0c487eb8ab7e60f50d02c8c70a50e49b4fca4dba305e10319c69d15

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: yantrikdb-0.9.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 12.6 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 yantrikdb-0.9.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 15864013c11efa7834380670558b6347979d9a0a83cccb403afbc2e708a6ae9e
MD5 02e5586cc4595e010175fc50a564e459
BLAKE2b-256 ded92a77280d8985ab97f7db00eecd0bbb1da87ea76feee2cc191a72974514fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp311-cp311-win_amd64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 29595d46bf4da481040c02bdd14a52008aff5d00dfdba903f8972384c7a00e2c
MD5 082b4c75d1524ee3e1f40bfbdda91178
BLAKE2b-256 340d775707bbe9509b97c2b228d0b5daa8ba0283ab701f5f6434eaf6db619cc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ad33e392b80b69ae5b676f58c526fac9850a5de0a689ff27e1efc619280b36ed
MD5 906ae889ebcb23477c24c63fab90782e
BLAKE2b-256 4912e513ea65e7461389d76d8c3b96160c18e702120795cb80bd694026f711bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 29e019d48a7b304095d091cdcf36e37c357deff62e88b385bed76f9aad49582b
MD5 a546fa90bad7bd400f6772d5987d3410
BLAKE2b-256 754f1a1904301c42b80817bddf23a4aff4dd6aef29cbcfa7c65bf036951302fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fea38fa3fc5dc71cadae44b3fdf797437a24c4321fe5ba88fd74281071a136cc
MD5 beed33adb96b4a50d0a0f5349a3bb18b
BLAKE2b-256 493091b640cf00bb79236210a9ed4d29078e73773fbb8d5769588c367a014c53

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: yantrikdb-0.9.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 12.6 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 yantrikdb-0.9.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 50ac3cf84dd41ad0316d082ec9e2c6040e74b2ffa3c1112cabe75270d495c7b0
MD5 a7fdfae092e9471b4c1559cff59c19be
BLAKE2b-256 ceea50fc60ca4870875261a26b6d869de180c50ea51743b839de79bbcf895bca

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp310-cp310-win_amd64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b21db6018e06f1b4d396014ea1a8edc1e030b483f08c0072c5c703a2d2da0def
MD5 5d72f3089b7c72c6b3c5590c0150943f
BLAKE2b-256 b98691eb4c82f348796cc196d12ba47c0ceb5e387e412dc6a9bbd76734e762be

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b1a7c0d1e6c29a0487af73beb86594f8079ea6a4725883681c6d8f2cd24f9c8c
MD5 2c5be1eb383920076d8174ac8e2cd1f3
BLAKE2b-256 4af5d0215f464e7ca065a4fc54c0d99b1e59db7fb40ca6d363dce109049a50cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0689aef29a21bd76f117b88e92c7cb34d20e1787493c643ca80b00df01a6dd55
MD5 6258a2e8750c6e4199a15cf32d81b0b0
BLAKE2b-256 3eb76806ea1ab07951a2d1f0e4bd42cf452169933b11a1acbb415b43fa8fc9b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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

File details

Details for the file yantrikdb-0.9.1-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.9.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 354901c1a96af8efba8aa34ec7b4cdc72c6553af6f6ef81c33a83ec7ebde58b2
MD5 094d5a27e6d62c872d2a059f35bb5d3a
BLAKE2b-256 4af6c1a7f3b4935a1809b970a695771067fecf397a6301e05b39bdc4ab943454

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.9.1-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: pypi.yml on yantrikos/yantrikdb

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