yantrikdb-server

App Listed

YantrikDB database server — multi-tenant cognitive memory with wire protocol, HTTP gateway, replication, auto-failover, and at-rest encryption

Downloads
39
Dependents
Not applicable
Stars
179
Forks
15
Contributors
2
Commits
288
Latest release
0.20.0 ·

About

From the project README ·

YantrikDB

⚠ Correction notice (2026-04-19): Phase 3 benchmark writeups committed earlier today (docs/phase3a/, docs/phase3b/, docs/phase3c/, docs/phase3d/) used a Python simulator for the "structured memory" condition — NOT the actual yantrikdb engine. Rerun with real yantrikdb is in docs/phase3e/. Full audit trail, preliminary corrected numbers, and the exact publication gate for a findings post are in CORRECTIONS.md.

A memory database that forgets, consolidates, and detects contradictions.

Vector databases store memories. They don't manage them. After 10,000 memories, recall quality degrades because there's no consolidation, no forgetting, no conflict resolution. Your AI agent just gets noisier.

YantrikDB is different. It's a cognitive memory engine — embed it, run it as a server, or connect via MCP. It thinks about what it stores.

Shortest path to try it: MCP setup for Claude Code / Cursor / Windsurf → (one pip install, one config block).

The bigger picture: YantrikDB is the memory layer being built on the road to YantrikOS — an AI-native operating system where agents are first-class primitives, not apps on top. Memory was the bottleneck, so we're shipping it first.

Read the full README

📄 New paper (May 2026): Skill as Memory, Not Document — measuring three failure modes when agent skill catalogs scale to 5,000 skills. Code + raw CSVs reproducible in benchmarks/skill_recall/.

YantrikDB demo: storing three facts, recalling them, then think() flagging a contradiction between two memories

99.9% token savings vs file-based memory

MemoriesFile-Based (CLAUDE.md)YantrikDBToken SavingsRecall Precision
1001,770 tokens69 tokens96%66%
5009,807 tokens72 tokens99.3%77%
1,00019,988 tokens72 tokens99.6%84%
5,000101,739 tokens53 tokens99.9%88%

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

Reproduce: the script lives in yantrikdb-mcp, not this repo -- git clone https://github.com/yantrikos/yantrikdb-mcp && cd yantrikdb-mcp && python benchmarks/bench_token_savings.py


Three things no other database does

1. It forgets
db.record("read the SLA doc by Friday", importance=0.4, half_life=86400)  # 1 day
# 24 hours later, this memory's relevance score has decayed
# 7 days later, recall stops surfacing it unless explicitly queried
2. It consolidates
# 20 similar memories about the same meeting
for note in meeting_notes:
    db.record(note, namespace="standup-2026-04-12")

db.think()
# → {"consolidation_count": 5}  # collapsed 20 fragments into 5 canonical memories
3. It detects contradictions
db.record("Acme is based in Boston.")
db.record("Acme is based in Denver.")   # added later, in another conversation

db.think()
# → {"conflicts_found": 1, ...}
db.get_conflicts()
# → [{"kind": "identity_fact", ...}]

Detection runs over the relations the extractor recognises — here a location relation, single-valued at any moment — not over arbitrary sentences. Two limits are worth knowing before you rely on it:

  • Claims are keyed by subject. "Alice is the CEO of Acme" and "Bob is the CEO of Acme" have different subjects with one value each, so nothing compares. The constraint here is inverse-functional — it lives on the object ("CEO of Acme" admits one filler) — and that direction is not modelled.
  • Copular attribute claims are off by default. "The logo is blue" → "The logo is green" needs ThinkConfig.extract_attribute_claims; without it the copular path never runs.

Both are tracked in #95.

Plus: temporal decay with configurable half-life, entity graph with relationship edges, personality derivation from memory patterns, session-aware context surfacing, multi-signal scoring (recency × importance × similarity × graph proximity).


What makes this different

YantrikDB isn't just storage with operations. The engine has a layer that makes agents feel less reactive:

  • Proactive triggers — the system surfaces what needs attention: pending conflicts, decaying important memories, approaching deadlines, patterns across domains. Agents don't have to ask what they should care about. The memory tells them.
  • Derived personality — stable tendencies extracted from memory patterns over time. "This user prefers X, reacts to Y, values Z." Informs default agent behavior across sessions.
  • Procedural memory — strategies that worked before get recorded and reinforced. Agents learn what to do, not just what they know.
  • Temporal awareness — stale surfaces important memories that haven't been touched recently. upcoming surfaces memories with approaching deadlines.

