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.

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

yantrikdb-0.7.12-cp314-cp314-win_amd64.whl (12.3 MB view details)

Uploaded CPython 3.14Windows x86-64

yantrikdb-0.7.12-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

yantrikdb-0.7.12-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

yantrikdb-0.7.12-cp314-cp314-macosx_11_0_arm64.whl (12.7 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

yantrikdb-0.7.12-cp314-cp314-macosx_10_12_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

yantrikdb-0.7.12-cp313-cp313-win_amd64.whl (12.3 MB view details)

Uploaded CPython 3.13Windows x86-64

yantrikdb-0.7.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

yantrikdb-0.7.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

yantrikdb-0.7.12-cp313-cp313-macosx_11_0_arm64.whl (12.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

yantrikdb-0.7.12-cp313-cp313-macosx_10_12_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

yantrikdb-0.7.12-cp312-cp312-win_amd64.whl (12.3 MB view details)

Uploaded CPython 3.12Windows x86-64

yantrikdb-0.7.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

yantrikdb-0.7.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

yantrikdb-0.7.12-cp312-cp312-macosx_11_0_arm64.whl (12.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

yantrikdb-0.7.12-cp312-cp312-macosx_10_12_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

yantrikdb-0.7.12-cp311-cp311-win_amd64.whl (12.3 MB view details)

Uploaded CPython 3.11Windows x86-64

yantrikdb-0.7.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

yantrikdb-0.7.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

yantrikdb-0.7.12-cp311-cp311-macosx_11_0_arm64.whl (12.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

yantrikdb-0.7.12-cp311-cp311-macosx_10_12_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

yantrikdb-0.7.12-cp310-cp310-win_amd64.whl (12.3 MB view details)

Uploaded CPython 3.10Windows x86-64

yantrikdb-0.7.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

yantrikdb-0.7.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

yantrikdb-0.7.12-cp310-cp310-macosx_11_0_arm64.whl (12.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

yantrikdb-0.7.12-cp310-cp310-macosx_10_12_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: yantrikdb-0.7.12-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 12.3 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.7.12-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 7779ec0e58a1dbe2c91febd092f17338eb279eead5e1cff4672bc46ad0432bfd
MD5 71ef78af4a9e5a4aa01a9499b3f9b1bb
BLAKE2b-256 e1a8484e9a74e43d98df694dc1d8d2e15bad95490c85678ae65abd227af9621d

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8f2f5b5c0fefe7032706e82a0d1bdeee1ba7e305c575d6d9d107349e01a1b714
MD5 2383d41a2fb693f1ea3c2c62dddb11cb
BLAKE2b-256 e6b2168c786a81a84f3522b4d33c3e27bc76d5c75084046b4e5de72bebf0f47d

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 39ccd9e0e5f63458e24faf7ee0aefc429041d070a4e8bc48033c77f1a2920b7a
MD5 e4aee8826936917b85ec949c701f7eb4
BLAKE2b-256 1657a2bfe6116cd6ca1fd4d4db9e51ebee521d4c4347333daa085d95ed095325

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 87db256978d139f6ff4c75deea5cd58a4a27a8912e35df9da1db711f45208d3c
MD5 b8c8ba9b85fa5b557b57b565448e3589
BLAKE2b-256 a13219dd5b86b5b20eb721fb5f549636210852dbab5d1fce2a85b8e67af13ccd

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eb457b45f19da551a063bb0a5df772c160ba31107e967217765e38456875cf2f
MD5 7525fd39dc41a1bcb3b76fe76f7fe58a
BLAKE2b-256 ba1bfc21a7baf79a4cfdfdd57066e090e739693a46ddf5c7e8d228cbd2afe990

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: yantrikdb-0.7.12-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 12.3 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.7.12-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f8075096464475042e0d19bb12a5cfc3f653508a1caee08c6b28a15ed29536e9
MD5 24371c7d2051131068d3eb36789b9d8e
BLAKE2b-256 7b5d2337fd0f37f942e779f5c03f32e6fbabe31fbad345df04169b984f1890e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 59b5f70fae91be4da4c271fa2b1fc3d740a584e1569252ed8513ab0455c51bb3
MD5 18ed6dcd681eab17f67d0e966e025930
BLAKE2b-256 18a3ee022402d79b07cd09f4d087280b406196b3c640544699c90dde1c0424cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 76ae730adfd9d7344cb87e2bf07e2b6a9c92d79c9a2dc32c3464713577341005
MD5 61505235a98be03a0c2de58deb3fad8e
BLAKE2b-256 424b484dd59ea95c7e6cf3915fbe96146b70dea12670f62cdf12248e4339e401

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7fdee742608a172c3768d1a102f012eb7471e777910c801068908f92155f0de4
MD5 fca0ceeebba35f593745dba76cee445a
BLAKE2b-256 14f377afb4e95ecaefadfcafa570bdfadbccaf6a5bda8a68e80283b0b7bc0e36

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 00072ff7ccd271549f03155fb42071a9d631a3135cfbfdc61210063802655ff4
MD5 eb7cd3d34bed2b7a77978c0cd2e26f12
BLAKE2b-256 87a43007f1731683c138efd6e4fef884a14541996c58a9fdd1551b576e50be71

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: yantrikdb-0.7.12-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 12.3 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.7.12-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 59a851730c1ba5544de81c08f51f916cc358242a4b9fa5f0b2cf94d6706af83e
MD5 341fac83c99ecbe5a4bb222986b10983
BLAKE2b-256 8b353627cdc6ebf5bc3375ffe5a8fc53e2edac821c66b6d5076ca3657c0b3205

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9220bb6cef57da0b14e649773b7b783b238d33610c87cf51dcca25570b811b63
MD5 173bb972d7e81634b24ca79b0d3b433d
BLAKE2b-256 0759e0b451a6609e51a110fd8f6d0ab2ce8446de204c42f1712217effe314a71

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5f6c6f05dd203ab5a0a60b11241881f8ac688a666d82a7ca1b4bfa0bf8c58f94
MD5 51d7bfa061a0e0fbfcbd5c7e087d6a60
BLAKE2b-256 a5703b5f789d9c920283df8611c55130a00cf32eaf9fea777f9ff5ce4add7dc3

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0048274d53263abb93330b350f290ca014f273b62dba3cc84973c9a2a8f2b157
MD5 8432ff4760a315acba60af779e8603b7
BLAKE2b-256 5c280dc9e1fdb00cf91ab5c733b135e26ab9d8a5bdb2cbfdb66a52673a8ae295

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 78419940f1cf2834cd9e058b75c3693d7010d4031419d3692a7902bb3b1e6b3d
MD5 2c8d201ab5552b999e5637fd2331462b
BLAKE2b-256 5d8f30b1bc3805866164cb9f2ca92eeebff0daf3b4ba2eacc5e3c840d1c4263e

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: yantrikdb-0.7.12-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 12.3 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.7.12-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ef6c30ee0428c47ac5850e7f1e84b57c20e44390b6a7a0a5ce79ec2f0d6a43e7
MD5 364b7cc03e8bf45797d853675e0d947e
BLAKE2b-256 b596cc61ea9c5b5f3889d946a8b629bc4d667786e04f481abd6d314254c023df

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 49263b7940141cd44dd3c6a27488cf40c207ea4de447aa4bd1de33c73fc83e8b
MD5 40906dec00e6037c01f80309f59e2f58
BLAKE2b-256 015b9d60800c56d50010dbd7deaa26bd9e1cbf2ab86d4a833dfd697f47e7bd43

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9ca69c4f59ac4fa7871b336b2cb077912e31656398a6ab070bca517e5b526c1b
MD5 e3a298ed46169669ff80ef7d3f64ee59
BLAKE2b-256 1041cb6b09ec4217ba48c839972b33dff6e3a6619c249148adafef58311656f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bae4c9b96c0e17acea062535080e16fd476b81f089796c7f7c7d9d3751535903
MD5 52c1d5cd4822a1a0cc2abb6346624394
BLAKE2b-256 734d259b5ce081935b00fca1a14cd659075b816c238345ce12357122859be5a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 881cc434ddc38af15a2c5f8ebfbd226a25197431755ad412987775559c19932a
MD5 f3d70933fcdb91de10d3bace3d86bc8e
BLAKE2b-256 b171b2f10ef92b5507e71149295af1fe12bc72b2ddd56cd9851c009d580910d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: yantrikdb-0.7.12-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 12.3 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.7.12-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 213203ecd96e3624c12a3e496f870530ee79b16b4332476befb71877a8165f1b
MD5 158d3c56dc80d594b9ba4b9dd1ddbe54
BLAKE2b-256 045a161349a0e7fc80a324693920ac89a4cc64f37e0bae0b5fedb4afa2365578

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 552c6c31f6b17c958f48d85e7579307ba6d0f551efe4a10dcd4a7f0f3f79c9bd
MD5 37336bf6996770c1593bf8ec59fa3e04
BLAKE2b-256 040c7d74ec5d95698c50de657fa3b9097883e559d111c62fdd8a29af1b73f2fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0b5a8a89343702a01468d2ed8d693c3da271c1724f6181985a3c320ed8be0355
MD5 7647b3285ee069d72aa013e0abcc9833
BLAKE2b-256 7d1f2946df30cd42331d4df759c72d17bb56167ecd2a4a10aac1e7561939e4a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b3e25656d0f9ac610e42ab54a14e06184a690ff3e0d62e66a90eab0970dfa26
MD5 2fa7d10f2b0af311ea07315d21726fe6
BLAKE2b-256 fadcb1b3e3e1b24e6b085fec5f335d338858327421d1314ab894a6d7fe1f7b03

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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.7.12-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for yantrikdb-0.7.12-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1748754b8a6acba9e5ce09121e1e97368853fc771086cc25cd37b0c9c5f97989
MD5 378243576e1909e3ec944d31d04b16df
BLAKE2b-256 ad69c2657e22853eca04ec6a19f83ea9c89fd6e1c5ca4ec012fc13c75726bb9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.12-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