structuremappingmemory 1.1.0__tar.gz → 1.2.0__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 (139) hide show
  1. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/PKG-INFO +18 -1
  2. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/README.md +16 -0
  3. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/pyproject.toml +7 -2
  4. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/__init__.py +1 -1
  5. structuremappingmemory-1.2.0/sma/data/ontology_catalog.json +3097 -0
  6. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/mcp.py +159 -7
  7. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/structuremappingmemory.egg-info/PKG-INFO +18 -1
  8. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/structuremappingmemory.egg-info/SOURCES.txt +1 -0
  9. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/structuremappingmemory.egg-info/entry_points.txt +1 -0
  10. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/structuremappingmemory.egg-info/requires.txt +1 -0
  11. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/tests/test_mcp.py +85 -2
  12. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/LICENSE +0 -0
  13. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/setup.cfg +0 -0
  14. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/__main__.py +0 -0
  15. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/agent/__init__.py +0 -0
  16. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/agent/adapter_draft.py +0 -0
  17. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/agent/api.py +0 -0
  18. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/agent/comparison.py +0 -0
  19. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/agent/llm.py +0 -0
  20. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/agent/policies.py +0 -0
  21. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/agent/service.py +0 -0
  22. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/cli.py +0 -0
  23. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/encoders/__init__.py +0 -0
  24. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/encoders/agentobs.py +0 -0
  25. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/encoders/base.py +0 -0
  26. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/encoders/code_treesitter.py +0 -0
  27. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/encoders/coverage.py +0 -0
  28. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/encoders/draft_adapter.py +0 -0
  29. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/encoders/healthcare.py +0 -0
  30. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/encoders/logs_drain.py +0 -0
  31. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/encoders/prose_tier1.py +0 -0
  32. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/encoders/structured.py +0 -0
  33. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/encoders/traces.py +0 -0
  34. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/__init__.py +0 -0
  35. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/agentic/__init__.py +0 -0
  36. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/agentic/arms/__init__.py +0 -0
  37. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/agentic/arms/cyber.py +0 -0
  38. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/agentic/arms/discovery.py +0 -0
  39. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/agentic/arms/finance.py +0 -0
  40. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/agentic/arms/legal.py +0 -0
  41. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/agentic/arms/medicine.py +0 -0
  42. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/agentic/harness.py +0 -0
  43. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/agentic/memories.py +0 -0
  44. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/agentic/metrics.py +0 -0
  45. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/agentic_qa/__init__.py +0 -0
  46. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/agentic_qa/agent.py +0 -0
  47. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/agentic_qa/metrics.py +0 -0
  48. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/agentic_qa/pools.py +0 -0
  49. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/arn.py +0 -0
  50. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/baselines/__init__.py +0 -0
  51. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/baselines/bge_dense.py +0 -0
  52. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/baselines/bm25.py +0 -0
  53. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/baselines/dense.py +0 -0
  54. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/baselines/hipporag.py +0 -0
  55. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/baselines/hybrid_rrf.py +0 -0
  56. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/baselines/longcontext_llm.py +0 -0
  57. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/baselines/rerank.py +0 -0
  58. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/baselines/splade.py +0 -0
  59. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/baselines/wl_kernel.py +0 -0
  60. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/bugsinpy.py +0 -0
  61. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/bugsinpy_families.py +0 -0
  62. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/crossdomain.py +0 -0
  63. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/diabetes.py +0 -0
  64. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/drift_env.py +0 -0
  65. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/drift_metrics.py +0 -0
  66. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/family_labels.py +0 -0
  67. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/fraud_elliptic/__init__.py +0 -0
  68. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/fraud_elliptic/encoder.py +0 -0
  69. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/fraud_elliptic/eval.py +0 -0
  70. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/fraud_elliptic/test_encoder.py +0 -0
  71. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/ieee_cis.py +0 -0
  72. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/loghub.py +0 -0
  73. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/loghub_eval.py +0 -0
  74. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/longmemeval.py +0 -0
  75. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/memory_backends/__init__.py +0 -0
  76. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/memory_backends/base.py +0 -0
  77. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/memory_backends/context_only.py +0 -0
  78. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/memory_backends/rag_notes.py +0 -0
  79. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/memory_backends/shared_llm.py +0 -0
  80. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/memory_backends/sma_memory.py +0 -0
  81. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/memory_backends/zep_graphiti.py +0 -0
  82. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/metrics.py +0 -0
  83. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/ontology_bench.py +0 -0
  84. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/report.py +0 -0
  85. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/ssb_eval.py +0 -0
  86. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/ssb_generator.py +0 -0
  87. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/stats.py +0 -0
  88. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/eval/transfer_eval.py +0 -0
  89. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/index/__init__.py +0 -0
  90. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/index/ann.py +0 -0
  91. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/index/content_vectors.py +0 -0
  92. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/index/inverted.py +0 -0
  93. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/index/macfac.py +0 -0
  94. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ir/__init__.py +0 -0
  95. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ir/canon.py +0 -0
  96. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ir/schema.py +0 -0
  97. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ir/sexpr.py +0 -0
  98. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ir/signatures.py +0 -0
  99. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/match/__init__.py +0 -0
  100. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/match/conflicts.py +0 -0
  101. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/match/engine.py +0 -0
  102. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/match/explain.py +0 -0
  103. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/match/infer.py +0 -0
  104. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/match/kernels.py +0 -0
  105. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/match/mdl.py +0 -0
  106. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/match/merge_cpsat.py +0 -0
  107. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/match/merge_greedy.py +0 -0
  108. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/match/mh.py +0 -0
  109. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/match/ses.py +0 -0
  110. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/match/types.py +0 -0
  111. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/match/verifier.py +0 -0
  112. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ontology/__init__.py +0 -0
  113. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ontology/attack.py +0 -0
  114. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ontology/cpc.py +0 -0
  115. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ontology/graph.py +0 -0
  116. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ontology/loader.py +0 -0
  117. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ontology/mitre_xml.py +0 -0
  118. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ontology/mount.py +0 -0
  119. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ontology/rdf_loader.py +0 -0
  120. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ontology/registry.py +0 -0
  121. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ontology/router.py +0 -0
  122. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ontology/usgaap.py +0 -0
  123. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/sage/__init__.py +0 -0
  124. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/sage/assimilate.py +0 -0
  125. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/sage/pools.py +0 -0
  126. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/sage/probabilities.py +0 -0
  127. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/store/__init__.py +0 -0
  128. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/store/lmdb_store.py +0 -0
  129. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/store/registry.py +0 -0
  130. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/store/wal.py +0 -0
  131. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/sma/ui/app.py +0 -0
  132. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/structuremappingmemory.egg-info/dependency_links.txt +0 -0
  133. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/structuremappingmemory.egg-info/top_level.txt +0 -0
  134. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/tests/test_bugsinpy_t3.py +0 -0
  135. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/tests/test_drift.py +0 -0
  136. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/tests/test_gates.py +0 -0
  137. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/tests/test_hipporag.py +0 -0
  138. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/tests/test_production_loop.py +0 -0
  139. {structuremappingmemory-1.1.0 → structuremappingmemory-1.2.0}/tests/test_stats.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: structuremappingmemory
