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.20.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.7.20-cp314-cp314-win_amd64.whl (12.3 MB view details)

Uploaded CPython 3.14Windows x86-64

yantrikdb-0.7.20-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

yantrikdb-0.7.20-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

yantrikdb-0.7.20-cp314-cp314-macosx_10_12_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

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

Uploaded CPython 3.13Windows x86-64

yantrikdb-0.7.20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

yantrikdb-0.7.20-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

yantrikdb-0.7.20-cp313-cp313-macosx_10_12_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

yantrikdb-0.7.20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

yantrikdb-0.7.20-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

yantrikdb-0.7.20-cp312-cp312-macosx_10_12_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

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

Uploaded CPython 3.11Windows x86-64

yantrikdb-0.7.20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

yantrikdb-0.7.20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.12+ x86-64

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

Uploaded CPython 3.10Windows x86-64

yantrikdb-0.7.20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

yantrikdb-0.7.20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

yantrikdb-0.7.20-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.20.tar.gz.

File metadata

  • Download URL: yantrikdb-0.7.20.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.7.20.tar.gz
Algorithm Hash digest
SHA256 65de60f157bc4ce021a602d0d01eb25f3e1089f663e08869d0afcf68a170b918
MD5 e45bc9331803b5fcff3e18b6679769e5
BLAKE2b-256 56ae3b4b06afbfa10f7b6fbb715a72b210a3950776e3ca88192a5f9bef838381

See more details on using hashes here.

Provenance

