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.
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 SQL —
record(),recall(),relate(), notSELECT - Living system, not passive store — does work between conversations
- Thread-safe —
Send + Syncwith 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) │
│ └──────────┘ │
└──────────────────────────────────────────────────────┘
- Vector Index (HNSW) — semantic similarity search across memories
- Graph Index — entity relationships, profile aggregation, bridge detection
- Temporal Index — time-aware queries ("what happened Tuesday", "upcoming deadlines")
- Decay Heap — importance scores that degrade over time, like human memory
- 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<Vec> 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<Vec<DeltaEntry>><br/>cap = delta_max (256)")]
D2[("cold<br/>ArcSwap<HnswIndex><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:
- Consolidation — merge similar memories, extract patterns
- Conflict scan — find contradictions across the knowledge base
- Pattern mining — cross-domain discovery ("work stress correlates with health entries")
- 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
- U.S. Patent Application 19/573,392 (March 2026): "Cognitive Memory Database System with Relevance-Conditioned Scoring and Autonomous Knowledge Management"
- Zenodo: YantrikDB: A Cognitive Memory Engine for Persistent AI Systems
Author
Pranab Sarkar — ORCID · 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file yantrikdb-0.7.6.tar.gz.
File metadata
- Download URL: yantrikdb-0.7.6.tar.gz
- Upload date:
- Size: 8.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cec80d39da297249b2d3bc0cca9195fb77eb9d90057eec38ff660cbf8756240f
|
|
| MD5 |
86a60e3cfed0529bf5e468d0333bae5b
|
|
| BLAKE2b-256 |
5644393927be504f809db290f3ecb7b959ef5e7ad46a603771bf0ac397869b95
|
File details
Details for the file yantrikdb-0.7.6-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-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: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3498b39f45eb08a274c8d15be98f652fa53919ceca08f563de437c6d7261c5d5
|
|
| MD5 |
d80c8307308f3c739f3c7f410153961b
|
|
| BLAKE2b-256 |
2634d740befecb214a4ae4eb52a2703b2fab2b056fe34d2eaeb0b3f7004208d3
|
File details
Details for the file yantrikdb-0.7.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 13.4 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
046c5304645eaed222e5ca5916ea9a12506608c3bce27f35384159df62d03124
|
|
| MD5 |
ef8a5cc0f4d13a2aa81bc40342cc09ff
|
|
| BLAKE2b-256 |
6144448591b424607abb772f2619165b5f6adf4086614d00961d89015f81a1e9
|
File details
Details for the file yantrikdb-0.7.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 13.1 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1713f2e6ffbe3b9c02ddb3a0864a0de20d881c06653cf3349730892831f8fb58
|
|
| MD5 |
e5cc48c6bd11b6d40608e7e920152e71
|
|
| BLAKE2b-256 |
a6a4bb9e00fbf38aa30e0622ddbcd80ec04b7db6e1634f03ab300680ce08e3d5
|
File details
Details for the file yantrikdb-0.7.6-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 12.7 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4135c556df2fb18b0c500bbd20285733d218ea003059a1be89ddc7f505b9bdda
|
|
| MD5 |
ec5ac77a269a5376ea3b74df6854d9da
|
|
| BLAKE2b-256 |
6bd5498502dd0d75c909dd3d9f1fa7c759ec2450025378a2171d52e31df12150
|
File details
Details for the file yantrikdb-0.7.6-cp313-cp313-macosx_10_12_x86_64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp313-cp313-macosx_10_12_x86_64.whl
- Upload date:
- Size: 12.9 MB
- Tags: CPython 3.13, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7c6ebac58042d8ec9d4221fb3b590dd4209c8e4f1c6f8d733dc8f14f5fec238
|
|
| MD5 |
81c347650508f17bb0a49a2072026d83
|
|
| BLAKE2b-256 |
4e8a9bcbfe5be14720c057c9eb66a18a90f5900b5064a378e41df6e63e7b7c2c
|
File details
Details for the file yantrikdb-0.7.6-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-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: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61964f9e9745b509f344bdfdbc3319af99f960a7804e11d4308a2ea6fd78aec8
|
|
| MD5 |
2362f3037d4421f93f6542ea266b5878
|
|
| BLAKE2b-256 |
053288d48f4eba6dd67b3177736532c96d89f5935e5a3985aa3537e5d02c8e18
|
File details
Details for the file yantrikdb-0.7.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 13.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf1742ded93bbbbede76bcece2bdf6b2478b5b5198f29c14785a2a26c1581fe5
|
|
| MD5 |
afc9b07135f9775e6138ec2a1ba54c54
|
|
| BLAKE2b-256 |
f7582ab8f708b3262efa87f0137e84c902f64fe93735a31d535c468465bbcded
|
File details
Details for the file yantrikdb-0.7.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 13.1 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f7f710edea646ed984f85492db03941d64494c770dfda68eda2207e455afc08
|
|
| MD5 |
0771e6b9a9d2865277c728ec41148a78
|
|
| BLAKE2b-256 |
6935a0eacbf84dc10dc25002d23a50dc534b29bed766d237627a9623218a23f3
|
File details
Details for the file yantrikdb-0.7.6-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 12.7 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d8ec72eb71000eae6b0d10caa6f72d31f2ca3327ad90ca488bd9d9841a8579b
|
|
| MD5 |
706dce4f207287cc2b6743abadf4363e
|
|
| BLAKE2b-256 |
1b1d0c765fc5573b50efbb66d890f4fd5d28110e09a974fec4c6771096b09e8a
|
File details
Details for the file yantrikdb-0.7.6-cp312-cp312-macosx_10_12_x86_64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp312-cp312-macosx_10_12_x86_64.whl
- Upload date:
- Size: 12.9 MB
- Tags: CPython 3.12, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
323b0137f942e780875f5d84fea76efda8e2ba815a6593f516bb96f73ddf6b94
|
|
| MD5 |
142c924e3824f1fbe5f0fda43f8acb87
|
|
| BLAKE2b-256 |
ad6466dff48a8cbc1268898bd280c301dea54e0135f8a1a8725ae5074cf7044f
|
File details
Details for the file yantrikdb-0.7.6-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-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: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4d9e105321e1b74ff8ade15d318170ed1af7f54cf9e4f25904fc790d686400e
|
|
| MD5 |
42b6fcdb3e1cdbd121aa5e014e92f68d
|
|
| BLAKE2b-256 |
95b0b58bc125dbd0d677016c9f47280836ef40e7d90ac21c9644762945d77702
|
File details
Details for the file yantrikdb-0.7.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 13.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7bbab1552db35c4d2ea9f99c398239f629a12d726d4d391ed1bea0d7acf0796e
|
|
| MD5 |
e8c4aee9df6af570938be0f27d47ad4f
|
|
| BLAKE2b-256 |
e9fc7d016ee8ae257d2b5747d62e9056a3f59786cdf52193145d35bfa6739790
|
File details
Details for the file yantrikdb-0.7.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 13.1 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3248b09cfc027305fa4a974f24d47534e1e5f89133143c7ad83dbf828d501aa4
|
|
| MD5 |
75d6205718cab705bb0c4da75301192f
|
|
| BLAKE2b-256 |
2c842105734c82e9a012feccd859271d16aa447f97cf7ac890d7750c88d92b1e
|
File details
Details for the file yantrikdb-0.7.6-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 12.7 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c86e2fb2b62c342ba2733a33763011d0ce9e55ac256d252c491a24fa1089bf67
|
|
| MD5 |
a67388d1a5c77f2070cbdb6d9a472219
|
|
| BLAKE2b-256 |
07e5db0395d78234f52d30584e2a52d5973e0393cb4470265d5e6c79e92082c1
|
File details
Details for the file yantrikdb-0.7.6-cp311-cp311-macosx_10_12_x86_64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp311-cp311-macosx_10_12_x86_64.whl
- Upload date:
- Size: 13.0 MB
- Tags: CPython 3.11, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29664829386788ac9f8dfb249ce07092548b6709e0be8bc9b313353a7083f003
|
|
| MD5 |
215d583c3613bf9ced09198573db4743
|
|
| BLAKE2b-256 |
c2b4bae7f0d94c3cb57a2b94129257225857fb34959a57d7fc9a183b18fec12a
|
File details
Details for the file yantrikdb-0.7.6-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-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: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59aab8f2e87a30c1718b03db1b413229b741103317b343caeda8b2e2eea379cd
|
|
| MD5 |
4dfc0517393ebfec647a53f12806d73f
|
|
| BLAKE2b-256 |
1dc0b50049702f850923b583be1edf51bc62a0e4780faee34cfa4635f150ac2f
|
File details
Details for the file yantrikdb-0.7.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 13.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93f000558991b175928ad161d06a11dd365607c64fb86ba1ef62c38cc4504cd1
|
|
| MD5 |
ec438a9cc98998560bc4d344ca745f42
|
|
| BLAKE2b-256 |
5b7093f2f9fbc4922c88ff7d377ffc4a4d0af3b4c5fce849b933572dae13005f
|
File details
Details for the file yantrikdb-0.7.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 13.1 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82bcba6f7525843fbd4c3d871e685b4021e709605036904207e66fd30b832e68
|
|
| MD5 |
19a11bb2283add2706919bcb7718bef6
|
|
| BLAKE2b-256 |
d2788a0fd41e530a155fe9e77faf0028173a5f3688221fd2afdfd8a090d168d4
|
File details
Details for the file yantrikdb-0.7.6-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 12.7 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e330136f41f7f95bccdfccc889d090f4f51d18a307786f67392e443019ea936
|
|
| MD5 |
d6db4e164f4752f5f8be33129da7cbdf
|
|
| BLAKE2b-256 |
9dac7838d3d96c565878511eee758598cb2b9a895b382b53a54126fc3a9e25c7
|
File details
Details for the file yantrikdb-0.7.6-cp310-cp310-macosx_10_12_x86_64.whl.
File metadata
- Download URL: yantrikdb-0.7.6-cp310-cp310-macosx_10_12_x86_64.whl
- Upload date:
- Size: 13.0 MB
- Tags: CPython 3.10, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5c4692b80a0880ea2c41635071ab245509fe07526c519bcacd7db4a95cb2b01
|
|
| MD5 |
ddabc99820f35ea66cb98de8f9947e65
|
|
| BLAKE2b-256 |
41c34431a984632e7e0c41a00ed2f6bf5e102fa13fd071e68a8dcebd24e7ad20
|