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 Distribution

yantrikdb-0.7.11.tar.gz (8.2 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.7.11-cp314-cp314-win_amd64.whl (12.3 MB view details)

Uploaded CPython 3.14Windows x86-64

yantrikdb-0.7.11-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.11-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.11-cp314-cp314-macosx_11_0_arm64.whl (12.7 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.14macOS 10.12+ x86-64

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

Uploaded CPython 3.13Windows x86-64

yantrikdb-0.7.11-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.11-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.11-cp313-cp313-macosx_11_0_arm64.whl (12.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

yantrikdb-0.7.11-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.11-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.11-cp312-cp312-macosx_11_0_arm64.whl (12.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.12+ x86-64

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

Uploaded CPython 3.11Windows x86-64

yantrikdb-0.7.11-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.11-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.11-cp311-cp311-macosx_11_0_arm64.whl (12.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.12+ x86-64

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

Uploaded CPython 3.10Windows x86-64

yantrikdb-0.7.11-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.11-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.11-cp310-cp310-macosx_11_0_arm64.whl (12.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

yantrikdb-0.7.11-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.11.tar.gz.

File metadata

  • Download URL: yantrikdb-0.7.11.tar.gz
  • Upload date:
  • Size: 8.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.13.3

File hashes

Hashes for yantrikdb-0.7.11.tar.gz
Algorithm Hash digest
SHA256 f9ae6466d8a76cd3c3cd2d58f105a206fc0501ce4c2bfae92277052642d91d64
MD5 f797acf61e7f673a96f1a050b24cacf5
BLAKE2b-256 c14048685b999d8814c35430562ed6e810db9e28542a30a46b93db0a79870c73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3c9dfec2a97f892ab326eb6448624dd98354df16df4c6cc8c3065e51d0a0129a
MD5 14120743bbe15417ccf0c2d00a698366
BLAKE2b-256 fb9d2f6437ada11f7de82081a57b7faa1e5503bd1fa658916228917f49b3b1d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 147f810a625a03f8064aa86daf458d785bdffa03a48c63b52dcbc453a541a8dc
MD5 2d90ee0a4ac8bd6ae1f9be2617bd0142
BLAKE2b-256 fcdb12133cbd101611c40692ea5b2ac88dc45c63f4841b05c94293d95e5cf656

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 161f60b951f427841a46a53c34c5a181b87c33eed62089569b35105f23ab6266
MD5 41f58dafc4a2460056a700fb82494f62
BLAKE2b-256 c9dbdd72a622fab7ccc1e65f2b8bbfdded2355cb8e2676c30d622d4c8d088f48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d13c613e50d05ab9a2a26757e5600bc678c579090b0935c1641d18affd3731c3
MD5 4c06908880e41612fe86c971f6d6c340
BLAKE2b-256 ff0f8a8f9b7fcd5d56aeef5e2e999472689e07c8b9289425946bee35eae64856

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9771c801b9bce7920134c88b588ddbcc322409b72251f3a907e6bd46fd5e5522
MD5 54a3226d66b38032bb052c68b4addf29
BLAKE2b-256 449236dfa1182384ca8713541d30c4c311c4aade57edafa773cf17981c0756d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f65bafec5b8d77b38a99d53c63fb74ee1362726ce1854041d86a11134635447a
MD5 d563fe8fd4c1bf7a048d05be27b3e62e
BLAKE2b-256 b1bdeb9650a6b114236db026e751e6a8e64664c01632d671e34e42283e457194

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7db946d1de60183c62ba98bf91bafaa3e51871178f7ff72194369ec40e09b2bb
MD5 d18160580e4dd5480168ec95ad20ffd0
BLAKE2b-256 382a80e0eee6dd905ccb90f5ef8020d11d95a2023564397c6091fd834aaa1c61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 09f0f2e78cdd653e348b80084310e45591ddebd4e53f2d4ee406c8c9a3390572
MD5 94b1580903a58d922160c7db17a84f61
BLAKE2b-256 e2d381fdd266860eafc6ce7b6b8aacb2f0cbe931695c791189cb7d99b3716633

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c8d57c1b559bcbdfe3d74ff7d481fda0d624c4eda5bb0b12a29e8ab0ab0d0e82
MD5 55db018b54a3bf0c463bd11f5de2babb
BLAKE2b-256 e8bb28910012e1166aa1b7943798651f5522c095e3320ae9ba140f8917a799d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 df3901a364b70734838528c50c8cb7352b8d04a43459016daddefbe313bce30a
MD5 fbba106dafd929548ede8aab8b759386
BLAKE2b-256 669930c072b6b89406e66841db2525c05885e20a9b275d9e397912fd972a1c38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3faf52d4596df6b57fd877e7a98879a4ade236aa5e1afd99a9474105df45e8b4
MD5 de2b0e4e48235309ff72f6ab91ebeaf7
BLAKE2b-256 73d9ce0270b1ea2914ffd72871aafaae6b059586b11df6b6e6a505c831c2b3e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1fecc60000a8e859bfedc9e6d83666e24de9a8bac97606eb878f8c1d20b4cc3d
MD5 e2563b4b81d496c98284ae724c03213d
BLAKE2b-256 d161aa14e66f97f9fce52cf7803a778021adc728a3f4919993c94f70388ed070

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1a9e43e8ab3869e7a42c9663ce9b83bf19249bb7d019d4f337449f0c73d6e8a1
MD5 d6cc505c55ca3bfaa261834d7b47f1af
BLAKE2b-256 66502f4f4c3bdee613654c7d17675427e52560965461630948be1131287cb7f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 32050dfb83107e25cd7a70d02ceae6df26747105c9c8cd9ab666cc6108546f6e
MD5 9aee0b7d8959d952a14d6653fea3d790
BLAKE2b-256 58b05bac9ec3e371ef2754b7d6e73ab4d5b1c958f97cacbe887d6fb68a48db8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0235262f1dc03f786271d5c71d2c0a75a3f7b84cd6871f97ea75bbeeb27354ff
MD5 c9c06f449e8e1d4ef17c9b6c20059edd
BLAKE2b-256 3073aaa3466a16bd11c2e06bc000c2f038958d96a482a972ec99d80ac157380b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2215b2a260d49c55d7680f75e4a158158fa7fb19fc7a71898e7fb04b4d6e71fe
MD5 f48934021839c698bc92c654feec29d7
BLAKE2b-256 07d59775ab8b477d771bc00117b891d8ce857b94c678b06480ff439824500aea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e0d2843a8679e3ba2fa190e863bd7f7119f6b4d67d86e98c051540bcf8d1fe74
MD5 89b50f310d01b81a8081d79eeff102a0
BLAKE2b-256 2db670da589a7b7ba5670206f0d1fe84bbb29b89a1c977fad13237b5de22fda0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8b031fad18c8eef6b9f9591cc56dba12d844fc35388f609ae4e9acda4fd18d73
MD5 f4590666e1c86501babbc369f33c6f21
BLAKE2b-256 92a5134b5806e249d9ce6aa22dcdb54aa5c5fc452beb31a2c4e35f0d387fb5bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f1b1d421b71a1c14f2c86620c9ede8e344df7e7955e11d291baf29aea8ffed2
MD5 e2c4226e69e480032b0496588b2fdf21
BLAKE2b-256 a968784970931eca12bec20fd6e642df9480f2298e37ea3d9df1ce75d9be856e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fb9c2a799b57bacbe39bbcb3a75af607ffe4541e6d6015b0c3d40dca1fd6934c
MD5 ef8d287152bb24bc9faf2ffe5e4ff0ab
BLAKE2b-256 26c6a9f9e3c023c44a5c3e32bc3644ee2d47f75f9fd9b4a8db1bf5acf152b925

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5a39d341af5c77deab9ffd85398117d1c7e53c7a081a1270c4ac990c1374b391
MD5 654068d88744d263f1e6e91effba19e1
BLAKE2b-256 fc3432cb35f6943abdc44f1300e7a5ea3e9da9f4262a36f77fd1d3653c7ebe20

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fdfd8a083ec7c83ee0e4ebe3e6f5e053bd3fa0f13d57408f8cd0ebaf53876637
MD5 1cdfa67089f107ae7f59ba4091749523
BLAKE2b-256 722d0d61bf5dbe483c6667f7741c4d81bc151b467e8b490a8fe09fcfb4f14d85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 571afb7458624f040fc96a226072d226eab363263a184caf3077828fa6106306
MD5 bf2af57265b891ae03fd6380250226a9
BLAKE2b-256 dc6cf8ac38d47d5b99dc5ad7fce91ceeefa00e7850f1e032ef8904dc8ea61f61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0751fca250061d0021a3009edfd6ca13f7f6b21992b6369c951f55250f12564f
MD5 0b397f24b377912456b4a2e4ae6e895d
BLAKE2b-256 ee223d28674a07f7791dbd26c6623a38c8337c42587fe0d7fad1699077751e36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yantrikdb-0.7.11-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 45db8b6bfe6cf4f089164c8bfbf74e1a4b756fb761a2a9153765add21d69d3f1
MD5 ffd97e26a0b75c11a6beea7b6c9489f7
BLAKE2b-256 4e5c3897d226a047a74c13b9368512dd3728629ddb5ffc16dda164a9df22b017

See more details on using hashes here.

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