3
- Version: 1.1.0
3
+ Version: 1.2.0
4
4
  Summary: SMA-1: Structure-Mapping Agentic Memory — a structure-mapping retrieval memory that grounds language models in curated ontologies
5
5
  Author-email: Ayaz Khan <aak2259@columbia.edu>
6
6
  License: Apache-2.0
@@ -32,6 +32,7 @@ Requires-Dist: regex>=2024.5.15
32
32
  Requires-Dist: scikit-learn>=1.5
33
33
  Requires-Dist: typer>=0.12
34
34
  Requires-Dist: zstandard>=0.22
35
+ Requires-Dist: mcp>=1.0
35
36
  Provides-Extra: encoders
36
37
  Requires-Dist: drain3>=0.9.11; extra == "encoders"
37
38
  Requires-Dist: tree-sitter>=0.23; extra == "encoders"
@@ -149,6 +150,22 @@ logistic-regression baseline wins. The advantage is specific to structure.
149
150
  pip install structuremappingmemory # from PyPI (import name: sma)
150
151
  ```
151
152
 
153
+ ### Use as an MCP server (Codex, Claude Code, Claude Desktop)
154
+
155
+ SMA ships a Model Context Protocol server so an agentic LLM can mount your ontologies and
156
+ retrieve **structural analogs + cite-or-abstain + novelty** as tools. One command, zero
157
+ install (via [`uv`](https://docs.astral.sh/uv/)):
158
+
159
+ ```bash
160
+ codex mcp add sma -- uvx structuremappingmemory # Codex CLI
161
+ claude mcp add sma -- uvx structuremappingmemory # Claude Code
162
+ ```
163
+
164
+ `/mcp` to confirm. It ships a **catalog of 271 public ontologies** (23 categories — OBO
165
+ Foundry science + cybersecurity, finance, legal/IP, geoscience, materials, web/library),
166
+ mounted on demand: `search_catalog` / `mount_from_catalog("chebi")`, then `retrieve` /
167
+ `novelty`. Full guide, manifest config, and alternatives (pipx / pip): [`docs/MCP.md`](docs/MCP.md).
168
+
152
169
  Or for development, with the evaluation/encoder extras:
153
170
 
154
171
  ```bash
