memtrust-cli 0.3.0__tar.gz → 0.3.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. memtrust_cli-0.3.2/.gitignore +34 -0
  2. memtrust_cli-0.3.0/README.md → memtrust_cli-0.3.2/PKG-INFO +125 -5
  3. memtrust_cli-0.3.0/PKG-INFO → memtrust_cli-0.3.2/README.md +80 -50
  4. memtrust_cli-0.3.2/docs/demo.gif +0 -0
  5. memtrust_cli-0.3.2/docs/usage.gif +0 -0
  6. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/memtrust-cli/package.json +1 -1
  7. memtrust_cli-0.3.2/npm/platforms/@memtrust-cli-darwin-arm64/README.md +25 -0
  8. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/platforms/@memtrust-cli-darwin-arm64/package.json +1 -1
  9. memtrust_cli-0.3.2/npm/platforms/@memtrust-cli-darwin-x64/README.md +25 -0
  10. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/platforms/@memtrust-cli-darwin-x64/package.json +1 -1
  11. memtrust_cli-0.3.2/npm/platforms/@memtrust-cli-linux-arm64/README.md +25 -0
  12. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/platforms/@memtrust-cli-linux-arm64/package.json +1 -1
  13. memtrust_cli-0.3.2/npm/platforms/@memtrust-cli-linux-x64/README.md +25 -0
  14. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/platforms/@memtrust-cli-linux-x64/package.json +1 -1
  15. memtrust_cli-0.3.2/npm/platforms/@memtrust-cli-win32-arm64/README.md +25 -0
  16. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/platforms/@memtrust-cli-win32-arm64/package.json +1 -1
  17. memtrust_cli-0.3.2/npm/platforms/@memtrust-cli-win32-x64/README.md +25 -0
  18. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/platforms/@memtrust-cli-win32-x64/package.json +1 -1
  19. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/pyproject.toml +20 -4
  20. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/__init__.py +1 -1
  21. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/adapters/mem0_direct_adapter.py +53 -0
  22. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/cli.py +36 -0
  23. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/test_cli.py +46 -0
  24. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/test_mem0_direct_adapter.py +48 -0
  25. memtrust_cli-0.3.0/.gitignore +0 -28
  26. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/.github/CODEOWNERS +0 -0
  27. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/.github/workflows/ci.yml +0 -0
  28. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/.github/workflows/publish-pypi.yml +0 -0
  29. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/.pre-commit-config.yaml +0 -0
  30. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/CHANGELOG.md +0 -0
  31. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/CONTRIBUTING.md +0 -0
  32. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/LICENSE +0 -0
  33. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/SECURITY.md +0 -0
  34. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/docs/assets/dev-to-demos/demo-1-zero-credentials.gif +0 -0
  35. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/docs/assets/dev-to-demos/demo-2-fictional-api-discovery.gif +0 -0
  36. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/docs/assets/dev-to-demos/demo-3-cli-surface.gif +0 -0
  37. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/docs/assets/dev-to-demos/demo-4-temporal-kg-tests.gif +0 -0
  38. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/docs/methodology.md +0 -0
  39. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/leaderboard/data.json +0 -0
  40. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/leaderboard/index.html +0 -0
  41. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/memtrust-cli/LICENSE +0 -0
  42. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/memtrust-cli/README.md +0 -0
  43. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/memtrust-cli/bin/memtrust.js +0 -0
  44. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/platforms/@memtrust-cli-darwin-arm64/LICENSE +0 -0
  45. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/platforms/@memtrust-cli-darwin-x64/LICENSE +0 -0
  46. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/platforms/@memtrust-cli-linux-arm64/LICENSE +0 -0
  47. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/platforms/@memtrust-cli-linux-x64/LICENSE +0 -0
  48. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/platforms/@memtrust-cli-win32-arm64/LICENSE +0 -0
  49. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/platforms/@memtrust-cli-win32-x64/LICENSE +0 -0
  50. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/npm/scripts/fetch-binary.js +0 -0
  51. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/adapters/__init__.py +0 -0
  52. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/adapters/base.py +0 -0
  53. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/adapters/mem0_adapter.py +0 -0
  54. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/adapters/mempalace_adapter.py +0 -0
  55. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/adapters/openviking_adapter.py +0 -0
  56. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/adapters/zep_graphiti_adapter.py +0 -0
  57. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/adapters/zep_graphiti_selfhosted_adapter.py +0 -0
  58. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/__init__.py +0 -0
  59. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/compression.py +0 -0
  60. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/contradiction.py +0 -0
  61. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/crash_recovery.py +0 -0
  62. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/embedder_cost.py +0 -0
  63. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/embedding_drift.py +0 -0
  64. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/episode_temporal_leak.py +0 -0
  65. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/extraction_quality.py +0 -0
  66. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/filter_injection.py +0 -0
  67. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/language_degradation.py +0 -0
  68. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/lock_contention.py +0 -0
  69. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/locomo.py +0 -0
  70. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/longmemeval.py +0 -0
  71. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/mempalace_metadata_scale.py +0 -0
  72. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/migration_rollback.py +0 -0
  73. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/orphan_cleanup.py +0 -0
  74. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/ranking_quality.py +0 -0
  75. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/resource_sync_safety.py +0 -0
  76. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/result_consistency.py +0 -0
  77. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/scale_fixtures.py +0 -0
  78. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/scale_stress.py +0 -0
  79. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/stats_accuracy.py +0 -0
  80. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/evals/temporal_kg_boundary.py +0 -0
  81. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/receipt.py +0 -0
  82. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/scoring/__init__.py +0 -0
  83. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/scoring/cost_tracker.py +0 -0
  84. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/src/memtrust/scoring/llm_judge.py +0 -0
  85. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/fixtures/compression_cases.json +0 -0
  86. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/fixtures/contradiction_cases.json +0 -0
  87. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/fixtures/crash_recovery_cases.json +0 -0
  88. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/fixtures/embedding_drift_cases.json +0 -0
  89. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/fixtures/extraction_quality_cases.json +0 -0
  90. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/fixtures/filter_injection_cases.json +0 -0
  91. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/fixtures/language_degradation_cases.json +0 -0
  92. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/fixtures/locomo_sample.json +0 -0
  93. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/fixtures/longmemeval_sample.json +0 -0
  94. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/fixtures/migration_rollback_cases.json +0 -0
  95. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/fixtures/orphan_cleanup_cases.json +0 -0
  96. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/fixtures/ranking_quality_cases.json +0 -0
  97. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/fixtures/resource_sync_cases.json +0 -0
  98. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/fixtures/result_consistency_cases.json +0 -0
  99. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/test_adapters.py +0 -0
  100. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/test_compression.py +0 -0
  101. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/test_episode_temporal_leak.py +0 -0
  102. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/test_evals.py +0 -0
  103. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/test_lock_contention.py +0 -0
  104. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/test_mempalace_metadata_scale.py +0 -0
  105. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/test_receipt.py +0 -0
  106. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/test_scale_stress.py +0 -0
  107. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/test_scoring.py +0 -0
  108. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/test_stats_accuracy.py +0 -0
  109. {memtrust_cli-0.3.0 → memtrust_cli-0.3.2}/tests/test_temporal_kg_boundary.py +0 -0