The following attestation bundles were made for yantrikdb-0.7.20.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.7.20-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: yantrikdb-0.7.20-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.20-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b6591f84d76253142cbe78e0296271414402959db9d7b3b9d9d255cf9082f776
MD5 170f62b89a5f576787712f31218cabef
BLAKE2b-256 bffc0b02660c0469d384a096a1c94dd750741bbaacd6889b8bed4fb49c714b3e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c4ad5429beef0838dc22f86b757ec475adc865a90503be44eba417bd1de9feda
MD5 fc5177c88da703511294674c941ae5fc
BLAKE2b-256 b4e08d7477ad27f27463c9432b2b2d9d3842aa8e58a881ce2f49d230e5eac412

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0f52ce092d48fe14faae0a6932daa056afb727772cbfdceeb125081c7b212e88
MD5 e5fc662a6e1832c139ec5c44042210e6
BLAKE2b-256 a67e95e7842f4561c43577fd6cdaa30e867bad1258d1cd246b4e379346fe0fbe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25c7b69414c8fe6f6c1c16befdd34a40a170bab15c60a3b302dd05c5c80d1c90
MD5 232097fe3af9384ab5702eb397f5cbdb
BLAKE2b-256 89c75d96a9fc6bf62e98aeeaa4eda6fcd7a3d26789aeb8e561dd6fe7b6be3019

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6a5af14ac6e9b0c782b9db3226a567b4ac1e5ee961c9c6e2f01610af4cc843a5
MD5 429cf647194de54f125f01edc099d4a8
BLAKE2b-256 2955c5377a35ff2a7b7f6bef4f957ae5ee565639ba6eb0e4e09179196ea1628c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: yantrikdb-0.7.20-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.20-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ed52e1eb69e7af146dafe8900bcae047c819c3772373941cc259f3ce9f6a89ed
MD5 bb5065dbbbc52e9d02d331ed576c8d8e
BLAKE2b-256 f9c264b7d3f1f285d2ba8e00e30ea4cc0dbda61495272fbbe76d090902eed0f3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 06210a1dbb3a13c589af063de831d23c6f34bb31bb0c3b24216f78f0ae16f26f
MD5 9a9dc28d58a2fe4b226ef411eb3fc83e
BLAKE2b-256 3cf7fe4527c92d196a583420be85b10a0412d6850423e3bbc6a7576195e3a1eb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e07f8c35213be80d6ab7f2d2c71b16e9f25c1b01eca6c432d0d8499251a205c8
MD5 f39bbaa08105d2abd9beb3bdc246eebe
BLAKE2b-256 7f4d192ae71af7fa72799e193ce7130160eb85609bfebed9f5f779399103ac26

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ba4c1c019ea0e3eebb86e0b9ee38a6ca9be8aad6461d9e08d662006b0df9e96
MD5 d8e5f892d3f4fb194fa981109e60be01
BLAKE2b-256 d28e6ce88fd15ee77627f8e4ca56c619c7b9855b9280e8de3e1841518cb50bb3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8e2cca403882914135203e47c12668715cd217000eb6986653247580a3bff699
MD5 d2791c54d0262e3c4c37175d0a810bfd
BLAKE2b-256 2a8dce6f44067e26cf9cb4e302b25bd33d24d259145ec3a88205ed528d2564f2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: yantrikdb-0.7.20-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.20-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ab1eeae73c66ff6659771fd979eebdeeb67c74ca7bb5bd2e690c9882236e019d
MD5 238de657487df450df108037d6a4cda7
BLAKE2b-256 c34385e753c79cd4354107f8e26e0271eafb5b0efc6fa1c5e15a676881291e6a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3777a5420512bd42da241d89db89524169e35b0a0cb37fe8ab3590bdedd75e02
MD5 93565379576e3263c2f00292319e7a66
BLAKE2b-256 a6163c361feace950de699e089955950938bc06c6fb8a86647be449c6e6e8ac9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b66bcb80231427ac76a6fdb06795cbc206901aa769ca65e7d2c936481dd143a4
MD5 200ca2708a356e8139f9a8e735c48322
BLAKE2b-256 4ec9bdd147a989ccb214edac199d85dad53774a86e3691309b746144d5f450fb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ff2a15f7b5095c080a3660c631e4ae77949fd6716104f3ecc2c0fc7655b83c32
MD5 3dd8e974009773f63d78bb23a0e35a82
BLAKE2b-256 910a939773f63208f664b93853ad182eaf5e8f2a200f96278645c14273d2b989

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e2117460990f922dfc0cdb8af9743d9e8e464889370582974498debf77976139
MD5 1227b5cfc00cd76941ecf445d5a587f5
BLAKE2b-256 f94ba843cea06d25ad5a3af2aaff2fd6ac898f2d217a570f95649a231b0f919a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: yantrikdb-0.7.20-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.20-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 500a5c6bc18664fd35b9691284bee2dbe3fc0b1d23677bf6033e3122313a327a
MD5 5b7888d30b3fba31a152c52e816d32d9
BLAKE2b-256 16f193f5d496127772fc00be68796e9f0e9284659833b3e5af972e354fe4f14f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c1d1123e8f4c4ebad0f6e53276e2f708a0fe89af9db5c70c287e9851abf79588
MD5 913ca3a4f943cc56b6cd25de34db558d
BLAKE2b-256 ec587620419352f5e1ecaa30dd1456c5f9767fa6b3690eacec2c02a38f31f71c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9751e9a19798e7cd775e08ef92f80e2baeec733f7598e0a8b85ce6453d5500d8
MD5 82b73a7225a8983ff82835bdac5ebcb6
BLAKE2b-256 854fea95d0ae2f8b718ce539f8fbf272e51694c15bb1adc5661d58351acb4325

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cb80261abdb7d4562d3a7c111f6d921a5bd21f0242be5938087fd70523dade94
MD5 39531034df8f52200b5728df5ca4dbe4
BLAKE2b-256 2f7ab2d3934c8fc4674349a63c9229754cbf17b1607b12c83d3a28418e02ebf4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7008b0548aa62029e49a33295cad04c3f4da22271b4f443b56c8888e697afb92
MD5 afef39542013b6ad84196bf950c883fb
BLAKE2b-256 8620cb9dc64b2abf9b93c7ace19e307ba40fef0189d0e24a1cb542d103df615a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: yantrikdb-0.7.20-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.20-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6b3cf7eb6e19522258088ca975db68d12b3f2ff98a868f9767d89ea698215013
MD5 f6199aa8f1c13cb216ede56e080d5520
BLAKE2b-256 71cf6e1057439d3de61118a71db69fe9d266d0041ea9d7e33591163cb79789c3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c1dd4348da47b820eb93b1218dd8974d4fa021bb47f95336f9baf383e158c74a
MD5 afbab7527a5ae007bedbb13aeaaa5644
BLAKE2b-256 17ecfa295b7979bbaeab9f59bc4e8afcaf067854d4c9e3fef97d081a8a30a9f7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5b50d86f6b42069b823c3d78028039101d1c0e00b3dab882f542a9fe79531d59
MD5 2a7945886b1bf5aba6666c16b609ba57
BLAKE2b-256 050c9bf9bf732a9badcdd6c90820413f02b5b0aed70aea0f75d11df00aced5f9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 be1b3e9eb00e51502ed3fe8fd1aa3508ab2821f8aae870dc3961a5ea4a44d32c
MD5 6424830035a1ee698fef177d70a539bb
BLAKE2b-256 ae4c8e571274fd896cf5f802461db71b80e03e4517f211a3eb80f288b2f0e248

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.7.20-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5414ab3022cf390d6ad13a067dfc523245d5ac1bf40d28ebcf4747ea32bab160
MD5 4851142b9319e1c9f47612f739485593
BLAKE2b-256 c9934daa02094acb22e303280918d40fe93b97d09c38673c7e52b591fe2837ce

See more details on using hashes here.

Provenance

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