@@ -93,6 +93,22 @@ logistic-regression baseline wins. The advantage is specific to structure.
93
93
  pip install structuremappingmemory # from PyPI (import name: sma)
94
94
  ```
95
95
 
96
+ ### Use as an MCP server (Codex, Claude Code, Claude Desktop)
97
+
98
+ SMA ships a Model Context Protocol server so an agentic LLM can mount your ontologies and
99
+ retrieve **structural analogs + cite-or-abstain + novelty** as tools. One command, zero
100
+ install (via [`uv`](https://docs.astral.sh/uv/)):
101
+
102
+ ```bash
103
+ codex mcp add sma -- uvx structuremappingmemory # Codex CLI
104
+ claude mcp add sma -- uvx structuremappingmemory # Claude Code
105
+ ```
106
+
107
+ `/mcp` to confirm. It ships a **catalog of 271 public ontologies** (23 categories — OBO
108
+ Foundry science + cybersecurity, finance, legal/IP, geoscience, materials, web/library),
109
+ mounted on demand: `search_catalog` / `mount_from_catalog("chebi")`, then `retrieve` /
110
+ `novelty`. Full guide, manifest config, and alternatives (pipx / pip): [`docs/MCP.md`](docs/MCP.md).
111
+
96
112
  Or for development, with the evaluation/encoder extras:
97
113
 
98
114
  ```bash
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  # PyPI distribution name (the import name stays `sma`); `sma` is taken on PyPI.
7
7
  name = "structuremappingmemory"
8
- version = "1.1.0"
8
+ version = "1.2.0"
9
9
  description = "SMA-1: Structure-Mapping Agentic Memory — a structure-mapping retrieval memory that grounds language models in curated ontologies"
10
10
  readme = "README.md"
11
11
  requires-python = ">=3.10"
@@ -35,7 +35,8 @@ dependencies = [
35
35
  "regex>=2024.5.15",
36
36
  "scikit-learn>=1.5",
37
37
  "typer>=0.12",
38
- "zstandard>=0.22"
38
+ "zstandard>=0.22",
39
+ "mcp>=1.0"
39
40
  ]
40
41
 
41
42
  [project.optional-dependencies]
@@ -72,10 +73,14 @@ Issues = "https://github.com/ayazkhan27/SMA-1/issues"
72
73
  [project.scripts]
73
74
  sma = "sma.cli:main"
74
75
  sma-mcp = "sma.mcp:main"
76
+ structuremappingmemory = "sma.mcp:main"
75
77
 
76
78
  [tool.setuptools.packages.find]
77
79
  include = ["sma*"]
78
80
 
81
+ [tool.setuptools.package-data]
82
+ sma = ["data/*.json"]
83
+
79
84
  [tool.pytest.ini_options]
80
85
  addopts = "-q"
81
86
  testpaths = ["tests"]
@@ -1,5 +1,5 @@
1
1
  """SMA-1: Structure-Mapping Agentic Memory MVP."""
2
2
 
3
3
  __all__ = ["__version__"]
4
- __version__ = "1.1.0"
4
+ __version__ = "1.2.0"
5
5