@@ -0,0 +1,34 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *.egg-info/
4
+ .eggs/
5
+ build/
6
+ dist/
7
+ .venv/
8
+ venv/
9
+ .env
10
+ .env.*
11
+ !.env.example
12
+ .pytest_cache/
13
+ .mypy_cache/
14
+ .ruff_cache/
15
+ .coverage
16
+ .coverage.*
17
+ htmlcov/
18
+ coverage.xml
19
+ *.log
20
+ .DS_Store
21
+ results/*/
22
+ !results/.gitkeep
23
+ node_modules/
24
+ .idea/
25
+ .vscode/
26
+ .claude/
27
+ uv.lock
28
+ memtrust-report-*.json
29
+
30
+ # Locally-downloaded uv binaries staged into the npm platform packages
31
+ # before `npm publish` -- real binaries, ~50-70MB each across 6 platforms,
32
+ # never meant to be committed or swept into the Python sdist. See
33
+ # npm/platforms/*/README.md for how each one is populated at publish time.
34
+ npm/platforms/*/bin/
@@ -1,3 +1,48 @@
1
+ Metadata-Version: 2.4
2
+ Name: memtrust-cli
3
+ Version: 0.3.2
4
+ Summary: Independent, reproducible benchmark harness for agent-memory backends (MemPalace, Mem0, Zep/Graphiti, OpenViking): runs LongMemEval, LoCoMo, contradiction-detection, and a dozen other evals against all four and publishes the raw logs, not vendor-curated numbers.
5
+ Project-URL: Homepage, https://github.com/RudrenduPaul/memtrust
6
+ Project-URL: Issues, https://github.com/RudrenduPaul/memtrust/issues
7
+ Project-URL: Author - Rudrendu Paul, https://github.com/RudrenduPaul
8
+ Project-URL: Author - Sourav Nandy, https://github.com/Sourav-nandy-ai
9
+ Author: Rudrendu Paul, Sourav Nandy
10
+ License: Apache-2.0
11
+ License-File: LICENSE
12
+ Keywords: agent-memory,ai-agents,benchmark,contradiction-detection,graphiti,llm-eval,llm-memory,locomo,longmemeval,mem0,memory-backend,mempalace,reproducible-benchmark,zep
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: Apache Software License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Software Development :: Testing
21
+ Requires-Python: >=3.11
22
+ Requires-Dist: click<9.0,>=8.1.7
23
+ Requires-Dist: cryptography<49.0,>=48.0.1
24
+ Requires-Dist: httpx<1.0,>=0.27.0
25
+ Requires-Dist: rich<14.0,>=13.7.1
26
+ Provides-Extra: dev
27
+ Requires-Dist: mypy<2.0,>=1.10.0; extra == 'dev'
28
+ Requires-Dist: pip-audit<3.0,>=2.7.3; extra == 'dev'
29
+ Requires-Dist: pytest-cov<6.0,>=5.0.0; extra == 'dev'
30
+ Requires-Dist: pytest-httpx<1.0,>=0.36.2; extra == 'dev'
31
+ Requires-Dist: pytest<10.0,>=9.0.3; extra == 'dev'
32
+ Requires-Dist: ruff>=0.5.0; extra == 'dev'
33
+ Provides-Extra: mem0-direct
34
+ Requires-Dist: boto3<2.0,>=1.34.0; extra == 'mem0-direct'
35
+ Requires-Dist: elasticsearch<9.0,>=8.0.0; extra == 'mem0-direct'
36
+ Requires-Dist: fastembed<1.0,>=0.3.1; extra == 'mem0-direct'
37
+ Requires-Dist: google-genai<2.0,>=1.0.0; extra == 'mem0-direct'
38
+ Requires-Dist: mem0ai<3.0,>=2.0.12; extra == 'mem0-direct'
39
+ Requires-Dist: redis<6.0,>=5.0.0; extra == 'mem0-direct'
40
+ Requires-Dist: redisvl<1.0,>=0.3.0; extra == 'mem0-direct'
41
+ Requires-Dist: valkey<7.0,>=6.0.0; extra == 'mem0-direct'
42
+ Provides-Extra: mempalace-direct
43
+ Requires-Dist: mempalace<4.0,>=3.0.0; extra == 'mempalace-direct'
44
+ Description-Content-Type: text/markdown
45
+
1
46
  # memtrust
2
47
 
3
48
  Standardized, reproducible benchmarks for agent-memory backends, run against the vendors, not
@@ -6,13 +51,15 @@ published by them.
6
51
  [![CI](https://github.com/RudrenduPaul/memtrust/actions/workflows/ci.yml/badge.svg)](https://github.com/RudrenduPaul/memtrust/actions/workflows/ci.yml)
7
52
  [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://github.com/RudrenduPaul/memtrust/blob/main/LICENSE)
8
53
  [![Version](https://img.shields.io/badge/version-0.2.0-blue.svg)](https://github.com/RudrenduPaul/memtrust/blob/main/pyproject.toml)
9
- [![PyPI](https://img.shields.io/badge/pypi-memtrust-blue.svg)](https://pypi.org/project/memtrust/)
54
+ [![PyPI](https://img.shields.io/badge/pypi-memtrust--cli-blue.svg)](https://pypi.org/project/memtrust-cli/)
10
55
 
11
56
  ```bash
12
- pip install memtrust
57
+ pip install memtrust-cli
13
58
  memtrust run --backends mempalace,mem0,zep,openviking --eval all
14
59
  ```
15
60
 
61
+ ![Terminal recording of installing memtrust-cli with pip into a clean virtualenv, then running memtrust run against all four tracked backends with no credentials configured -- every backend reports SKIPPED and a JSON report is still written.](docs/demo.gif)
62
+
16
63
  (For contributing to this repo instead of just running it, see [Development](#development) --
17
64
  `pip install -e ".[dev]"` from a clone.)
18
65
 
@@ -24,7 +71,7 @@ memtrust run --backends mempalace,mem0,zep,openviking --eval all
24
71
  [The landscape](#the-landscape-verified-not-benchmarked) · [Benchmarks](#benchmarks) ·
25
72
  [GitHub Actions usage](#github-actions-usage) · [Self-host](#self-host) · [Install](#install) ·
26
73
  [Hosted layer](#what-a-hosted-trust-layer-would-add) · [Backend coverage](#backend-coverage) ·
27
- [Development](#development) · [License](#license) · [Success stories](#success-stories)
74
+ [Development](#development) · [FAQ](#faq) · [License](#license) · [Success stories](#success-stories)
28
75
 
29
76
  ## Why this exists
30
77
 
@@ -177,6 +224,8 @@ a tested module and a MemPalace-specific capability, callable directly, not yet
177
224
  Every line above came straight from running `memtrust --help`, `memtrust run --help`, and
178
225
  `memtrust report --help` against this repo. Nothing here is invented.
179
226
 
227
+ ![Terminal recording of memtrust keygen generating an Ed25519 keypair, memtrust run --sign producing a signed receipt from a real run, and memtrust verify confirming the receipt's signature is valid.](docs/usage.gif)
228
+
180
229
  ## How this differs from trusting a vendor's own numbers
181
230
 
182
231
  Every backend memtrust tracks publishes its own benchmark numbers. None of them publish the same
@@ -322,7 +371,7 @@ jobs:
322
371
  - uses: actions/setup-python@v5
323
372
  with:
324
373
  python-version: "3.12"
325
- - run: pip install memtrust
374
+ - run: pip install memtrust-cli
326
375
  - run: memtrust run --backends mempalace,mem0,zep,openviking --eval all --output leaderboard/data.json
327
376
  env:
328
377
  MEM0_API_KEY: ${{ secrets.MEM0_API_KEY }}
@@ -354,7 +403,7 @@ LongMemEval/LoCoMo datasets). Nothing leaves your machine unless you choose to p
354
403
 
355
404
  ### npx (agent-native)
356
405
 
357
- > **PyPI is live; the npm wrapper is publish-ready but not yet published.** `pip install memtrust`
406
+ > **PyPI is live; the npm wrapper is publish-ready but not yet published.** `pip install memtrust-cli`
358
407
  > works today -- version 0.2.0 is on PyPI. The `memtrust-cli` npm package in `npm/memtrust-cli/` in
359
408
  > this repo is built, tested, and passes both `npm pack --dry-run` and `npm publish --dry-run`
360
409
  > cleanly (re-verified this session), but has not actually been pushed to the npm registry yet --
@@ -436,6 +485,76 @@ pip-audit
436
485
  `.pre-commit-config.yaml` wires ruff and mypy into `pre-commit` if you'd rather run these on every
437
486
  commit than remember to run them by hand.
438
487
 
488
+ ## FAQ
489
+
490
+ **What is memtrust, and what actually makes it different from reading a vendor's own benchmark
491
+ page?** It's a CLI harness that runs the same evals (LongMemEval, LoCoMo, and 14 others registered
492
+ in `--eval`, including a contradiction-detection eval none of the four tracked backends publish a
493
+ number for) against MemPalace, Mem0, Zep/Graphiti, and OpenViking, and prints the raw output rather
494
+ than a curated summary. The differentiator isn't a proprietary scoring model; it's that nobody
495
+ outside the vendor had previously run the same test, the same way, against every option, with the
496
+ full methodology published alongside the code that produced it (`docs/methodology.md`). See "Why
497
+ this exists" above for the MemPalace LongMemEval overclaim (mempalace/mempalace#27) that motivated
498
+ the project.
499
+
500
+ **Does memtrust support my platform, and what happens if it doesn't?** The npm wrapper
501
+ (`memtrust-cli`) ships six platform-specific optional-dependency packages --
502
+ `@memtrust-cli/darwin-x64`, `@memtrust-cli/darwin-arm64`, `@memtrust-cli/linux-x64`,
503
+ `@memtrust-cli/linux-arm64`, `@memtrust-cli/win32-x64`, and `@memtrust-cli/win32-arm64` -- each
504
+ bundling a verified `uv` binary for that exact platform (`npm/memtrust-cli/bin/memtrust.js`).
505
+ `npm install` picks whichever one matches `process.platform`/`process.arch` at install time. On an
506
+ unsupported combination (32-bit x86, or any platform outside that list), the wrapper exits with a
507
+ clear `no prebuilt uv binary available for <platform>/<arch>` error instead of a silent failure. The
508
+ underlying `memtrust` PyPI package itself only requires Python 3.11+, so `pip install memtrust-cli`
509
+ remains the fallback path on any platform the npm wrapper doesn't cover.
510
+
511
+ **Do I need a Python toolchain installed to use memtrust?** Not if you go through the npm wrapper.
512
+ `npx memtrust-cli run ...` runs `uv tool run --from memtrust==<pinned version> memtrust <args>` under
513
+ the hood, and `uv` provisions its own isolated Python interpreter and installs the exact pinned
514
+ `memtrust` release from PyPI on first use, caching it after that. If you already have Python 3.11+,
515
+ `pip install memtrust-cli` (the PyPI package name) works directly with no Node.js involved.
516
+
517
+ **How does memtrust compare to a general-purpose LLM eval framework like RAGAS?** RAGAS evaluates
518
+ RAG pipelines and other LLM applications with objective metrics and synthetic test-data generation;
519
+ it has no memory-backend adapter abstraction and no eval built around a fact contradicting an
520
+ earlier one, because that's not the problem it's built to solve. memtrust is narrower on purpose: it
521
+ only tracks four named agent-memory backends and its non-recall evals (contradiction detection,
522
+ compression/round-trip fidelity, temporal-KG boundary detection) exist specifically to test claims
523
+ those four backends make about themselves. If you need broad RAG or prompt-evaluation coverage,
524
+ RAGAS or a similar framework is the right tool; if you need to check whether a memory backend
525
+ silently drops or overwrites a contradicted fact, memtrust is the one built for that question.
526
+
527
+ **Why does `memtrust --version` print a version that doesn't match what pip says I installed?**
528
+ This is a real, currently open limitation, not a hypothetical one -- installing `memtrust-cli` from
529
+ PyPI into a clean virtualenv and running `pip show memtrust-cli` reports `0.3.0`, but
530
+ `memtrust --version` prints `0.0.0+unknown`. The CLI's version string isn't reading the installed
531
+ package metadata correctly. Until it's fixed, use `pip show memtrust-cli` (or
532
+ `python3 -c "import importlib.metadata as m; print(m.version('memtrust-cli'))"`) to check what's
533
+ actually installed, not the CLI's own `--version` output.
534
+
535
+ **Has memtrust actually been run against a live memory backend, or is this all synthetic?** Both,
536
+ and the README doesn't blur the line. The eval logic itself is proven against bundled synthetic
537
+ fixtures and, for several adapters, real installed vendor packages with only the network boundary
538
+ mocked (see the pytest coverage table above). But no eval in this repo has been run against a live
539
+ MemPalace, Mem0, Zep, or OpenViking backend with real credentials as of this writing -- the
540
+ "Benchmarks" section above states that directly rather than publishing a placeholder number. The
541
+ "Backend coverage" table gives a per-adapter confidence level (high/medium/low) for exactly this
542
+ reason; run it yourself against your own credentials to get a live-verified number.
543
+
544
+ **Can I use memtrust commercially, and does it require attribution?** Yes. It's licensed under
545
+ Apache License 2.0 (see `LICENSE`), which permits commercial use, modification, and distribution,
546
+ and requires you to preserve the license and copyright notice and to note any changes you make to
547
+ the code. It does not require you to open-source your own product just because you depend on
548
+ memtrust.
549
+
550
+ **How do I get real accuracy numbers instead of the "not yet measured" placeholder?** Set the
551
+ credential environment variable for whichever backend you want to test
552
+ (`MEMPALACE_STORAGE_PATH`, `MEM0_API_KEY`, `ZEP_API_KEY`, `OPENVIKING_API_KEY`, plus
553
+ `MEMTRUST_JUDGE_API_KEY` for LLM-judged evals like LongMemEval and LoCoMo), then run
554
+ `memtrust run --backends <name> --eval all` and `memtrust report <output-file>`. A backend with no
555
+ credential configured prints `SKIPPED` and the run still completes and writes a valid JSON report --
556
+ see "What it does" and "Benchmarks" above for the exact commands.
557
+
439
558
  ## License
440
559
 
441
560
  Apache 2.0. See `LICENSE`.
@@ -577,3 +696,4 @@ open, deliberately not counted as fixed: some point at real gaps this harness ge
577
696
  yet without a live vendor credential, and inflating a near-miss to PASS defeats the entire point of
578
697
  an independently-verified benchmark. See the confidence caveats throughout this README and in
579
698
  `docs/methodology.md` for exactly which claims rest on which kind of evidence.
699
+
@@ -1,48 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: memtrust-cli
3
- Version: 0.3.0
4
- Summary: Independent, reproducible benchmark harness for agent-memory backends
5
- Project-URL: Homepage, https://github.com/RudrenduPaul/memtrust
6
- Project-URL: Issues, https://github.com/RudrenduPaul/memtrust/issues
7
- Project-URL: Author - Rudrendu Paul, https://github.com/RudrenduPaul
8
- Project-URL: Author - Sourav Nandy, https://github.com/Sourav-nandy-ai
9
- Author: Rudrendu Paul, Sourav Nandy
10
- License: Apache-2.0
11
- License-File: LICENSE
12
- Keywords: agent,benchmark,eval,evaluation,llm,memory
13
- Classifier: Development Status :: 3 - Alpha
14
- Classifier: Intended Audience :: Developers
15
- Classifier: License :: OSI Approved :: Apache Software License
16
- Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3.11
18
- Classifier: Programming Language :: Python :: 3.12
19
- Classifier: Programming Language :: Python :: 3.13
20
- Classifier: Topic :: Software Development :: Testing
21
- Requires-Python: >=3.11
22
- Requires-Dist: click<9.0,>=8.1.7
23
- Requires-Dist: cryptography<49.0,>=48.0.1
24
- Requires-Dist: httpx<1.0,>=0.27.0
25
- Requires-Dist: rich<14.0,>=13.7.1
26
- Provides-Extra: dev
27
- Requires-Dist: mypy<2.0,>=1.10.0; extra == 'dev'
28
- Requires-Dist: pip-audit<3.0,>=2.7.3; extra == 'dev'
29
- Requires-Dist: pytest-cov<6.0,>=5.0.0; extra == 'dev'
30
- Requires-Dist: pytest-httpx<1.0,>=0.36.2; extra == 'dev'
31
- Requires-Dist: pytest<10.0,>=9.0.3; extra == 'dev'
32
- Requires-Dist: ruff>=0.5.0; extra == 'dev'
33
- Provides-Extra: mem0-direct
34
- Requires-Dist: boto3<2.0,>=1.34.0; extra == 'mem0-direct'
35
- Requires-Dist: elasticsearch<9.0,>=8.0.0; extra == 'mem0-direct'
36
- Requires-Dist: fastembed<1.0,>=0.3.1; extra == 'mem0-direct'
37
- Requires-Dist: google-genai<2.0,>=1.0.0; extra == 'mem0-direct'
38
- Requires-Dist: mem0ai<3.0,>=2.0.12; extra == 'mem0-direct'
39
- Requires-Dist: redis<6.0,>=5.0.0; extra == 'mem0-direct'
40
- Requires-Dist: redisvl<1.0,>=0.3.0; extra == 'mem0-direct'
41
- Requires-Dist: valkey<7.0,>=6.0.0; extra == 'mem0-direct'
42
- Provides-Extra: mempalace-direct
43
- Requires-Dist: mempalace<4.0,>=3.0.0; extra == 'mempalace-direct'
44
- Description-Content-Type: text/markdown
45
-
46
1
  # memtrust
47
2
 
48
3
  Standardized, reproducible benchmarks for agent-memory backends, run against the vendors, not
@@ -51,13 +6,15 @@ published by them.
51
6
  [![CI](https://github.com/RudrenduPaul/memtrust/actions/workflows/ci.yml/badge.svg)](https://github.com/RudrenduPaul/memtrust/actions/workflows/ci.yml)
52
7
  [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://github.com/RudrenduPaul/memtrust/blob/main/LICENSE)
53
8
  [![Version](https://img.shields.io/badge/version-0.2.0-blue.svg)](https://github.com/RudrenduPaul/memtrust/blob/main/pyproject.toml)
54
- [![PyPI](https://img.shields.io/badge/pypi-memtrust-blue.svg)](https://pypi.org/project/memtrust/)
9
+ [![PyPI](https://img.shields.io/badge/pypi-memtrust--cli-blue.svg)](https://pypi.org/project/memtrust-cli/)
55
10
 
56
11
  ```bash
57
- pip install memtrust
12
+ pip install memtrust-cli
58
13
  memtrust run --backends mempalace,mem0,zep,openviking --eval all
59
14
  ```
60
15
 
16
+ ![Terminal recording of installing memtrust-cli with pip into a clean virtualenv, then running memtrust run against all four tracked backends with no credentials configured -- every backend reports SKIPPED and a JSON report is still written.](docs/demo.gif)
17
+
61
18
  (For contributing to this repo instead of just running it, see [Development](#development) --
62
19
  `pip install -e ".[dev]"` from a clone.)
63
20
 
@@ -69,7 +26,7 @@ memtrust run --backends mempalace,mem0,zep,openviking --eval all
69
26
  [The landscape](#the-landscape-verified-not-benchmarked) · [Benchmarks](#benchmarks) ·
70
27
  [GitHub Actions usage](#github-actions-usage) · [Self-host](#self-host) · [Install](#install) ·
71
28
  [Hosted layer](#what-a-hosted-trust-layer-would-add) · [Backend coverage](#backend-coverage) ·
72
- [Development](#development) · [License](#license) · [Success stories](#success-stories)
29
+ [Development](#development) · [FAQ](#faq) · [License](#license) · [Success stories](#success-stories)
73
30
 
74
31
  ## Why this exists
75
32
 
@@ -222,6 +179,8 @@ a tested module and a MemPalace-specific capability, callable directly, not yet
222
179
  Every line above came straight from running `memtrust --help`, `memtrust run --help`, and
223
180
  `memtrust report --help` against this repo. Nothing here is invented.
224
181
 
182
+ ![Terminal recording of memtrust keygen generating an Ed25519 keypair, memtrust run --sign producing a signed receipt from a real run, and memtrust verify confirming the receipt's signature is valid.](docs/usage.gif)
183
+
225
184
  ## How this differs from trusting a vendor's own numbers
226
185
 
227
186
  Every backend memtrust tracks publishes its own benchmark numbers. None of them publish the same
@@ -367,7 +326,7 @@ jobs:
367
326
  - uses: actions/setup-python@v5
368
327
  with:
369
328
  python-version: "3.12"
370
- - run: pip install memtrust
329
+ - run: pip install memtrust-cli
371
330
  - run: memtrust run --backends mempalace,mem0,zep,openviking --eval all --output leaderboard/data.json
372
331
  env:
373
332
  MEM0_API_KEY: ${{ secrets.MEM0_API_KEY }}
@@ -399,7 +358,7 @@ LongMemEval/LoCoMo datasets). Nothing leaves your machine unless you choose to p
399
358
 
400
359
  ### npx (agent-native)
401
360
 
402
- > **PyPI is live; the npm wrapper is publish-ready but not yet published.** `pip install memtrust`
361
+ > **PyPI is live; the npm wrapper is publish-ready but not yet published.** `pip install memtrust-cli`
403
362
  > works today -- version 0.2.0 is on PyPI. The `memtrust-cli` npm package in `npm/memtrust-cli/` in
404
363
  > this repo is built, tested, and passes both `npm pack --dry-run` and `npm publish --dry-run`
405
364
  > cleanly (re-verified this session), but has not actually been pushed to the npm registry yet --
@@ -481,6 +440,76 @@ pip-audit
481
440
  `.pre-commit-config.yaml` wires ruff and mypy into `pre-commit` if you'd rather run these on every
482
441
  commit than remember to run them by hand.
483
442
 
443
+ ## FAQ
444
+
445
+ **What is memtrust, and what actually makes it different from reading a vendor's own benchmark
446
+ page?** It's a CLI harness that runs the same evals (LongMemEval, LoCoMo, and 14 others registered
447
+ in `--eval`, including a contradiction-detection eval none of the four tracked backends publish a
448
+ number for) against MemPalace, Mem0, Zep/Graphiti, and OpenViking, and prints the raw output rather
449
+ than a curated summary. The differentiator isn't a proprietary scoring model; it's that nobody
450
+ outside the vendor had previously run the same test, the same way, against every option, with the
451
+ full methodology published alongside the code that produced it (`docs/methodology.md`). See "Why
452
+ this exists" above for the MemPalace LongMemEval overclaim (mempalace/mempalace#27) that motivated
453
+ the project.
454
+
455
+ **Does memtrust support my platform, and what happens if it doesn't?** The npm wrapper
456
+ (`memtrust-cli`) ships six platform-specific optional-dependency packages --
457
+ `@memtrust-cli/darwin-x64`, `@memtrust-cli/darwin-arm64`, `@memtrust-cli/linux-x64`,
458
+ `@memtrust-cli/linux-arm64`, `@memtrust-cli/win32-x64`, and `@memtrust-cli/win32-arm64` -- each
459
+ bundling a verified `uv` binary for that exact platform (`npm/memtrust-cli/bin/memtrust.js`).
460
+ `npm install` picks whichever one matches `process.platform`/`process.arch` at install time. On an
461
+ unsupported combination (32-bit x86, or any platform outside that list), the wrapper exits with a
462
+ clear `no prebuilt uv binary available for <platform>/<arch>` error instead of a silent failure. The
463
+ underlying `memtrust` PyPI package itself only requires Python 3.11+, so `pip install memtrust-cli`
464
+ remains the fallback path on any platform the npm wrapper doesn't cover.
465
+
466
+ **Do I need a Python toolchain installed to use memtrust?** Not if you go through the npm wrapper.
467
+ `npx memtrust-cli run ...` runs `uv tool run --from memtrust==<pinned version> memtrust <args>` under
468
+ the hood, and `uv` provisions its own isolated Python interpreter and installs the exact pinned
469
+ `memtrust` release from PyPI on first use, caching it after that. If you already have Python 3.11+,
470
+ `pip install memtrust-cli` (the PyPI package name) works directly with no Node.js involved.
471
+
472
+ **How does memtrust compare to a general-purpose LLM eval framework like RAGAS?** RAGAS evaluates
473
+ RAG pipelines and other LLM applications with objective metrics and synthetic test-data generation;
474
+ it has no memory-backend adapter abstraction and no eval built around a fact contradicting an
475
+ earlier one, because that's not the problem it's built to solve. memtrust is narrower on purpose: it
476
+ only tracks four named agent-memory backends and its non-recall evals (contradiction detection,
477
+ compression/round-trip fidelity, temporal-KG boundary detection) exist specifically to test claims
478
+ those four backends make about themselves. If you need broad RAG or prompt-evaluation coverage,
479
+ RAGAS or a similar framework is the right tool; if you need to check whether a memory backend
480
+ silently drops or overwrites a contradicted fact, memtrust is the one built for that question.
481
+
482
+ **Why does `memtrust --version` print a version that doesn't match what pip says I installed?**
483
+ This is a real, currently open limitation, not a hypothetical one -- installing `memtrust-cli` from
484
+ PyPI into a clean virtualenv and running `pip show memtrust-cli` reports `0.3.0`, but
485
+ `memtrust --version` prints `0.0.0+unknown`. The CLI's version string isn't reading the installed
486
+ package metadata correctly. Until it's fixed, use `pip show memtrust-cli` (or
487
+ `python3 -c "import importlib.metadata as m; print(m.version('memtrust-cli'))"`) to check what's
488
+ actually installed, not the CLI's own `--version` output.
489
+
490
+ **Has memtrust actually been run against a live memory backend, or is this all synthetic?** Both,
491
+ and the README doesn't blur the line. The eval logic itself is proven against bundled synthetic
492
+ fixtures and, for several adapters, real installed vendor packages with only the network boundary
493
+ mocked (see the pytest coverage table above). But no eval in this repo has been run against a live
494
+ MemPalace, Mem0, Zep, or OpenViking backend with real credentials as of this writing -- the
495
+ "Benchmarks" section above states that directly rather than publishing a placeholder number. The
496
+ "Backend coverage" table gives a per-adapter confidence level (high/medium/low) for exactly this
497
+ reason; run it yourself against your own credentials to get a live-verified number.
498
+
499
+ **Can I use memtrust commercially, and does it require attribution?** Yes. It's licensed under
500
+ Apache License 2.0 (see `LICENSE`), which permits commercial use, modification, and distribution,
501
+ and requires you to preserve the license and copyright notice and to note any changes you make to
502
+ the code. It does not require you to open-source your own product just because you depend on
503
+ memtrust.
504
+
505
+ **How do I get real accuracy numbers instead of the "not yet measured" placeholder?** Set the
506
+ credential environment variable for whichever backend you want to test
507
+ (`MEMPALACE_STORAGE_PATH`, `MEM0_API_KEY`, `ZEP_API_KEY`, `OPENVIKING_API_KEY`, plus
508
+ `MEMTRUST_JUDGE_API_KEY` for LLM-judged evals like LongMemEval and LoCoMo), then run
509
+ `memtrust run --backends <name> --eval all` and `memtrust report <output-file>`. A backend with no
510
+ credential configured prints `SKIPPED` and the run still completes and writes a valid JSON report --
511
+ see "What it does" and "Benchmarks" above for the exact commands.
512
+
484
513
  ## License
485
514
 
486
515
  Apache 2.0. See `LICENSE`.
@@ -622,3 +651,4 @@ open, deliberately not counted as fixed: some point at real gaps this harness ge
622
651
  yet without a live vendor credential, and inflating a near-miss to PASS defeats the entire point of
623
652
  an independently-verified benchmark. See the confidence caveats throughout this README and in
624
653
  `docs/methodology.md` for exactly which claims rest on which kind of evidence.
654
+
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memtrust-cli",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "npx-runnable wrapper for the memtrust agent-memory benchmark harness. Bootstraps a verified copy of Astral's uv to fetch and run memtrust from PyPI -- no Python toolchain to provision by hand.",
5
5
  "bin": { "memtrust-cli": "bin/memtrust.js", "memtrust": "bin/memtrust.js" },
6
6
  "files": ["bin/", "LICENSE", "README.md"],
@@ -0,0 +1,25 @@
1
+ # @memtrust-cli/darwin-arm64
2
+
3
+ macOS arm64 binary for [memtrust-cli](https://github.com/RudrenduPaul/memtrust)'s npx wrapper.
4
+
5
+ This package is not meant to be installed directly. Install the main
6
+ [`memtrust-cli`](https://www.npmjs.com/package/memtrust-cli) package instead; it
7
+ pulls in this platform binary automatically through `optionalDependencies` based
8
+ on your OS and CPU architecture.
9
+
10
+ ## What's inside
11
+
12
+ A genuine, SHA-256-verified copy of [Astral's uv](https://github.com/astral-sh/uv),
13
+ fetched from uv's own GitHub release 0.11.28 at publish time. uv is dual-licensed
14
+ MIT OR Apache-2.0; both license texts are reproduced in this package's LICENSE
15
+ file. Not affiliated with or endorsed by Astral Software Inc.
16
+
17
+ ## Documentation
18
+
19
+ Full documentation, usage, and benchmarks live in the main
20
+ [memtrust repository](https://github.com/RudrenduPaul/memtrust).
21
+
22
+ ## License
23
+
24
+ Apache-2.0 for memtrust's own wrapper code. See LICENSE for the bundled uv
25
+ binary's MIT OR Apache-2.0 terms.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memtrust-cli/darwin-arm64",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "macOS arm64 binary for memtrust's npx wrapper. Bundles a genuine, SHA-256-verified copy of Astral's uv (github.com/astral-sh/uv), dual-licensed MIT OR Apache-2.0, fetched from uv's own GitHub release 0.11.28 at publish time. Not affiliated with or endorsed by Astral Software Inc.",
5
5
  "os": ["darwin"],
6
6
  "cpu": ["arm64"],
@@ -0,0 +1,25 @@
1
+ # @memtrust-cli/darwin-x64
2
+
3
+ macOS x64 binary for [memtrust-cli](https://github.com/RudrenduPaul/memtrust)'s npx wrapper.
4
+
5
+ This package is not meant to be installed directly. Install the main
6
+ [`memtrust-cli`](https://www.npmjs.com/package/memtrust-cli) package instead; it
7
+ pulls in this platform binary automatically through `optionalDependencies` based
8
+ on your OS and CPU architecture.
9
+
10
+ ## What's inside
11
+
12
+ A genuine, SHA-256-verified copy of [Astral's uv](https://github.com/astral-sh/uv),
13
+ fetched from uv's own GitHub release 0.11.28 at publish time. uv is dual-licensed
14
+ MIT OR Apache-2.0; both license texts are reproduced in this package's LICENSE
15
+ file. Not affiliated with or endorsed by Astral Software Inc.
16
+
17
+ ## Documentation
18
+
19
+ Full documentation, usage, and benchmarks live in the main
20
+ [memtrust repository](https://github.com/RudrenduPaul/memtrust).
21
+
22
+ ## License
23
+
24
+ Apache-2.0 for memtrust's own wrapper code. See LICENSE for the bundled uv
25
+ binary's MIT OR Apache-2.0 terms.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memtrust-cli/darwin-x64",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "macOS x64 binary for memtrust's npx wrapper. Bundles a genuine, SHA-256-verified copy of Astral's uv (github.com/astral-sh/uv), dual-licensed MIT OR Apache-2.0, fetched from uv's own GitHub release 0.11.28 at publish time. Not affiliated with or endorsed by Astral Software Inc.",
5
5
  "os": ["darwin"],
6
6
  "cpu": ["x64"],
@@ -0,0 +1,25 @@
1
+ # @memtrust-cli/linux-arm64
2
+
3
+ Linux arm64 binary for [memtrust-cli](https://github.com/RudrenduPaul/memtrust)'s npx wrapper.
4
+
5
+ This package is not meant to be installed directly. Install the main
6
+ [`memtrust-cli`](https://www.npmjs.com/package/memtrust-cli) package instead; it
7
+ pulls in this platform binary automatically through `optionalDependencies` based
8
+ on your OS and CPU architecture.
9
+
10
+ ## What's inside
11
+
12
+ A genuine, SHA-256-verified copy of [Astral's uv](https://github.com/astral-sh/uv),
13
+ fetched from uv's own GitHub release 0.11.28 at publish time. uv is dual-licensed
14
+ MIT OR Apache-2.0; both license texts are reproduced in this package's LICENSE
15
+ file. Not affiliated with or endorsed by Astral Software Inc.
16
+
17
+ ## Documentation
18
+
19
+ Full documentation, usage, and benchmarks live in the main
20
+ [memtrust repository](https://github.com/RudrenduPaul/memtrust).
21
+
22
+ ## License
23
+
24
+ Apache-2.0 for memtrust's own wrapper code. See LICENSE for the bundled uv
25
+ binary's MIT OR Apache-2.0 terms.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memtrust-cli/linux-arm64",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Linux arm64 binary for memtrust's npx wrapper. Bundles a genuine, SHA-256-verified copy of Astral's uv (github.com/astral-sh/uv), dual-licensed MIT OR Apache-2.0, fetched from uv's own GitHub release 0.11.28 at publish time. Not affiliated with or endorsed by Astral Software Inc.",
5
5
  "os": ["linux"],
6
6
  "cpu": ["arm64"],
@@ -0,0 +1,25 @@
1
+ # @memtrust-cli/linux-x64
2
+
3
+ Linux x64 binary for [memtrust-cli](https://github.com/RudrenduPaul/memtrust)'s npx wrapper.
4
+
5
+ This package is not meant to be installed directly. Install the main
6
+ [`memtrust-cli`](https://www.npmjs.com/package/memtrust-cli) package instead; it
7
+ pulls in this platform binary automatically through `optionalDependencies` based
8
+ on your OS and CPU architecture.
9
+
10
+ ## What's inside
11
+
12
+ A genuine, SHA-256-verified copy of [Astral's uv](https://github.com/astral-sh/uv),
13
+ fetched from uv's own GitHub release 0.11.28 at publish time. uv is dual-licensed
14
+ MIT OR Apache-2.0; both license texts are reproduced in this package's LICENSE
15
+ file. Not affiliated with or endorsed by Astral Software Inc.
16
+
17
+ ## Documentation
18
+
19
+ Full documentation, usage, and benchmarks live in the main
20
+ [memtrust repository](https://github.com/RudrenduPaul/memtrust).
21
+
22
+ ## License
23
+
24
+ Apache-2.0 for memtrust's own wrapper code. See LICENSE for the bundled uv
25
+ binary's MIT OR Apache-2.0 terms.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memtrust-cli/linux-x64",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Linux x64 binary for memtrust's npx wrapper. Bundles a genuine, SHA-256-verified copy of Astral's uv (github.com/astral-sh/uv), dual-licensed MIT OR Apache-2.0, fetched from uv's own GitHub release 0.11.28 at publish time. Not affiliated with or endorsed by Astral Software Inc.",
5
5
  "os": ["linux"],
6
6
  "cpu": ["x64"],
@@ -0,0 +1,25 @@
1
+ # @memtrust-cli/win32-arm64
2
+
3
+ Windows arm64 binary for [memtrust-cli](https://github.com/RudrenduPaul/memtrust)'s npx wrapper.
4
+
5
+ This package is not meant to be installed directly. Install the main
6
+ [`memtrust-cli`](https://www.npmjs.com/package/memtrust-cli) package instead; it
7
+ pulls in this platform binary automatically through `optionalDependencies` based
8
+ on your OS and CPU architecture.
9
+
10
+ ## What's inside
11
+
12
+ A genuine, SHA-256-verified copy of [Astral's uv](https://github.com/astral-sh/uv),
13
+ fetched from uv's own GitHub release 0.11.28 at publish time. uv is dual-licensed
14
+ MIT OR Apache-2.0; both license texts are reproduced in this package's LICENSE
15
+ file. Not affiliated with or endorsed by Astral Software Inc.
16
+
17
+ ## Documentation
18
+
19
+ Full documentation, usage, and benchmarks live in the main
20
+ [memtrust repository](https://github.com/RudrenduPaul/memtrust).
21
+
22
+ ## License
23
+
24
+ Apache-2.0 for memtrust's own wrapper code. See LICENSE for the bundled uv
25
+ binary's MIT OR Apache-2.0 terms.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memtrust-cli/win32-arm64",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Windows arm64 binary for memtrust's npx wrapper. Bundles a genuine, SHA-256-verified copy of Astral's uv (github.com/astral-sh/uv), dual-licensed MIT OR Apache-2.0, fetched from uv's own GitHub release 0.11.28 at publish time. Not affiliated with or endorsed by Astral Software Inc.",
5
5
  "os": ["win32"],
6
6
  "cpu": ["arm64"],
@@ -0,0 +1,25 @@
1
+ # @memtrust-cli/win32-x64
2
+
3
+ Windows x64 binary for [memtrust-cli](https://github.com/RudrenduPaul/memtrust)'s npx wrapper.
4
+
5
+ This package is not meant to be installed directly. Install the main
6
+ [`memtrust-cli`](https://www.npmjs.com/package/memtrust-cli) package instead; it
7
+ pulls in this platform binary automatically through `optionalDependencies` based
8
+ on your OS and CPU architecture.
9
+
10
+ ## What's inside
11
+
12
+ A genuine, SHA-256-verified copy of [Astral's uv](https://github.com/astral-sh/uv),
13
+ fetched from uv's own GitHub release 0.11.28 at publish time. uv is dual-licensed
14
+ MIT OR Apache-2.0; both license texts are reproduced in this package's LICENSE
15
+ file. Not affiliated with or endorsed by Astral Software Inc.
16
+
17
+ ## Documentation
18
+
19
+ Full documentation, usage, and benchmarks live in the main
20
+ [memtrust repository](https://github.com/RudrenduPaul/memtrust).
21
+
22
+ ## License
23
+
24
+ Apache-2.0 for memtrust's own wrapper code. See LICENSE for the bundled uv
25
+ binary's MIT OR Apache-2.0 terms.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memtrust-cli/win32-x64",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Windows x64 binary for memtrust's npx wrapper. Bundles a genuine, SHA-256-verified copy of Astral's uv (github.com/astral-sh/uv), dual-licensed MIT OR Apache-2.0, fetched from uv's own GitHub release 0.11.28 at publish time. Not affiliated with or endorsed by Astral Software Inc.",
5
5
  "os": ["win32"],
6
6
  "cpu": ["x64"],