Full cognitive architecture lives in the standalone engine repo. This server repo focuses on deployment, HTTP API, and cluster operations.


Get started in 60 seconds — Claude Code / Cursor / Windsurf

The fastest adoption path. One pip install, one config block, and your agent gets persistent memory that auto-recalls on conversation start, auto-remembers decisions, and flags contradictions — without you prompting it.

pip install yantrikdb-mcp

Add this to your MCP client config — typically ~/.claude.json or .mcp.json in your project for Claude Code, and the equivalent mcp block in settings for Cursor/Windsurf (Claude Code · Cursor · Windsurf):

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

That's it. No env vars. Uses a local SQLite memory file at ~/.yantrikdb/memory.db. First call auto-initializes the schema. Restart your client — the yantrikdb MCP server will show up with 15 memory tools (see below).

Want a shared memory across machines or teammates? Point at a YantrikDB cluster instead of local SQLite:

{
  "mcpServers": {
    "yantrikdb": {
      "command": "yantrikdb-mcp",
      "env": {
        "YANTRIKDB_SERVER_URL": "http://node1:7438,http://node2:7438",
        "YANTRIKDB_TOKEN": "ydb_your_database_token"
      }
    }
  }
}

Want it over HTTP/SSE instead of stdio? (For IDE integrations that don't support stdio MCP servers.)

{
  "mcpServers": {
    "yantrikdb": {
      "type": "sse",
      "url": "http://your-server:8420/sse",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Then start: yantrikdb-mcp --transport sse --port 8420.

The 15 MCP tools your agent gets
Tools
Core memoryremember · recall · forget · correct
Cognitionthink (consolidate + conflict-detect) · memory · trigger (proactive insights)
Knowledge graphgraph (entities + relations) · category
Conflicts & correctionsconflict (list + resolve contradictions)
Timesession · temporal (stale/upcoming queries)
Behaviorprocedure (strategies) · personality (derived traits)
Opsstats (engine health + diagnostics)

Full tool reference and agent-integration patterns: yantrikdb-mcp → · docs


Other ways to use it

As a network server (binary API + HA cluster)
docker run -p 7438:7438 ghcr.io/yantrikos/yantrikdb:latest
curl -X POST http://localhost:7438/v1/remember -d '{"text":"hello"}'

Single Rust binary. HTTP + binary wire protocol. 2-voter + 1-witness HA cluster via Docker Compose or Kubernetes. Per-tenant quotas, Prometheus metrics, AES-256-GCM at-rest encryption, runtime deadlock detection. See docker-compose.cluster.yml and k8s manifests.

As an embedded library (Python or Rust)
pip install yantrikdb
# or
cargo add yantrikdb
import yantrikdb
db = yantrikdb.YantrikDB("memory.db", embedding_dim=384)
db.set_embedder(SentenceTransformer("all-MiniLM-L6-v2"))
db.record("Alice leads engineering", importance=0.8)
db.recall("who leads the team?", top_k=3)
db.think()  # consolidate, detect conflicts, derive personality

Performance

The numbers previously published here (1,689 memories, 112ms recall p50, 76 writes/sec) were from an April-2026 snapshot that didn't trace to any benchmark checked into this repo. They've been removed rather than repeated.

The most recent throughput investigation actually in-repo is a 2-core LXC reliability bench from 2026-05-20 (benchmarks/throughput_2core_lxc/results_2026-05-20.md). It found fresh installs wedging permanently after 256 writes over HTTP, and read throughput collapsing under write load. The fix shipped the same day in v0.19.1's ancestor release (then v0.8.18, see CHANGELOG.md):

Behavior — 2-core LXC, fresh installPre-fixPost-fix (v0.8.18)
Sustained write throughput, HTTP, concurrency 4, pre-computed embeddingslocks at 256 writes381/s
Engine ceiling, direct call (no HTTP), 32 concurrent writersn/a — compactor wasn't spawned1,115/s

That's the newest throughput data checked into the repo — it hasn't been re-run since (the server is 20+ releases past it now), and the read-collapses-under-write-load issue that same bench documented is still open. See benchmarks/ for raw results, harnesses, and caveats across every run; performance work is ongoing.


Status

v0.20.0 — in production use. The embeddable engine has been used in production by the YantrikOS ecosystem since early 2026; the network server runs live on a multi-node Proxmox cluster with multiple tenants.

Since the early alpha line, the server has moved from a raft-lite prototype to openraft-based HA clustering (2-voter + 1-witness), added mounted read-only memory packs (/v1/packs, /v1/pack-context), reached HTTP route parity with the embedded engine (RFC 032), and picked up the engine's claim grounding + temporal validity windows on recalled claims and its more precise entity/relation extraction. As of v0.20.0 it also ships Studio, a built-in admin console at /admin (dashboard, memory browser, query console, conflict review, and cluster ops), embedded in the binary with no separate install. Operational hardening from the original hardening sprint — parking_lot mutexes with runtime deadlock detection, per-handler Prometheus metrics, chaos-tested failover, per-tenant quotas — remains in place and has kept pace release-to-release.

Full per-release detail, including engine-pin changes and test-suite results for each version, is in CHANGELOG.md.

Read the maturity notes: https://yantrikdb.com/server/quickstart/#maturity

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?

SolutionWhat it doesWhat it lacks
Vector DBs (Pinecone, Weaviate)Nearest-neighbor lookupNo decay, no causality, no self-organization
Knowledge Graphs (Neo4j)Structured relationsPoor for fuzzy memory, not adaptive
Memory Frameworks (LangChain, Mem0)Retrieval wrappersNot a memory architecture — just middleware
File-based (CLAUDE.md, memory files)Dump everything into contextO(n) token cost, no relevance filtering
Benchmark: Selective Recall vs. File-Based Memory
MemoriesFile-BasedYantrikDBToken SavingsPrecision
1001,770 tokens69 tokens96%66%
5009,807 tokens72 tokens99.3%77%
1,00019,988 tokens72 tokens99.6%84%
5,000101,739 tokens53 tokens99.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(), not SELECT
  • Living system, not passive store — does work between conversations
  • Thread-safe — Send + 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
Memory Types (Tulving's Taxonomy)
TypeWhat it storesExample
SemanticFacts, knowledge"User is a software engineer at Meta"
EpisodicEvents with context"Had a rough day at work on Feb 20"
ProceduralStrategies, 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

OperationMethods
Corerecord, record_batch, recall, recall_with_response, recall_refine, forget, correct
Knowledge Graphrelate, get_edges, search_entities, entity_profile, relationship_depth, link_memory_entity
Cognitionthink, get_patterns, scan_conflicts, resolve_conflict, derive_personality
Triggersget_pending_triggers, acknowledge_trigger, deliver_trigger, act_on_trigger, dismiss_trigger
Sessionssession_start, session_end, session_history, active_session, session_abandon_stale
Temporalstale, upcoming
Proceduralrecord_procedural, surface_procedural, reinforce_procedural
Lifecyclearchive, hydrate, decay, evict, list_memories, stats
Syncextract_ops_since, apply_ops, get_peer_watermark, set_peer_watermark
Maintenancerebuild_vec_index, rebuild_graph_index, learned_weights

Technical Decisions

DecisionChoiceRationale
Core languageRustMemory safety, no GC, ideal for embedded engines
ArchitectureEmbedded (like SQLite)No server overhead, sub-ms reads, single-tenant
BindingsPython (PyO3), TypeScriptAgent/AI layer integration
StorageSingle file per userPortable, backupable, no infrastructure
SyncCRDTs + append-only logConflict-free for most operations, deterministic
Thread safetyMutex/RwLock, Send+SyncSafe concurrent access from multiple threads
Query interfaceCognitive operations APINot SQL — designed for how agents think

Ecosystem

PackageWhatInstallSource
yantrikdb-mcpMCP server for Claude Code / Cursor / Windsurf — start herepip install yantrikdb-mcpGitHub · PyPI
yantrikdb-clientPython client SDK for the HTTP server (typed memory, reflect, character primitives)pip install yantrikdb-clientGitHub · PyPI
yantrikdb-serverHTTP + wire-protocol server, HA clusterdocker run ghcr.io/yantrikos/yantrikdbGitHub
yantrikdb (Rust)Embedded Rust enginecargo add yantrikdbGitHub
yantrikdb (Python)Python bindings via PyO3pip install yantrikdbGitHub
langchain-yantrikdbLangChain VectorStore + ChatMessageHistory with explainable recallpip install langchain-yantrikdbGitHub · PyPI
yantrikdb-hermes-pluginMemory provider for NousResearch/hermes-agent, with a reproducible recall benchmarkpip install yantrikdb-hermes-pluginGitHub · PyPI
yantrik-memoryFramework-agnostic Python memory layer — traits, bond evolution, knowledge graphpip install yantrik-memoryGitHub · PyPI
openclaw-memory-yantrikdbOpenClaw memory plugin — conflict-aware session briefings, recall with retrieval reasons, auto-captureopenclaw plugins install npm:@yantrikos/openclaw-memory-yantrikdbGitHub

Roadmap

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

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.

Per-query top-K=5 prompt-token cost vs catalog size (log-log). Full-catalog and full-metadata disclosure grow linearly past production context windows; YantrikDB top-K stays constant at ~369 tokens.

A measurement paper on what happens when LLM agent skill catalogs scale. On a 5,000-skill corpus:

  • Token cost: full-catalog disclosure consumes 919,200 tokens (exceeds Claude 3.7's 200K window). YantrikDB's indexed top-K disclosure: 369 tokens, constant in catalog size. The honest ratio against an indexed filesystem baseline is 1.49× — an ablation pinpoints the entire gap as YAML frontmatter overhead.
  • Latency: p50 = 87.3 ms, p95 = 106.3 ms at 5,000-skill scale, single-node.
  • Invalid-skill admission: YantrikDB rejects 70/70 adversarially-malformed skills (0%) at write time; a document-only baseline admits 68/70 (97%).

Three failure modes for filesystem-shaped skill catalogs (token burn, slowdown, invalid-skill admission). One unifying framing: skill catalogs for autonomous learning aren't documents; they're memory.

Code + scripts + raw CSVs are reproducible at benchmarks/skill_recall/. Full deposit (PDF + source + data + scripts) on Zenodo. Companion blog post: yantrikdb.com/papers/skill-substrate.

Earlier work

Author

Pranab Sarkar — ORCID · LinkedIn · developer@pranab.co.in

License

Apache-2.0. See LICENSE for the full text.

The MCP server is MIT-licensed.

Runs on
GPU support unknown
What shows it
  • no dependency or feature matches a backend row
Native code
Required
  • Binds native code: libsqlite3-sys, zstd-sys
Python bindings
No Python binding crate found
License
Apache-2.0

Compare with similar projects

Order: strongest tier first, then most downloads, then name, with unmeasured values last. A library counts downloads over 30 days. An app counts binary downloads per release. An app with none counts its crate downloads over 30 days. ML Rust runs this catalogue, so its closest project always gets a row.

yantrikdb-server beside the projects that share a topic with it
ProjectDownloadsDependentsStarsLatest releaseRuns on (GPU)Native codeLicense
yantrikdb-server This page App Listed

YantrikDB database server — multi-tenant cognitive memory with wire protocol, HTTP gateway, replication, auto-failover, and at-rest encryption

39 binary downloads per release Not applicable 179 0.20.0 GPU support unknown Binds native code: libsqlite3-sys, zstd-sys Apache-2.0
ruvector Listed

High-performance Rust vector database core with HNSW indexing

Also in Build LLM apps and agents.

39,411 downloads over 30 days 51 4,675 2.5.0 CUDA, WebGPU, Metal Binds native code: libsqlite3-sys, napi-sys, ort-sys, pgrx-pg-sys, pqcrypto-internals and 5 more MIT
mentedb Listed

A purpose-built database engine for AI agent memory

Also in Build LLM apps and agents.

1,605 downloads over 30 days 1 124 0.47.1 GPU support unknown No native code found Apache-2.0

[H] HyperspaceDB is a high-performance, vector database. It features 1-bit quantization, async replication, and native support for hierarchical datasets (Lorentz, Poincaré ball & Hybrid models).

Also in Text, embeddings and search.

96 downloads over 30 days 3 163 4.2.0 GPU support unknown Binds native code: ort-sys (feature local-onnx) MIT
nodedb Listed

Local-first, real-time, edge-to-cloud hybrid database for multi-modal workloads

Also in Build LLM apps and agents.

35 downloads over 30 days 3 246 0.6.2 GPU support unknown Binds native code: libz-sys, rdkafka-sys, ring, tikv-jemalloc-sys, zstd-sys BUSL-1.1
oasysdb App Listed Dormant

In-memory vector store with efficient read and write performance for semantic caching and retrieval system. Redis for Semantic Caching.

Also in Text, embeddings and search.

0 binary downloads per release Not applicable 376 Not measured Not measured Apache-2.0
axp App Listed

An open protocol that gives AI agents a secure, sandboxed place to run code and use tools — with lean context usage. AXP works alongside MCP

Also in Build LLM apps and agents.

Not measured Not applicable 3 Not measured Not measured Not measured Apache-2.0
Why ListedNo archive, New or Featured rule places it, so it is Listed.

What it lacks for Featured

  • The check holds no value for Homebrew installs on request over 365 days, Repology repository families, Docker pull growth over 90 days. A gate that lacks its signal does not pass.

What else the check found

  • The last activity is on 28 Oct 2026, 12 days ago. The rules expect an update within 365 days. Dormancy rule

Not measured: Homebrew installs on request over 365 days, Repology repository families, Docker pull growth over 90 days.

Exact rules: Listed, Featured app. The check on applied thresholds version 9.

Every rule outcome, as the check records it
  • expected-interval: app: E = 365 days
  • dormancy: last activity 2026-10-28, 12 days ago, E = 365: active
  • featured: not featured: unknown homebrew_on_request_365d, repology_families, docker_pull_growth_90d
  • listed: listed: no archive, new or featured rule applies
Crates4 crates

Measurements and sources

Each signal row shows the raw value, its source and the fetch date. The Sources list gathers every distinct source on this page. Movement needs more history.

Sources6 sources
Adoption39 binary downloads per release4 not measured
Adoption measurements
SignalValueSourceFetchedCounts
Active dependentsNot measuredYes
New dependents (365 days)Not measuredYes
Peak active dependentsNot measuredYes
Active dependents as a share of the peakNot measuredYes
Binary downloads per release39GitHub releasesYes
MaintenanceLatest human commit: 12 days ago4 not measured
Maintenance measurements
SignalValueSourceFetchedCounts
Latest human commit2026-10-28GitHub repositoryYes
Latest release2026-10-15GitHub releasesYes
First release2026-04-06crates.io database dumpYes
Latest version0.20.0crates.io database dumpNo
Days the oldest outside issue waits for a reply0GitHub repositoryYes
Maintainer replies over 365 days43GitHub repositoryYes
Repository archivedfalseGitHub repositoryYes
Repository gonefalseGitHub repositoryYes
Release commit or manifest in the repotruecrates.io packageNo
Published docsNot measuredYes
Latest release fails cargo checkNot measuredYes
Build check dateNot measuredYes
Build check toolchainNot measuredYes
SecurityNot measured
Security measurements
SignalValueSourceFetchedCounts
Unpatched vulnerabilities past the grace windowNot measuredYes
RustSec unmaintained advisoryNot measuredYes
Deprecation noticeNot measuredYes
Deprecated requirementNot measuredYes
Distribution65 releases, 13 downloads over 30 days6 not measured
Distribution measurements
SignalValueSourceFetchedCounts
Releases65crates.io database dumpNo
Downloads over 30 days13crates.io database dumpNo
Binary downloads over the last 3 releases119GitHub releasesYes
Homebrew installs on request over 365 daysNot measuredYes
Repology repository familiesNot measuredYes
Docker pull growth over 90 daysNot measuredYes
Docker pulls at the growth baselineNot measuredYes
Every version a prereleasefalsecrates.io database dumpYes
Every version 0.0.xfalsecrates.io database dumpYes
Every version yankedNot measuredYes
Crate deleted from crates.ioNot measuredYes
Repository179 stars, 15 forks, 2 contributors, 288 commits. Stars alone never qualify a project.
Repository measurements
SignalValueSourceFetchedCounts
GitHub stars179GitHub repositoryYes — one part of the repository route
GitHub forks15GitHub repositoryYes — one part of the repository route
Contributors with a GitHub account2GitHub contributorsYes — one part of the repository route
Commits on the default branch288GitHub repositoryNo
Repository's main crate left out of the entrynonecrates.io database dumpYes
Facts that never count
Facts that never count measurements
SignalValueSourceFetchedCounts
LicenseApache-2.0crates.io database dumpNo
Runs on, from listed crates and their direct dependenciesGPU support unknowncrates.io database dumpNo
What shows each backendno dependency or feature matches a backend rowcrates.io database dumpNo
Native code, from listed crates and their dependenciesBinds native code: libsqlite3-sys, zstd-syscrates.io database dumpNo
Python bindings, from direct dependencies of listed cratesNo Python binding crate foundcrates.io database dumpNo
Crates that depend on a listed crate directlyNot measuredNo

Corrections and review history

Report a correction

No correction applies to this entry.

Judgments

A judgment enters only through an approved issue and a merged pull request.

No judgment applies to this entry.