uaml-memory 1.0.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 (237) hide show
  1. uaml_memory-1.0.0/LICENSE +60 -0
  2. uaml_memory-1.0.0/NOTICE +29 -0
  3. uaml_memory-1.0.0/PKG-INFO +390 -0
  4. uaml_memory-1.0.0/README.md +347 -0
  5. uaml_memory-1.0.0/pyproject.toml +71 -0
  6. uaml_memory-1.0.0/setup.cfg +4 -0
  7. uaml_memory-1.0.0/tests/test_access.py +54 -0
  8. uaml_memory-1.0.0/tests/test_analytics.py +70 -0
  9. uaml_memory-1.0.0/tests/test_api.py +241 -0
  10. uaml_memory-1.0.0/tests/test_api_client.py +193 -0
  11. uaml_memory-1.0.0/tests/test_asimov.py +302 -0
  12. uaml_memory-1.0.0/tests/test_associative.py +192 -0
  13. uaml_memory-1.0.0/tests/test_audit_stream.py +525 -0
  14. uaml_memory-1.0.0/tests/test_backup.py +88 -0
  15. uaml_memory-1.0.0/tests/test_batch.py +112 -0
  16. uaml_memory-1.0.0/tests/test_benchmark.py +331 -0
  17. uaml_memory-1.0.0/tests/test_cache.py +83 -0
  18. uaml_memory-1.0.0/tests/test_changelog.py +52 -0
  19. uaml_memory-1.0.0/tests/test_clustering.py +70 -0
  20. uaml_memory-1.0.0/tests/test_compliance.py +264 -0
  21. uaml_memory-1.0.0/tests/test_config.py +67 -0
  22. uaml_memory-1.0.0/tests/test_configurator.py +585 -0
  23. uaml_memory-1.0.0/tests/test_conflicts.py +70 -0
  24. uaml_memory-1.0.0/tests/test_consent.py +147 -0
  25. uaml_memory-1.0.0/tests/test_context.py +73 -0
  26. uaml_memory-1.0.0/tests/test_continuous.py +145 -0
  27. uaml_memory-1.0.0/tests/test_contradiction.py +448 -0
  28. uaml_memory-1.0.0/tests/test_customer.py +326 -0
  29. uaml_memory-1.0.0/tests/test_dedup.py +80 -0
  30. uaml_memory-1.0.0/tests/test_embeddings.py +82 -0
  31. uaml_memory-1.0.0/tests/test_entities.py +89 -0
  32. uaml_memory-1.0.0/tests/test_escrow.py +97 -0
  33. uaml_memory-1.0.0/tests/test_ethics.py +201 -0
  34. uaml_memory-1.0.0/tests/test_events.py +75 -0
  35. uaml_memory-1.0.0/tests/test_facade.py +143 -0
  36. uaml_memory-1.0.0/tests/test_feature_gate.py +394 -0
  37. uaml_memory-1.0.0/tests/test_federation.py +102 -0
  38. uaml_memory-1.0.0/tests/test_focus_engine.py +821 -0
  39. uaml_memory-1.0.0/tests/test_focus_integration.py +212 -0
  40. uaml_memory-1.0.0/tests/test_formats.py +84 -0
  41. uaml_memory-1.0.0/tests/test_gdpr.py +129 -0
  42. uaml_memory-1.0.0/tests/test_hardening.py +115 -0
  43. uaml_memory-1.0.0/tests/test_health.py +59 -0
  44. uaml_memory-1.0.0/tests/test_incidents.py +396 -0
  45. uaml_memory-1.0.0/tests/test_ingest.py +428 -0
  46. uaml_memory-1.0.0/tests/test_inventory.py +72 -0
  47. uaml_memory-1.0.0/tests/test_io.py +232 -0
  48. uaml_memory-1.0.0/tests/test_licensing.py +332 -0
  49. uaml_memory-1.0.0/tests/test_linker.py +57 -0
  50. uaml_memory-1.0.0/tests/test_local_graph.py +111 -0
  51. uaml_memory-1.0.0/tests/test_lock_manager.py +554 -0
  52. uaml_memory-1.0.0/tests/test_logs.py +131 -0
  53. uaml_memory-1.0.0/tests/test_longmemeval.py +242 -0
  54. uaml_memory-1.0.0/tests/test_mcp.py +196 -0
  55. uaml_memory-1.0.0/tests/test_messaging.py +78 -0
  56. uaml_memory-1.0.0/tests/test_metrics.py +80 -0
  57. uaml_memory-1.0.0/tests/test_migration.py +69 -0
  58. uaml_memory-1.0.0/tests/test_neo4j_sync.py +307 -0
  59. uaml_memory-1.0.0/tests/test_notifications.py +90 -0
  60. uaml_memory-1.0.0/tests/test_optimizer.py +53 -0
  61. uaml_memory-1.0.0/tests/test_pipeline.py +76 -0
  62. uaml_memory-1.0.0/tests/test_plugins.py +84 -0
  63. uaml_memory-1.0.0/tests/test_policy.py +152 -0
  64. uaml_memory-1.0.0/tests/test_pqc.py +263 -0
  65. uaml_memory-1.0.0/tests/test_provenance.py +65 -0
  66. uaml_memory-1.0.0/tests/test_ratelimit.py +64 -0
  67. uaml_memory-1.0.0/tests/test_rbac.py +93 -0
  68. uaml_memory-1.0.0/tests/test_reasoning.py +198 -0
  69. uaml_memory-1.0.0/tests/test_retention.py +126 -0
  70. uaml_memory-1.0.0/tests/test_sanitizer.py +76 -0
  71. uaml_memory-1.0.0/tests/test_scheduler.py +79 -0
  72. uaml_memory-1.0.0/tests/test_schema_v2.py +252 -0
  73. uaml_memory-1.0.0/tests/test_scoring.py +69 -0
  74. uaml_memory-1.0.0/tests/test_signatures.py +318 -0
  75. uaml_memory-1.0.0/tests/test_snapshot.py +76 -0
  76. uaml_memory-1.0.0/tests/test_store.py +191 -0
  77. uaml_memory-1.0.0/tests/test_store_v2.py +198 -0
  78. uaml_memory-1.0.0/tests/test_summarizer.py +57 -0
  79. uaml_memory-1.0.0/tests/test_sync.py +1012 -0
  80. uaml_memory-1.0.0/tests/test_tagger.py +79 -0
  81. uaml_memory-1.0.0/tests/test_tagging.py +71 -0
  82. uaml_memory-1.0.0/tests/test_templates.py +85 -0
  83. uaml_memory-1.0.0/tests/test_temporal.py +95 -0
  84. uaml_memory-1.0.0/tests/test_validation.py +55 -0
  85. uaml_memory-1.0.0/tests/test_versioning.py +83 -0
  86. uaml_memory-1.0.0/tests/test_voice.py +97 -0
  87. uaml_memory-1.0.0/tests/test_web.py +210 -0
  88. uaml_memory-1.0.0/uaml/__init__.py +35 -0
  89. uaml_memory-1.0.0/uaml/__main__.py +8 -0
  90. uaml_memory-1.0.0/uaml/adapters/__init__.py +10 -0
  91. uaml_memory-1.0.0/uaml/api/__init__.py +9 -0
  92. uaml_memory-1.0.0/uaml/api/client.py +315 -0
  93. uaml_memory-1.0.0/uaml/api/server.py +786 -0
  94. uaml_memory-1.0.0/uaml/audit/__init__.py +7 -0
  95. uaml_memory-1.0.0/uaml/audit/access.py +138 -0
  96. uaml_memory-1.0.0/uaml/audit/collector.py +594 -0
  97. uaml_memory-1.0.0/uaml/audit/logs.py +254 -0
  98. uaml_memory-1.0.0/uaml/audit/provenance.py +151 -0
  99. uaml_memory-1.0.0/uaml/audit/stream.py +1011 -0
  100. uaml_memory-1.0.0/uaml/billing/__init__.py +15 -0
  101. uaml_memory-1.0.0/uaml/billing/emails.py +333 -0
  102. uaml_memory-1.0.0/uaml/billing/invoice.py +735 -0
  103. uaml_memory-1.0.0/uaml/cli/__init__.py +4 -0
  104. uaml_memory-1.0.0/uaml/cli/main.py +1157 -0
  105. uaml_memory-1.0.0/uaml/compliance/__init__.py +12 -0
  106. uaml_memory-1.0.0/uaml/compliance/auditor.py +762 -0
  107. uaml_memory-1.0.0/uaml/compliance/consent.py +168 -0
  108. uaml_memory-1.0.0/uaml/compliance/dpia.py +319 -0
  109. uaml_memory-1.0.0/uaml/compliance/inventory.py +167 -0
  110. uaml_memory-1.0.0/uaml/coordination.py +705 -0
  111. uaml_memory-1.0.0/uaml/core/__init__.py +4 -0
  112. uaml_memory-1.0.0/uaml/core/associative.py +375 -0
  113. uaml_memory-1.0.0/uaml/core/batch.py +271 -0
  114. uaml_memory-1.0.0/uaml/core/changelog.py +161 -0
  115. uaml_memory-1.0.0/uaml/core/config.py +160 -0
  116. uaml_memory-1.0.0/uaml/core/contradiction.py +377 -0
  117. uaml_memory-1.0.0/uaml/core/dedup.py +220 -0
  118. uaml_memory-1.0.0/uaml/core/embeddings.py +168 -0
  119. uaml_memory-1.0.0/uaml/core/events.py +155 -0
  120. uaml_memory-1.0.0/uaml/core/focus_config.py +847 -0
  121. uaml_memory-1.0.0/uaml/core/focus_engine.py +388 -0
  122. uaml_memory-1.0.0/uaml/core/health.py +160 -0
  123. uaml_memory-1.0.0/uaml/core/metrics.py +157 -0
  124. uaml_memory-1.0.0/uaml/core/migration.py +125 -0
  125. uaml_memory-1.0.0/uaml/core/models.py +272 -0
  126. uaml_memory-1.0.0/uaml/core/notifications.py +185 -0
  127. uaml_memory-1.0.0/uaml/core/policy.py +255 -0
  128. uaml_memory-1.0.0/uaml/core/reasoning.py +310 -0
  129. uaml_memory-1.0.0/uaml/core/retention.py +195 -0
  130. uaml_memory-1.0.0/uaml/core/rules_changelog.py +319 -0
  131. uaml_memory-1.0.0/uaml/core/scheduler.py +165 -0
  132. uaml_memory-1.0.0/uaml/core/schema.py +472 -0
  133. uaml_memory-1.0.0/uaml/core/search.py +52 -0
  134. uaml_memory-1.0.0/uaml/core/snapshot.py +152 -0
  135. uaml_memory-1.0.0/uaml/core/store.py +1972 -0
  136. uaml_memory-1.0.0/uaml/core/tagging.py +134 -0
  137. uaml_memory-1.0.0/uaml/core/templates.py +187 -0
  138. uaml_memory-1.0.0/uaml/core/validation.py +140 -0
  139. uaml_memory-1.0.0/uaml/core/versioning.py +259 -0
  140. uaml_memory-1.0.0/uaml/crypto/__init__.py +12 -0
  141. uaml_memory-1.0.0/uaml/crypto/escrow.py +315 -0
  142. uaml_memory-1.0.0/uaml/crypto/pqc.py +364 -0
  143. uaml_memory-1.0.0/uaml/crypto/signatures.py +434 -0
  144. uaml_memory-1.0.0/uaml/customer.py +1614 -0
  145. uaml_memory-1.0.0/uaml/docs/AGENT_GUIDE.md +463 -0
  146. uaml_memory-1.0.0/uaml/docs/API_REFERENCE.md +96 -0
  147. uaml_memory-1.0.0/uaml/docs/FEATURE_MATRIX.md +71 -0
  148. uaml_memory-1.0.0/uaml/docs/__init__.py +31 -0
  149. uaml_memory-1.0.0/uaml/ethics/__init__.py +8 -0
  150. uaml_memory-1.0.0/uaml/ethics/checker.py +549 -0
  151. uaml_memory-1.0.0/uaml/facade.py +289 -0
  152. uaml_memory-1.0.0/uaml/feature_gate.py +653 -0
  153. uaml_memory-1.0.0/uaml/federation/__init__.py +20 -0
  154. uaml_memory-1.0.0/uaml/federation/hub.py +227 -0
  155. uaml_memory-1.0.0/uaml/federation/messaging.py +186 -0
  156. uaml_memory-1.0.0/uaml/graph/__init__.py +8 -0
  157. uaml_memory-1.0.0/uaml/graph/local.py +277 -0
  158. uaml_memory-1.0.0/uaml/graph/sync.py +781 -0
  159. uaml_memory-1.0.0/uaml/ingest/__init__.py +166 -0
  160. uaml_memory-1.0.0/uaml/ingest/base.py +131 -0
  161. uaml_memory-1.0.0/uaml/ingest/chat.py +229 -0
  162. uaml_memory-1.0.0/uaml/ingest/continuous.py +239 -0
  163. uaml_memory-1.0.0/uaml/ingest/filters.py +296 -0
  164. uaml_memory-1.0.0/uaml/ingest/markdown.py +172 -0
  165. uaml_memory-1.0.0/uaml/ingest/pipeline.py +139 -0
  166. uaml_memory-1.0.0/uaml/ingest/search.py +163 -0
  167. uaml_memory-1.0.0/uaml/ingest/web.py +196 -0
  168. uaml_memory-1.0.0/uaml/io/__init__.py +13 -0
  169. uaml_memory-1.0.0/uaml/io/backup.py +268 -0
  170. uaml_memory-1.0.0/uaml/io/exporter.py +367 -0
  171. uaml_memory-1.0.0/uaml/io/formats.py +179 -0
  172. uaml_memory-1.0.0/uaml/io/importer.py +276 -0
  173. uaml_memory-1.0.0/uaml/licensing.py +735 -0
  174. uaml_memory-1.0.0/uaml/mcp/__init__.py +4 -0
  175. uaml_memory-1.0.0/uaml/mcp/server.py +713 -0
  176. uaml_memory-1.0.0/uaml/plugins/__init__.py +25 -0
  177. uaml_memory-1.0.0/uaml/plugins/manager.py +184 -0
  178. uaml_memory-1.0.0/uaml/py.typed +0 -0
  179. uaml_memory-1.0.0/uaml/reasoning/__init__.py +5 -0
  180. uaml_memory-1.0.0/uaml/reasoning/analytics.py +126 -0
  181. uaml_memory-1.0.0/uaml/reasoning/cache.py +121 -0
  182. uaml_memory-1.0.0/uaml/reasoning/clustering.py +144 -0
  183. uaml_memory-1.0.0/uaml/reasoning/conflicts.py +165 -0
  184. uaml_memory-1.0.0/uaml/reasoning/context.py +213 -0
  185. uaml_memory-1.0.0/uaml/reasoning/entities.py +156 -0
  186. uaml_memory-1.0.0/uaml/reasoning/incidents.py +479 -0
  187. uaml_memory-1.0.0/uaml/reasoning/linker.py +155 -0
  188. uaml_memory-1.0.0/uaml/reasoning/optimizer.py +154 -0
  189. uaml_memory-1.0.0/uaml/reasoning/scoring.py +177 -0
  190. uaml_memory-1.0.0/uaml/reasoning/summarizer.py +158 -0
  191. uaml_memory-1.0.0/uaml/reasoning/tagger.py +138 -0
  192. uaml_memory-1.0.0/uaml/reasoning/temporal.py +304 -0
  193. uaml_memory-1.0.0/uaml/security/__init__.py +8 -0
  194. uaml_memory-1.0.0/uaml/security/configurator.py +2753 -0
  195. uaml_memory-1.0.0/uaml/security/hardening.py +456 -0
  196. uaml_memory-1.0.0/uaml/security/ratelimit.py +106 -0
  197. uaml_memory-1.0.0/uaml/security/rbac.py +162 -0
  198. uaml_memory-1.0.0/uaml/security/sanitizer.py +244 -0
  199. uaml_memory-1.0.0/uaml/sync.py +1525 -0
  200. uaml_memory-1.0.0/uaml/telemetry.py +183 -0
  201. uaml_memory-1.0.0/uaml/voice/__init__.py +22 -0
  202. uaml_memory-1.0.0/uaml/voice/stt.py +245 -0
  203. uaml_memory-1.0.0/uaml/voice/tts.py +197 -0
  204. uaml_memory-1.0.0/uaml/web/__init__.py +8 -0
  205. uaml_memory-1.0.0/uaml/web/app.py +1254 -0
  206. uaml_memory-1.0.0/uaml/web/static/css/style.css +461 -0
  207. uaml_memory-1.0.0/uaml/web/static/i18n/cs.json +238 -0
  208. uaml_memory-1.0.0/uaml/web/static/i18n/en.json +253 -0
  209. uaml_memory-1.0.0/uaml/web/static/i18n/es.json +125 -0
  210. uaml_memory-1.0.0/uaml/web/static/i18n/fr.json +125 -0
  211. uaml_memory-1.0.0/uaml/web/static/i18n/pl.json +125 -0
  212. uaml_memory-1.0.0/uaml/web/static/i18n/sk.json +125 -0
  213. uaml_memory-1.0.0/uaml/web/static/js/app.js +213 -0
  214. uaml_memory-1.0.0/uaml/web/templates/compliance.html +108 -0
  215. uaml_memory-1.0.0/uaml/web/templates/dashboard.html +199 -0
  216. uaml_memory-1.0.0/uaml/web/templates/export.html +85 -0
  217. uaml_memory-1.0.0/uaml/web/templates/graph.html +231 -0
  218. uaml_memory-1.0.0/uaml/web/templates/infrastructure.html +43 -0
  219. uaml_memory-1.0.0/uaml/web/templates/input-filter.html +312 -0
  220. uaml_memory-1.0.0/uaml/web/templates/knowledge.html +195 -0
  221. uaml_memory-1.0.0/uaml/web/templates/layout.html +63 -0
  222. uaml_memory-1.0.0/uaml/web/templates/license.html +163 -0
  223. uaml_memory-1.0.0/uaml/web/templates/orchestration.html +353 -0
  224. uaml_memory-1.0.0/uaml/web/templates/output-filter.html +378 -0
  225. uaml_memory-1.0.0/uaml/web/templates/projects.html +81 -0
  226. uaml_memory-1.0.0/uaml/web/templates/rules-log.html +112 -0
  227. uaml_memory-1.0.0/uaml/web/templates/sanitize.html +239 -0
  228. uaml_memory-1.0.0/uaml/web/templates/settings.html +50 -0
  229. uaml_memory-1.0.0/uaml/web/templates/tasks.html +104 -0
  230. uaml_memory-1.0.0/uaml/web/templates/team.html +132 -0
  231. uaml_memory-1.0.0/uaml/web/templates/timeline.html +70 -0
  232. uaml_memory-1.0.0/uaml_memory.egg-info/PKG-INFO +390 -0
  233. uaml_memory-1.0.0/uaml_memory.egg-info/SOURCES.txt +235 -0
  234. uaml_memory-1.0.0/uaml_memory.egg-info/dependency_links.txt +1 -0
  235. uaml_memory-1.0.0/uaml_memory.egg-info/entry_points.txt +2 -0
  236. uaml_memory-1.0.0/uaml_memory.egg-info/requires.txt +21 -0
  237. uaml_memory-1.0.0/uaml_memory.egg-info/top_level.txt +1 -0
