Skip to main content

A Cognitive Memory Engine for Persistent AI Systems

Project description

YantrikDB — A Cognitive Memory Engine for Persistent AI Systems

The memory engine for AI that actually knows you.

PyPI Crates.io License: AGPL-3.0

Get Started in 60 Seconds

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

pip install yantrikdb-mcp

Add to your MCP client config:

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

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

As a Python library

pip install yantrikdb

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

import yantrikdb

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

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

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

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

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

db.close()

Want higher-quality embeddings?

Three opt-in upgrade paths, in increasing weight:

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

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

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

As a Rust crate

[dependencies]
yantrikdb = "0.7"

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

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

The Problem

Current AI memory is:

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

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

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

Why Not Existing Solutions?

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

Benchmark: Selective Recall vs. File-Based Memory

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

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

Evidence (reproducible)

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

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

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

Architecture

Design Principles

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

Five Indexes, One Engine

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

Decoupled Write Path (v0.6.6+)

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

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

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

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

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

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

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

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

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

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

Cluster Mode (RFC 010 + Phase 6 RYW)

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

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

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

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

Memory Types (Tulving's Taxonomy)

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

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

Key Capabilities

Relevance-Conditioned Scoring

Not just vector similarity. Every recall combines:

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

Weights are tuned automatically from usage patterns.

Conflict Detection & Resolution

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

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

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

Semantic Consolidation

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

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

Proactive Triggers

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

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

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

Multi-Device Sync (CRDT)

Local-first with append-only replication log:

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

Sessions & Temporal Awareness

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

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

Full API

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

Technical Decisions

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

Ecosystem

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

Roadmap

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

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

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

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

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

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

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

cargo run --example showcase_wirecard

Research & Publications

📄 Skill as Memory, Not Document (May 2026)

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

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

Earlier work

Author

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

License

AGPL-3.0. See LICENSE for the full text.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yantrikdb-0.8.0.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.8.0-cp314-cp314-win_amd64.whl (12.5 MB view details)

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

yantrikdb-0.8.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.14macOS 10.12+ x86-64

yantrikdb-0.8.0-cp313-cp313-win_amd64.whl (12.5 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

yantrikdb-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.12+ x86-64

yantrikdb-0.8.0-cp312-cp312-win_amd64.whl (12.5 MB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

yantrikdb-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.12+ x86-64

yantrikdb-0.8.0-cp311-cp311-win_amd64.whl (12.5 MB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

yantrikdb-0.8.0-cp311-cp311-macosx_11_0_arm64.whl (12.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.12+ x86-64

yantrikdb-0.8.0-cp310-cp310-win_amd64.whl (12.5 MB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

yantrikdb-0.8.0-cp310-cp310-macosx_11_0_arm64.whl (12.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: yantrikdb-0.8.0.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.8.0.tar.gz
Algorithm Hash digest
SHA256 93ea3523ad3ab958397864bd5a5e448167ab476cea99945598fa53b301fd7592
MD5 239fa2ff6da4ea279cdd8501a1e7400a
BLAKE2b-256 3f7c950bcd020239ee3b4e4ac8ecbd20f0146eeec1b7b9ccbea3ca9ec043d027

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: yantrikdb-0.8.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 12.5 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.8.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 378f41bd06c34c0781c2efd2543344849d8bbe995de738c0a0022d9e462c92ff
MD5 fba55f04986484a629348592fa84672d
BLAKE2b-256 b422933d02e4535e6aa4194ba2c0d7e7d3f9bfe9a3ed4921c32e6a15848bb8c9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37f25576ded5444f687b8318704b55bd823a94fdcf6305af0059984514d1be74
MD5 d7d262cc0aa79c855f2720894e4f22ee
BLAKE2b-256 f37cf6039890fad53806ff73c6dba38242ceeb8742fdf37c3721aa34a397605c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 981b9ab9380d2c33b15be131b6cf29c68e0235d6f9ce677213829922ac7dc3f2
MD5 af23d54b7812a1cc52527d8fd5f442f5
BLAKE2b-256 5ab567bfba27ff5140cbd9369731df35167decf5c4ed182dee511916aae7468b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a03f3dead45db648b82eaefd0ed15aaed0c6579b8db1ef7de1ffca84c4757b98
MD5 41a01012b80940d2483e55c9263eaf21
BLAKE2b-256 decbab1048ae847f03ed04d46f7b928fddbdc2e4aba1626cf4ecf21e44c3a7d7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ecf45ea0cac3991b9895ad89e9708ffbd102dcd01e414deb206446776880afe1
MD5 2caf54acf47fe092df8412344f615e85
BLAKE2b-256 693d8f6702a9a94fc52df0a0950dbb3719f340ff17ac4360a77f0d38112b94b1

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: yantrikdb-0.8.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 12.5 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.8.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e2173704e0c053073d55a0e2e6e3f37c4a3f0b4acc1aaf74a9c2400802fb2db3
MD5 7c579479bb40f60c7d9ff4af17bc7127
BLAKE2b-256 672039af8413347711e631bbb2eaee28c9b7155b208eeb0009cc129f8f10acde

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 49c10a70a5be99c682236d8ce1e1d76cfec7c175b005c63e949f8fcf89a57c6b
MD5 9c5bf0dee6cb2f5253a0a8425514946f
BLAKE2b-256 34b985edc0ca280163d2bb0e930f92ef17bb7efe1503cdd659a0d0416ba01c51

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 31ba9a068b7951e045b5033dde0372eebed5e8ec3b701b1ad6078affde48bc43
MD5 8d472486f38e76ea660f8c108cacf591
BLAKE2b-256 3e752fd3eb50c97015d40f049a6fff53b0e35540cfc91da2419040be7c56623f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c797d38e834da3665ea89908b02125433800bce253f9c35c9c02ffee192b3c86
MD5 2af335a459a9425fd43fc58621bc5ce5
BLAKE2b-256 e01090699b998719baa43be9e5d3df87f6e21f0e69452075209db061f3e465cf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bf6a24a67f90989daa483d58ebc0ff3ff20ea0946f2bb0bb8f88167e05bed9df
MD5 ffa391dafaa1688c478c149e8c70c033
BLAKE2b-256 ab2761c45220441b49c9e45db7c272149f59c9d696b7f0abad73c85a24d430ea

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: yantrikdb-0.8.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 12.5 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.8.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 455ffd9e6bcd89351304b037dad3cd01f929b6efac01d8ec89449d9db8aa8243
MD5 bb19debef3220d369e5a538df2a3b4d0
BLAKE2b-256 f5871f63a7185b7729a32d4fb9efde5f43e4f767044e6ec4692c0c8c56013205

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e195f5b7a4c413663266970f5aef0cacff395d321cda89a39b6b217fca5ff817
MD5 18a8c5013f6b40e8ab1e417419f77e8f
BLAKE2b-256 7231520cbb6fbeecfbcbc5f5376ff80a6d488940d92cf215871b9300025290eb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 561a9ab610633432f49b4bc190f45d00ab6d38dbb0b8bd08dd53b517e4791a23
MD5 7cc7c0a1c4553e0e89226fd9bdae543d
BLAKE2b-256 3434cdeffcb9c576468ee17c5efcff571dd5318402f59658109478b7ff206365

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e6d22d154bbbe3ebfc66c9d37ad0549fc299fabecbc832b6670647f3b83066ba
MD5 98cef2f8858136f1801c3bcf1d38300e
BLAKE2b-256 cfa061a5e9aecdb5b9c8ad75e1f7998b63e012ff83ce62ad1bc2b8f190cd574d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 099292062f837614e9473d649a5922cd37787aeae19a6a57c4e6fdde6fc3fa14
MD5 ac31b7026df1f610c317acc647422e7b
BLAKE2b-256 43a9bf2ea6cddc353380b58777932824627589a197ff4a545f4d586dc42fd8f9

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: yantrikdb-0.8.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 12.5 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.8.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d2814a7781e519bec2c767f5f968759a353841205236c66a0f0493d4a4facbaf
MD5 4240c2a4eef75490969bf7f911bd6bc3
BLAKE2b-256 e3216a1d235e3fb738e3cff1243f16ee153922551ce46d8ba8950f003355f2c2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 adef7ea74e7c662267d8fc5ceee13d7bc7978ff04b4a00fbcec808ff222febeb
MD5 74f21f2ffd7dabbec92e46a5fd53b391
BLAKE2b-256 f79dbcd6471f62c0f19ae2db04af7b970b369a628c5037e317cfade2fde1bc69

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c056444deef6a353182f8796cae03f876b7e78d5ee22e92feec47b58f001e313
MD5 32768f3755430fdaad52392a9600e4fa
BLAKE2b-256 3d84804995005309a2ea5437e7b17a4820d2ea837fbda0d81a21d9759bb26bad

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b16bbb0a9b1e0704508d9b42f571d28cd62754df7006311d7d56034fd6fdf2d6
MD5 dc3e8728e31d5745729e3862f6f7a505
BLAKE2b-256 6bd118f9239732ff47de08d0c4f863ef09b7026f7b2f6a4fcd3a947bf142e335

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 aa844f120e65188996cbd0881a84b88f8940ff05f6f27b5fb1a47637930cb403
MD5 56746973b5881f5c0946d7d75fd037c9
BLAKE2b-256 edce44c28084778ef186004de7a293c537753bc00cf6b0ba44be9654eccaccbb

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: yantrikdb-0.8.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 12.5 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.8.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 068694009ab8cf662321bbf0be786af787aba64bcc2f71b65c54772b9b5fa09e
MD5 18ed238b15f7cc7973c2b0cb82a03737
BLAKE2b-256 b9f9e0c8d4905c429ed6630027c31a0c8ef82d64e3fe32b2ca6b2d7ec9699192

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 370da7933253b6d5bd1508dc70469d67659eb9926de729a9646ddee79cfa8353
MD5 3ff12dd6e211638915b3caa2e57408e8
BLAKE2b-256 1a767618d3ce36d2ac871250fa5a859e2c8500069731ff0c16006396e95ee04a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4aea2e7a6d3a767d0c4a7a0a8f84b56d5a935d75123e1c9891236fa181530ba7
MD5 ee583e100aff15479e3c55c8160e624e
BLAKE2b-256 84e879942f42d921b4bde026503a11bd7d8ba565b95c6eb12babfc61831b377a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c76e2880e6793f3ce5c1ee7432cf99f4f00ad56d4ff2221852960fde559e8126
MD5 1469adb030625fe46407ff8b5aafa8d1
BLAKE2b-256 fe47955abebc7435525788ddd1401c381e75b1b0f2c09cf34f599b558384d6da

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yantrikdb-0.8.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 46535765b21ed08bc8e83037bd053deef9ce01dbf8e93413849f295f2e25339f
MD5 95a08cb553431c5c9688e4b96091b355
BLAKE2b-256 1952a6e596a265ec1512312eca1019fbb47b125bb79e38fc440bf7811d958437

See more details on using hashes here.

Provenance

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