@@ -0,0 +1,60 @@
1
+ UAML Memory — Universal Agent Memory Layer
2
+ Copyright (c) 2026 GLG, a.s. All rights reserved.
3
+
4
+ PROPRIETARY SOFTWARE LICENSE
5
+
6
+ 1. PERSONAL USE (Community Plan)
7
+
8
+ Permission is hereby granted, free of charge, to any individual obtaining
9
+ a copy of this software and associated documentation files (the "Software"),
10
+ to use the Software for personal, non-commercial purposes only, subject to
11
+ the following conditions:
12
+
13
+ - The above copyright notice and this permission notice shall be included
14
+ in all copies or substantial portions of the Software.
15
+ - Personal use is limited to features available under the Community plan.
16
+ - The Software may not be used for commercial purposes, resold,
17
+ sublicensed, or redistributed for commercial advantage.
18
+ - You may not reverse engineer, decompile, or create derivative works
19
+ for commercial distribution.
20
+
21
+ 2. COMMERCIAL USE (Paid Subscription)
22
+
23
+ Commercial use of the Software requires an active paid subscription from
24
+ GLG, a.s. Subscription plans (Starter, Professional, Team, Enterprise)
25
+ unlock additional features based on the selected tier.
26
+
27
+ - License rights are time-limited to the active subscription period.
28
+ - Upon subscription expiration, paid features are locked; personal-use
29
+ features (Community plan) remain available. Your data is preserved.
30
+ - One full installation; features are enabled/disabled based on the
31
+ active license tier.
32
+ - For pricing and plans, see: https://uaml-memory.com
33
+
34
+ 3. RESTRICTIONS
35
+
36
+ - No part of this Software may be used commercially without a valid
37
+ paid subscription from GLG, a.s.
38
+ - Redistribution of the Software or its components for commercial
39
+ purposes is strictly prohibited.
40
+ - The Software and all intellectual property therein remain the
41
+ exclusive property of GLG, a.s.
42
+
43
+ 4. EXPERIMENTAL STATUS
44
+
45
+ The Software is under active development and should be considered
46
+ experimental. APIs, configurations, and behavior may change between
47
+ versions without prior notice. Use at your own risk. Customization
48
+ to your specific workflow and use case will be required.
49
+
50
+ 5. DISCLAIMER
51
+
52
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
53
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
54
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
55
+ GLG, A.S. OR ITS CONTRIBUTORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
56
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
57
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
58
+ DEALINGS IN THE SOFTWARE.
59
+
60
+ Contact: info@uaml.ai | https://uaml-memory.com
@@ -0,0 +1,29 @@
1
+ UAML — Universal Agent Memory Layer
2
+ Copyright 2026 GLG, a.s.
3
+ Proprietary software. Free for personal use, commercial use requires paid subscription.
4
+
5
+ This product includes software developed by third parties:
6
+
7
+ - click (https://palletsprojects.com/p/click/)
8
+ License: BSD-3-Clause
9
+ Copyright: Pallets Projects
10
+
11
+ - neo4j (https://neo4j.com/) [optional]
12
+ License: Apache-2.0
13
+ Copyright: Neo4j, Inc.
14
+
15
+ - spacy (https://spacy.io/) [optional]
16
+ License: MIT
17
+ Copyright: Explosion AI
18
+
19
+ - age-encryption (https://age-encryption.org/) [optional]
20
+ License: Apache-2.0
21
+
22
+ - mcp (https://modelcontextprotocol.io/) [optional]
23
+ License: MIT
24
+ Copyright: Anthropic, PBC
25
+
26
+ Development dependencies (not distributed):
27
+ - pytest: MIT
28
+ - pytest-cov: MIT
29
+ - ruff: MIT
@@ -0,0 +1,390 @@
1
+ Metadata-Version: 2.2
2
+ Name: uaml-memory
3
+ Version: 1.0.0
4
+ Summary: Universal Agent Memory Layer — persistent, temporal, ethical memory for AI agents
5
+ Author: GLG, a.s.
6
+ License: Proprietary — Free for personal use, commercial use requires paid subscription (see LICENSE)
7
+ Project-URL: Homepage, https://github.com/uaml/uaml
8
+ Project-URL: Documentation, https://uaml.dev
9
+ Project-URL: Repository, https://github.com/uaml/uaml
10
+ Project-URL: Bug Tracker, https://github.com/uaml/uaml/issues
11
+ Project-URL: Changelog, https://github.com/uaml/uaml/blob/main/CHANGELOG.md
12
+ Keywords: ai,agent,memory,knowledge-graph,temporal,ethics,mcp
13
+ Classifier: Development Status :: 3 - Alpha
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
22
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
+ Classifier: Typing :: Typed
24
+ Requires-Python: >=3.10
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ License-File: NOTICE
28
+ Requires-Dist: click>=8.0
29
+ Provides-Extra: neo4j
30
+ Requires-Dist: neo4j>=5.0; extra == "neo4j"
31
+ Provides-Extra: entities
32
+ Requires-Dist: spacy>=3.7; extra == "entities"
33
+ Provides-Extra: pqc
34
+ Requires-Dist: age-encryption>=0.1; extra == "pqc"
35
+ Provides-Extra: mcp
36
+ Requires-Dist: mcp>=1.0; extra == "mcp"
37
+ Provides-Extra: all
38
+ Requires-Dist: uaml[entities,mcp,neo4j]; extra == "all"
39
+ Provides-Extra: dev
40
+ Requires-Dist: pytest>=7.0; extra == "dev"
41
+ Requires-Dist: pytest-cov; extra == "dev"
42
+ Requires-Dist: ruff; extra == "dev"
43
+
44
+ # UAML — Universal Agent Memory Layer
45
+
46
+ **Persistent, temporal, ethical memory for AI agents.**
47
+
48
+ Give your AI agent a real memory — one that persists across sessions, respects time, isolates client data, and works with any framework.
49
+
50
+ ## Quick Start
51
+
52
+ ```bash
53
+ pip install uaml
54
+ uaml init
55
+ uaml learn "Python GIL prevents true multithreading" --topic python
56
+ uaml search "GIL threading"
57
+ uaml serve # Start MCP server for Claude, Cursor, etc.
58
+ ```
59
+
60
+ ## Why UAML?
61
+
62
+ Most AI agents are amnesiacs. They lose context between sessions, mix up client data, and can't answer "what did we know last Tuesday?"
63
+
64
+ UAML fixes this:
65
+
66
+ | Feature | UAML | Vector DB | Flat files |
67
+ |---------|------|-----------|------------|
68
+ | Full-text search | ✅ FTS5 | ❌ Semantic only | ❌ grep |
69
+ | Temporal queries | ✅ Point-in-time | ❌ | ❌ |
70
+ | Client isolation | ✅ Built-in | ❌ Manual | ❌ Manual |
71
+ | Deduplication | ✅ Content hash | ❌ | ❌ |
72
+ | Audit trail | ✅ Every operation | ❌ | ❌ |
73
+ | Zero dependencies | ✅ SQLite stdlib | ❌ Server needed | ✅ |
74
+ | MCP server | ✅ stdio + HTTP | ❌ | ❌ |
75
+
76
+ ## Features
77
+
78
+ - **SQLite + FTS5** — Fast full-text search, zero external dependencies, single-file database
79
+ - **Temporal queries** — "What was valid at time X?" (killer feature for legal/compliance)
80
+ - **Client isolation** — Per-client data separation for regulated industries (GDPR, legal, finance)
81
+ - **Multi-agent support** — Private and shared knowledge tiers with agent attribution
82
+ - **Content deduplication** — SHA-256 hash prevents duplicate entries
83
+ - **Audit trail** — Every learn/search operation logged with agent ID and timestamp
84
+ - **MCP server** — Works with Claude Desktop, Cursor, OpenClaw, or any MCP-compatible client
85
+ - **Two transports** — stdio (local) and HTTP (remote/shared)
86
+ - **CLI included** — `uaml init`, `uaml learn`, `uaml search`, `uaml stats`, `uaml serve`
87
+
88
+ - **Ethics pipeline** — 8 rules (3 hard/reject, 5 soft/flag), 3 modes (enforce/warn/off), YAML import/export
89
+ - **Task management** — Create, assign, track tasks with priorities, subtasks, and FTS5 search
90
+ - **Export/Import** — JSONL format, selective filters (topic/project/client/layer), identity protection
91
+ - **Ingestors** — Chat sessions (JSONL), Markdown (with heading split), Web pages (HTML stripping + chunking)
92
+ - **5-layer DataLayer** — Identity / Knowledge / Team / Operational / Project with per-layer access control
93
+ - **Source origin tracking** — external / generated / derived / observed metadata on every entry
94
+
95
+ ### v1.0 — Full Stack
96
+
97
+ - **UAML Facade** — Single entry point: `from uaml.facade import UAML` with lazy module init
98
+ - **Context Builder** — LLM-optimized context assembly with token budgeting and dedup
99
+ - **Knowledge Scoring** — Multi-dimensional quality scoring (completeness, freshness, confidence)
100
+ - **Knowledge Clustering** — Jaccard similarity clustering with outlier detection
101
+ - **Conflict Resolution** — Detect contradictions, resolve via strategies (keep_newest, merge, etc.)
102
+ - **Query Optimizer** — Abbreviation expansion, normalization, synonym suggestions
103
+ - **Search Analytics** — Query tracking, latency stats, zero-result rate analysis
104
+ - **Search Cache** — LRU cache with TTL for repeated queries
105
+ - **Knowledge Summarizer** — Topic summaries, store overview, entry compression
106
+ - **Knowledge Linker** — Auto-suggest links by content/topic overlap
107
+ - **Entity Extraction** — Regex NER for persons, organizations, locations, dates, emails
108
+ - **Temporal Reasoning** — Timeline, stale detection, conflict analysis, freshness scoring
109
+ - **Event Sourcing** — Append-only event log with replay and listeners
110
+ - **Ingest Pipeline** — Multi-stage ingestion with custom validation stages
111
+ - **Retention Policies** — Lifecycle rules (archive, delete, reduce_confidence, flag_review)
112
+ - **Backup Manager** — Create/verify/list/rotate/restore with gzip compression
113
+ - **RBAC** — Role-based access control with permissions and grants
114
+ - **Rate Limiter** — Token bucket per-agent/operation protection
115
+ - **Data Sanitizer** — PII detection and redaction (email, phone, IP, CC, API keys)
116
+ - **Provenance Tracking** — Full lineage: origin, transforms, agent contributions
117
+ - **Data Inventory** — GDPR Art. 30 processing records with compliance checks
118
+ - **Knowledge Validation** — Content quality, metadata completeness, schema compliance
119
+ - **Tag Manager** — Bulk tag operations, tag cloud, rename, normalization
120
+ - **Snapshot Manager** — Point-in-time snapshots with diff comparison
121
+ - **Knowledge Templates** — Predefined entry templates with validation
122
+ - **Embedding Engine** — Pluggable embedding abstraction with cosine similarity
123
+ - **Changelog Generator** — Audit-based changelog with markdown export
124
+ - **Inter-agent Messaging** — Typed messages, handlers, threading, reply chains
125
+ - **Notification Center** — Event subscriptions with throttling
126
+ - **Health Checker** — DB integrity, storage, audit trail, knowledge quality
127
+ - **Maintenance Scheduler** — Periodic task scheduling with error tracking
128
+ - **Auto-Tagger** — Topic detection, keyword extraction, pattern matching
129
+ - **Export Formatter** — JSON, JSONL, CSV, Markdown with filtering
130
+ - **Config Manager** — Centralized config with dot-path access and env overrides
131
+ - **Plugin System** — Hook-based plugin manager for extensibility
132
+ - **Local Knowledge Graph** — SQLite-based graph without Neo4j dependency
133
+ - **Federation Hub** — Multi-agent knowledge sharing with identity protection
134
+ - **Neo4j integration** — Graph sync with dual-DB architecture (`pip install uaml[neo4j]`)
135
+ - **PQC encryption** — ML-KEM-768 post-quantum cryptography (`pip install uaml[pqc]`)
136
+ - **REST API** — Full CRUD + search + timeline + graph endpoints
137
+ - **Policy engine** — Query classification, recall tiers, token budget control
138
+ - **Compliance auditor** — Automated GDPR + ISO 27001 checks
139
+ - **Voice pipeline** — TTS (Piper) + STT (Whisper) for edge deployments
140
+
141
+ ## Usage
142
+
143
+ ### Facade API (recommended for v1.0+)
144
+
145
+ ```python
146
+ from uaml.facade import UAML
147
+
148
+ uaml = UAML("knowledge.db", agent_id="my-agent")
149
+
150
+ # Store and search
151
+ uaml.learn("Python's GIL prevents true threading", topic="python")
152
+ results = uaml.search("threading")
153
+
154
+ # Build LLM context with token budgeting
155
+ ctx = uaml.context("What about Python threading?", max_tokens=2000)
156
+ print(ctx.text) # Ready for prompt injection
157
+
158
+ # Quality scoring
159
+ score = uaml.score(entry_id=1)
160
+ print(f"Quality: {score.overall:.0%}")
161
+
162
+ # Detect conflicts
163
+ conflicts = uaml.detect_conflicts()
164
+
165
+ # PII sanitization
166
+ clean = uaml.sanitize("Email me at john@example.com")
167
+ # → "Email me at [EMAIL_REDACTED]"
168
+
169
+ # Backup and health
170
+ uaml.backup()
171
+ health = uaml.health_check()
172
+
173
+ # Store overview
174
+ overview = uaml.overview()
175
+ print(overview.to_markdown())
176
+
177
+ uaml.close()
178
+ ```
179
+
180
+ ### Low-Level API
181
+
182
+ ```python
183
+ from uaml import MemoryStore
184
+
185
+ # Create or open a memory database
186
+ store = MemoryStore("my_agent.db", agent_id="agent-1")
187
+
188
+ # Store knowledge
189
+ store.learn(
190
+ "GDPR requires data protection by design",
191
+ topic="legal",
192
+ tags="gdpr,privacy",
193
+ valid_from="2018-05-25",
194
+ client_ref="client-acme",
195
+ confidence=0.95,
196
+ )
197
+
198
+ # Search
199
+ results = store.search("data protection", limit=5)
200
+ for r in results:
201
+ print(f"[{r.score:.2f}] {r.entry.content}")
202
+
203
+ # Temporal query — what was valid on a specific date?
204
+ results = store.point_in_time("privacy law", "2017-01-01")
205
+
206
+ # Client-isolated search — only returns data for this client
207
+ results = store.search("contract", client_ref="client-acme")
208
+
209
+ # Statistics
210
+ print(store.stats())
211
+
212
+ store.close()
213
+ ```
214
+
215
+ ### MCP Server (for Claude, Cursor, etc.)
216
+
217
+ **stdio transport** (local, recommended):
218
+ ```bash
219
+ uaml serve --db my_agent.db
220
+ ```
221
+
222
+ **HTTP transport** (remote access):
223
+ ```bash
224
+ uaml serve --db my_agent.db --transport http --port 8768 --host 127.0.0.1
225
+ ```
226
+
227
+ #### Claude Desktop Configuration
228
+
229
+ Add to `claude_desktop_config.json`:
230
+ ```json
231
+ {
232
+ "mcpServers": {
233
+ "uaml": {
234
+ "command": "uaml",
235
+ "args": ["serve", "--db", "/path/to/memory.db"]
236
+ }
237
+ }
238
+ }
239
+ ```
240
+
241
+ #### MCP Tools Available
242
+
243
+ | Tool | Description |
244
+ |------|-------------|
245
+ | `memory_search` | Full-text search with temporal and client isolation filters |
246
+ | `memory_learn` | Store new knowledge with metadata, dedup, and audit |
247
+ | `memory_entity` | Look up entities and their knowledge connections |
248
+ | `memory_stats` | Database statistics (counts, topics, agents) |
249
+ | `memory_ethics_check` | Check content against ethics rules |
250
+ | `task_create` | Create a new task |
251
+ | `task_list` | List tasks with filters |
252
+ | `task_update` | Update task status/fields |
253
+
254
+ #### MCP Resources
255
+
256
+ | URI | Description |
257
+ |-----|-------------|
258
+ | `uaml://stats` | Live database statistics |
259
+ | `uaml://schema` | Schema version and table structure |
260
+
261
+ ### CLI
262
+
263
+ ```bash
264
+ # Initialize a new database
265
+ uaml init --db project.db
266
+
267
+ # Store knowledge
268
+ uaml learn "React 19 uses a compiler" --topic frontend --tags "react,compiler"
269
+
270
+ # Search with filters
271
+ uaml search "compiler" --topic frontend --limit 10
272
+ uaml search "privacy" --at-time 2020-01-01 --client acme
273
+
274
+ # JSON output (for piping)
275
+ uaml search "GIL" --json-output
276
+
277
+ # Statistics
278
+ uaml stats --db project.db
279
+
280
+ # Ethics check
281
+ uaml ethics check "Some content to validate"
282
+ uaml ethics rules # Show all rules
283
+
284
+ # Task management
285
+ uaml task add "Implement feature X" --project myapp --assigned agent-1
286
+ uaml task list --status todo
287
+ uaml task done 42
288
+
289
+ # Export / Import
290
+ uaml io export --topic python -o python_knowledge.jsonl
291
+ uaml io export --client "client-A" -o audit.jsonl
292
+ uaml io import backup.jsonl --override-agent new-agent
293
+
294
+ # Ingest data
295
+ uaml ingest chat session.jsonl --topic ai --project uaml
296
+ uaml ingest md docs/ --heading-level 2 --recursive
297
+ uaml ingest web https://example.com --chunk-size 4000
298
+ ```
299
+
300
+ ## Architecture
301
+
302
+ ```
303
+ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
304
+ │ Claude │ │ Your Agent │ │ LangChain │
305
+ │ Desktop │ │ Framework │ │ / AutoGen │
306
+ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘
307
+ │ MCP │ Facade API │ Adapter
308
+ ▼ ▼ ▼
309
+ ┌──────────────────────────────────────────────────────┐
310
+ │ UAML Facade (lazy init) │
311
+ ├──────────────────────────────────────────────────────┤
312
+ │ Core │ Reasoning │ Security │
313
+ │ ┌───────────┐ │ ┌────────────┐ │ ┌─────────────┐ │
314
+ │ │ Store │ │ │ Context │ │ │ RBAC │ │
315
+ │ │ Config │ │ │ Scoring │ │ │ Sanitizer │ │
316
+ │ │ Events │ │ │ Clustering │ │ │ RateLimiter │ │
317
+ │ │ Retention │ │ │ Conflicts │ │ │ Hardening │ │
318
+ │ │ Snapshot │ │ │ Summarizer │ │ └─────────────┘ │
319
+ │ │ Tagging │ │ │ Optimizer │ │ │
320
+ │ │ Scheduler │ │ │ Analytics │ │ Compliance │
321
+ │ │ Dedup │ │ │ Entities │ │ ┌─────────────┐ │
322
+ │ │ Templates │ │ │ Temporal │ │ │ Auditor │ │
323
+ │ │ Batch │ │ │ Linker │ │ │ DPIA │ │
324
+ │ │ Health │ │ │ Cache │ │ │ Inventory │ │
325
+ │ └───────────┘ │ └────────────┘ │ │ Consent │ │
326
+ │ │ │ └─────────────┘ │
327
+ │ I/O │ Federation │ │
328
+ │ ┌───────────┐ │ ┌────────────┐ │ Audit │
329
+ │ │ Backup │ │ │ Hub │ │ ┌─────────────┐ │
330
+ │ │ Export │ │ │ Messaging │ │ │ AuditLog │ │
331
+ │ │ Import │ │ └────────────┘ │ │ Access │ │
332
+ │ │ Formats │ │ │ │ Provenance │ │
333
+ │ └───────────┘ │ Plugins │ └─────────────┘ │
334
+ │ │ ┌────────────┐ │ │
335
+ │ Graph │ │ Manager │ │ Voice │
336
+ │ ┌───────────┐ │ └────────────┘ │ ┌─────────────┐ │
337
+ │ │ LocalGraph│ │ │ │ TTS / STT │ │
338
+ │ └───────────┘ │ │ └─────────────┘ │
339
+ ├──────────────────────────────────────────────────────┤
340
+ │ SQLite + FTS5 (single file) │
341
+ └──────────────────────────────────────────────────────┘
342
+ ```
343
+
344
+ UAML is **framework-agnostic**. Use it with OpenClaw, LangChain, CrewAI, AutoGen, or your own agent.
345
+
346
+ **1000+ tests** ensure reliability across all modules.
347
+
348
+ ## Data Model
349
+
350
+ Each knowledge entry has:
351
+
352
+ | Field | Type | Description |
353
+ |-------|------|-------------|
354
+ | `content` | text | The knowledge content |
355
+ | `topic` | text | Category/topic |
356
+ | `summary` | text | Short summary |
357
+ | `source_type` | enum | manual, chat, web_page, research, document, ... |
358
+ | `source_ref` | text | URL, file path, session ID |
359
+ | `tags` | text | Comma-separated tags |
360
+ | `confidence` | float | 0.0–1.0 confidence score |
361
+ | `access_level` | enum | public, internal, confidential, restricted |
362
+ | `trust_level` | enum | verified, unverified, disputed |
363
+ | `valid_from` | datetime | Temporal validity start |
364
+ | `valid_until` | datetime | Temporal validity end |
365
+ | `client_ref` | text | Client ID for data isolation |
366
+ | `project` | text | Project name |
367
+ | `agent_id` | text | Which agent created this |
368
+ | `data_layer` | enum | identity, knowledge, team, operational, project |
369
+ | `source_origin` | enum | external, generated, derived, observed |
370
+ | `content_hash` | text | SHA-256 for deduplication |
371
+
372
+ ## Requirements
373
+
374
+ - Python 3.10+
375
+ - No external dependencies (SQLite is in stdlib)
376
+
377
+ ## License
378
+
379
+ **Proprietary Software** — Copyright (c) 2026 GLG, a.s. All rights reserved.
380
+
381
+ - **Personal use:** Free (Community plan — limited features)
382
+ - **Commercial use:** Requires an active paid subscription from GLG, a.s.
383
+ - Features are unlocked based on your subscription tier (Starter / Professional / Team / Enterprise)
384
+ - Upon subscription expiration, paid features lock; your data is preserved
385
+
386
+ ⚠️ All features are experimental and under active development. Use at your own risk.
387
+
388
+ Contact for commercial licensing: [info@uaml.ai](mailto:info@uaml.ai) | [uaml-memory.com](https://uaml-memory.com)
389
+
390
+ See [LICENSE](LICENSE) for full terms.