MemoryOS 0.2.0__tar.gz → 0.2.1__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 (166) hide show
  1. {memoryos-0.2.0 → memoryos-0.2.1}/PKG-INFO +66 -26
  2. {memoryos-0.2.0 → memoryos-0.2.1}/README.md +27 -13
  3. memoryos-0.2.1/pyproject.toml +205 -0
  4. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/__init__.py +1 -1
  5. memoryos-0.2.1/src/memos/api/config.py +471 -0
  6. memoryos-0.2.1/src/memos/api/exceptions.py +28 -0
  7. memoryos-0.2.1/src/memos/api/mcp_serve.py +502 -0
  8. memoryos-0.2.1/src/memos/api/product_api.py +35 -0
  9. memoryos-0.2.1/src/memos/api/product_models.py +159 -0
  10. memoryos-0.2.1/src/memos/api/routers/__init__.py +1 -0
  11. memoryos-0.2.1/src/memos/api/routers/product_router.py +358 -0
  12. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/chunkers/sentence_chunker.py +8 -2
  13. memoryos-0.2.1/src/memos/cli.py +113 -0
  14. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/embedder.py +27 -0
  15. memoryos-0.2.1/src/memos/configs/graph_db.py +126 -0
  16. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/llm.py +47 -0
  17. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/mem_cube.py +1 -1
  18. memoryos-0.2.1/src/memos/configs/mem_scheduler.py +164 -0
  19. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/memory.py +5 -4
  20. memoryos-0.2.1/src/memos/dependency.py +52 -0
  21. memoryos-0.2.1/src/memos/embedders/ark.py +92 -0
  22. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/embedders/factory.py +4 -0
  23. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/embedders/sentence_transformer.py +8 -2
  24. memoryos-0.2.1/src/memos/embedders/universal_api.py +32 -0
  25. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/graph_dbs/base.py +2 -2
  26. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/graph_dbs/factory.py +2 -0
  27. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/graph_dbs/neo4j.py +331 -122
  28. memoryos-0.2.1/src/memos/graph_dbs/neo4j_community.py +300 -0
  29. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/llms/base.py +9 -0
  30. memoryos-0.2.1/src/memos/llms/deepseek.py +54 -0
  31. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/llms/factory.py +10 -1
  32. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/llms/hf.py +170 -13
  33. memoryos-0.2.1/src/memos/llms/hf_singleton.py +114 -0
  34. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/llms/ollama.py +4 -0
  35. memoryos-0.2.1/src/memos/llms/openai.py +101 -0
  36. memoryos-0.2.1/src/memos/llms/qwen.py +63 -0
  37. memoryos-0.2.1/src/memos/llms/vllm.py +153 -0
  38. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_cube/general.py +77 -16
  39. memoryos-0.2.1/src/memos/mem_cube/utils.py +126 -0
  40. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_os/core.py +131 -41
  41. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_os/main.py +93 -11
  42. memoryos-0.2.1/src/memos/mem_os/product.py +1152 -0
  43. memoryos-0.2.1/src/memos/mem_os/utils/default_config.py +352 -0
  44. memoryos-0.2.1/src/memos/mem_os/utils/format_utils.py +1154 -0
  45. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_reader/simple_struct.py +5 -5
  46. memoryos-0.2.1/src/memos/mem_scheduler/base_scheduler.py +595 -0
  47. memoryos-0.2.1/src/memos/mem_scheduler/general_scheduler.py +186 -0
  48. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_scheduler/modules/base.py +9 -0
  49. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_scheduler/modules/dispatcher.py +68 -2
  50. memoryos-0.2.1/src/memos/mem_scheduler/modules/misc.py +39 -0
  51. memoryos-0.2.1/src/memos/mem_scheduler/modules/monitor.py +261 -0
  52. memoryos-0.2.1/src/memos/mem_scheduler/modules/rabbitmq_service.py +317 -0
  53. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_scheduler/modules/redis_service.py +32 -22
  54. memoryos-0.2.1/src/memos/mem_scheduler/modules/retriever.py +268 -0
  55. memoryos-0.2.1/src/memos/mem_scheduler/modules/schemas.py +328 -0
  56. memoryos-0.2.1/src/memos/mem_scheduler/mos_for_test_scheduler.py +143 -0
  57. memoryos-0.2.1/src/memos/mem_scheduler/utils.py +75 -0
  58. memoryos-0.2.1/src/memos/mem_user/persistent_user_manager.py +260 -0
  59. memoryos-0.2.1/src/memos/memories/activation/item.py +50 -0
  60. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/activation/kv.py +10 -3
  61. memoryos-0.2.1/src/memos/memories/activation/vllmkv.py +219 -0
  62. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/factory.py +2 -0
  63. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/general.py +7 -5
  64. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree.py +9 -5
  65. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/organize/conflict.py +5 -3
  66. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/organize/manager.py +26 -18
  67. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/organize/redundancy.py +25 -44
  68. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/organize/relation_reason_detector.py +11 -13
  69. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/organize/reorganizer.py +73 -51
  70. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/recall.py +0 -1
  71. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/reranker.py +2 -2
  72. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/searcher.py +6 -5
  73. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/parsers/markitdown.py +8 -2
  74. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/templates/mem_reader_prompts.py +65 -23
  75. memoryos-0.2.1/src/memos/templates/mem_scheduler_prompts.py +114 -0
  76. memoryos-0.2.1/src/memos/templates/tree_reorganize_prompts.py +223 -0
  77. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/vec_dbs/base.py +12 -0
  78. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/vec_dbs/qdrant.py +46 -20
  79. memoryos-0.2.0/pyproject.toml +0 -112
  80. memoryos-0.2.0/src/memos/configs/graph_db.py +0 -45
  81. memoryos-0.2.0/src/memos/configs/mem_scheduler.py +0 -78
  82. memoryos-0.2.0/src/memos/llms/openai.py +0 -35
  83. memoryos-0.2.0/src/memos/mem_cube/utils.py +0 -24
  84. memoryos-0.2.0/src/memos/mem_os/product.py +0 -89
  85. memoryos-0.2.0/src/memos/mem_scheduler/base_scheduler.py +0 -164
  86. memoryos-0.2.0/src/memos/mem_scheduler/general_scheduler.py +0 -305
  87. memoryos-0.2.0/src/memos/mem_scheduler/modules/monitor.py +0 -82
  88. memoryos-0.2.0/src/memos/mem_scheduler/modules/retriever.py +0 -41
  89. memoryos-0.2.0/src/memos/mem_scheduler/modules/schemas.py +0 -146
  90. memoryos-0.2.0/src/memos/mem_scheduler/utils.py +0 -26
  91. memoryos-0.2.0/src/memos/memories/activation/item.py +0 -25
  92. memoryos-0.2.0/src/memos/templates/mem_scheduler_prompts.py +0 -65
  93. memoryos-0.2.0/src/memos/templates/tree_reorganize_prompts.py +0 -168
  94. {memoryos-0.2.0 → memoryos-0.2.1}/LICENSE +0 -0
  95. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/api/start_api.py +0 -0
  96. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/chunkers/__init__.py +0 -0
  97. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/chunkers/base.py +0 -0
  98. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/chunkers/factory.py +0 -0
  99. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/__init__.py +0 -0
  100. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/base.py +0 -0
  101. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/chunker.py +0 -0
  102. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/internet_retriever.py +0 -0
  103. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/mem_chat.py +0 -0
  104. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/mem_os.py +0 -0
  105. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/mem_reader.py +0 -0
  106. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/parser.py +0 -0
  107. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/utils.py +0 -0
  108. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/vec_db.py +0 -0
  109. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/deprecation.py +0 -0
  110. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/embedders/__init__.py +0 -0
  111. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/embedders/base.py +0 -0
  112. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/embedders/ollama.py +0 -0
  113. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/exceptions.py +0 -0
  114. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/graph_dbs/__init__.py +0 -0
  115. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/graph_dbs/item.py +0 -0
  116. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/hello_world.py +0 -0
  117. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/llms/__init__.py +0 -0
  118. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/llms/utils.py +0 -0
  119. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/log.py +0 -0
  120. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_chat/__init__.py +0 -0
  121. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_chat/base.py +0 -0
  122. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_chat/factory.py +0 -0
  123. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_chat/simple.py +0 -0
  124. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_cube/__init__.py +0 -0
  125. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_cube/base.py +0 -0
  126. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_os/client.py +0 -0
  127. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_reader/__init__.py +0 -0
  128. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_reader/base.py +0 -0
  129. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_reader/factory.py +0 -0
  130. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_reader/memory.py +0 -0
  131. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_scheduler/__init__.py +0 -0
  132. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_scheduler/modules/__init__.py +0 -0
  133. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_scheduler/scheduler_factory.py +0 -0
  134. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_user/user_manager.py +0 -0
  135. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/__init__.py +0 -0
  136. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/activation/__init__.py +0 -0
  137. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/activation/base.py +0 -0
  138. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/base.py +0 -0
  139. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/parametric/__init__.py +0 -0
  140. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/parametric/base.py +0 -0
  141. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/parametric/item.py +0 -0
  142. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/parametric/lora.py +0 -0
  143. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/__init__.py +0 -0
  144. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/base.py +0 -0
  145. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/item.py +0 -0
  146. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/naive.py +0 -0
  147. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/__init__.py +0 -0
  148. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/organize/__init__.py +0 -0
  149. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/__init__.py +0 -0
  150. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/internet_retriever.py +0 -0
  151. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/internet_retriever_factory.py +0 -0
  152. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/reasoner.py +0 -0
  153. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/retrieval_mid_structs.py +0 -0
  154. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/task_goal_parser.py +0 -0
  155. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/utils.py +0 -0
  156. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/xinyusearch.py +0 -0
  157. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/parsers/__init__.py +0 -0
  158. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/parsers/base.py +0 -0
  159. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/parsers/factory.py +0 -0
  160. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/settings.py +0 -0
  161. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/templates/__init__.py +0 -0
  162. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/templates/mos_prompts.py +0 -0
  163. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/types.py +0 -0
  164. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/vec_dbs/__init__.py +0 -0
  165. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/vec_dbs/factory.py +0 -0
  166. {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/vec_dbs/item.py +0 -0
@@ -1,33 +1,59 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: MemoryOS
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Intelligence Begins with Memory
5
5
  License: Apache-2.0
6
- Keywords: memory,llm,language model,memoryOS,agent
6
+ Keywords: memory,llm,language model,memoryOS,agent,kv cache,lora
7
7
  Author: MemTensor
8
- Author-email: lizy@memtensor.cn
9
- Requires-Python: >=3.10,<4.0
8
+ Author-email: MemTensor@memtensor.cn
9
+ Requires-Python: >=3.10
10
+ Classifier: Intended Audience :: Developers
10
11
  Classifier: License :: OSI Approved :: Apache Software License
11
- Classifier: Programming Language :: Python :: 3
12
+ Classifier: Natural Language :: English
13
+ Classifier: Natural Language :: Chinese (Simplified)
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3 :: Only
12
16
  Classifier: Programming Language :: Python :: 3.10
13
17
  Classifier: Programming Language :: Python :: 3.11
14
18
  Classifier: Programming Language :: Python :: 3.12
15
19
  Classifier: Programming Language :: Python :: 3.13
16
- Requires-Dist: accelerate (>=1.7.0,<2.0.0)
17
- Requires-Dist: chonkie (>=1.0.7,<2.0.0)
20
+ Classifier: Topic :: Software Development :: Libraries
21
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
+ Provides-Extra: all
23
+ Provides-Extra: mem-reader
24
+ Provides-Extra: mem-scheduler
25
+ Provides-Extra: tree-mem
26
+ Requires-Dist: chonkie (>=1.0.7,<2.0.0) ; extra == "all"
27
+ Requires-Dist: chonkie (>=1.0.7,<2.0.0) ; extra == "mem-reader"
18
28
  Requires-Dist: fastapi[all] (>=0.115.12,<0.116.0)
19
- Requires-Dist: markitdown[docx,pdf,pptx,xls,xlsx] (>=0.1.1,<0.2.0)
20
- Requires-Dist: neo4j (>=5.28.1,<6.0.0)
29
+ Requires-Dist: fastmcp (>=2.10.5,<3.0.0)
30
+ Requires-Dist: markitdown[docx,pdf,pptx,xls,xlsx] (>=0.1.1,<0.2.0) ; extra == "all"
31
+ Requires-Dist: markitdown[docx,pdf,pptx,xls,xlsx] (>=0.1.1,<0.2.0) ; extra == "mem-reader"
32
+ Requires-Dist: neo4j (>=5.28.1,<6.0.0) ; extra == "all"
33
+ Requires-Dist: neo4j (>=5.28.1,<6.0.0) ; extra == "tree-mem"
21
34
  Requires-Dist: ollama (>=0.4.8,<0.5.0)
22
35
  Requires-Dist: openai (>=1.77.0,<2.0.0)
23
- Requires-Dist: qdrant-client (>=1.14.2,<2.0.0)
24
- Requires-Dist: redis (>=6.2.0,<7.0.0)
25
- Requires-Dist: schedule (>=1.2.2,<2.0.0)
26
- Requires-Dist: sentence-transformers (>=4.1.0,<5.0.0)
36
+ Requires-Dist: pika (>=1.3.2,<2.0.0) ; extra == "all"
37
+ Requires-Dist: pika (>=1.3.2,<2.0.0) ; extra == "mem-scheduler"
38
+ Requires-Dist: qdrant-client (>=1.14.2,<2.0.0) ; extra == "all"
39
+ Requires-Dist: redis (>=6.2.0,<7.0.0) ; extra == "all"
40
+ Requires-Dist: redis (>=6.2.0,<7.0.0) ; extra == "mem-scheduler"
41
+ Requires-Dist: schedule (>=1.2.2,<2.0.0) ; extra == "all"
42
+ Requires-Dist: schedule (>=1.2.2,<2.0.0) ; extra == "tree-mem"
43
+ Requires-Dist: scikit-learn (>=1.7.0,<2.0.0)
44
+ Requires-Dist: sentence-transformers (>=4.1.0,<5.0.0) ; extra == "all"
27
45
  Requires-Dist: sqlalchemy (>=2.0.41,<3.0.0)
28
46
  Requires-Dist: tenacity (>=9.1.2,<10.0.0)
47
+ Requires-Dist: torch (>=2.7.1,<3.0.0) ; extra == "all"
29
48
  Requires-Dist: transformers (>=4.51.3,<5.0.0)
49
+ Requires-Dist: volcengine-python-sdk (>=4.0.4,<5.0.0) ; extra == "all"
50
+ Project-URL: Documentation, https://memos-docs.openmem.net/home/overview/
51
+ Project-URL: Homepage, https://memos.openmem.net/
30
52
  Project-URL: Repository, https://github.com/MemTensor/MemOS
53
+ Project-URL: changelog, https://github.com/MemTensor/MemOS/releases
54
+ Project-URL: download, https://pypi.org/project/MemoryOS/#files
55
+ Project-URL: issues, https://github.com/MemTensor/MemOS/issues
56
+ Project-URL: releasenotes, https://github.com/MemTensor/MemOS/releases
31
57
  Description-Content-Type: text/markdown
32
58
 
33
59
  <div align="center">
@@ -49,6 +75,9 @@ Description-Content-Type: text/markdown
49
75
  <a href="https://pypi.org/project/MemoryOS">
50
76
  <img src="https://img.shields.io/pypi/pyversions/MemoryOS.svg" alt="Supported Python versions">
51
77
  </a>
78
+ <a href="https://pypi.org/project/MemoryOS">
79
+ <img src="https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey" alt="Supported Platforms">
80
+ </a>
52
81
  <a href="https://memos-docs.openmem.net/home/overview/">
53
82
  <img src="https://img.shields.io/badge/Documentation-view-blue.svg" alt="Documentation">
54
83
  </a>
@@ -170,34 +199,37 @@ For more detailed examples, please check out the [`examples`](./examples) direct
170
199
 
171
200
  ## 📦 Installation
172
201
 
173
- > [!WARNING]
174
- > MemOS is compatible with Linux, Windows, and macOS.
175
- >
176
- > However, if you're using macOS, please note that there may be dependency issues that are difficult to resolve.
177
- >
178
- > For example, compatibility with macOS 13 Ventura is currently challenging.
179
-
180
202
  ### Install via pip
181
203
 
182
204
  ```bash
183
205
  pip install MemoryOS
184
206
  ```
185
207
 
186
- ### Development Install
208
+ ### Optional Dependencies
187
209
 
188
- To contribute to MemOS, clone the repository and install it in editable mode:
210
+ MemOS provides several optional dependency groups for different features. You can install them based on your needs.
211
+
212
+ | Feature | Package Name |
213
+ | --------------------- | ------------------------- |
214
+ | Tree Memory | `MemoryOS[tree-mem]` |
215
+ | Memory Reader | `MemoryOS[mem-reader]` |
216
+ | Memory Scheduler | `MemoryOS[mem-scheduler]` |
217
+
218
+ Example installation commands:
189
219
 
190
220
  ```bash
191
- git clone https://github.com/MemTensor/MemOS.git
192
- cd MemOS
193
- make install
221
+ pip install MemoryOS[tree-mem]
222
+ pip install MemoryOS[tree-mem,mem-reader]
223
+ pip install MemoryOS[mem-scheduler]
224
+ pip install MemoryOS[tree-mem,mem-reader,mem-scheduler]
194
225
  ```
195
226
 
196
- ### Optional Dependencies
227
+ ### External Dependencies
197
228
 
198
229
  #### Ollama Support
199
230
 
200
231
  To use MemOS with [Ollama](https://ollama.com/), first install the Ollama CLI:
232
+
201
233
  ```bash
202
234
  curl -fsSL https://ollama.com/install.sh | sh
203
235
  ```
@@ -206,6 +238,14 @@ curl -fsSL https://ollama.com/install.sh | sh
206
238
 
207
239
  To use functionalities based on the `transformers` library, ensure you have [PyTorch](https://pytorch.org/get-started/locally/) installed (CUDA version recommended for GPU acceleration).
208
240
 
241
+ #### Download Examples
242
+
243
+ To download example code, data and configurations, run the following command:
244
+
245
+ ```bash
246
+ memos download_examples
247
+ ```
248
+
209
249
  ## 💬 Community & Support
210
250
 
211
251
  Join our community to ask questions, share your projects, and connect with other developers.
@@ -17,6 +17,9 @@
17
17
  <a href="https://pypi.org/project/MemoryOS">
18
18
  <img src="https://img.shields.io/pypi/pyversions/MemoryOS.svg" alt="Supported Python versions">
19
19
  </a>
20
+ <a href="https://pypi.org/project/MemoryOS">
21
+ <img src="https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey" alt="Supported Platforms">
22
+ </a>
20
23
  <a href="https://memos-docs.openmem.net/home/overview/">
21
24
  <img src="https://img.shields.io/badge/Documentation-view-blue.svg" alt="Documentation">
22
25
  </a>
@@ -138,34 +141,37 @@ For more detailed examples, please check out the [`examples`](./examples) direct
138
141
 
139
142
  ## 📦 Installation
140
143
 
141
- > [!WARNING]
142
- > MemOS is compatible with Linux, Windows, and macOS.
143
- >
144
- > However, if you're using macOS, please note that there may be dependency issues that are difficult to resolve.
145
- >
146
- > For example, compatibility with macOS 13 Ventura is currently challenging.
147
-
148
144
  ### Install via pip
149
145
 
150
146
  ```bash
151
147
  pip install MemoryOS
152
148
  ```
153
149
 
154
- ### Development Install
150
+ ### Optional Dependencies
155
151
 
156
- To contribute to MemOS, clone the repository and install it in editable mode:
152
+ MemOS provides several optional dependency groups for different features. You can install them based on your needs.
153
+
154
+ | Feature | Package Name |
155
+ | --------------------- | ------------------------- |
156
+ | Tree Memory | `MemoryOS[tree-mem]` |
157
+ | Memory Reader | `MemoryOS[mem-reader]` |
158
+ | Memory Scheduler | `MemoryOS[mem-scheduler]` |
159
+
160
+ Example installation commands:
157
161
 
158
162
  ```bash
159
- git clone https://github.com/MemTensor/MemOS.git
160
- cd MemOS
161
- make install
163
+ pip install MemoryOS[tree-mem]
164
+ pip install MemoryOS[tree-mem,mem-reader]
165
+ pip install MemoryOS[mem-scheduler]
166
+ pip install MemoryOS[tree-mem,mem-reader,mem-scheduler]
162
167
  ```
163
168
 
164
- ### Optional Dependencies
169
+ ### External Dependencies
165
170
 
166
171
  #### Ollama Support
167
172
 
168
173
  To use MemOS with [Ollama](https://ollama.com/), first install the Ollama CLI:
174
+
169
175
  ```bash
170
176
  curl -fsSL https://ollama.com/install.sh | sh
171
177
  ```
@@ -174,6 +180,14 @@ curl -fsSL https://ollama.com/install.sh | sh
174
180
 
175
181
  To use functionalities based on the `transformers` library, ensure you have [PyTorch](https://pytorch.org/get-started/locally/) installed (CUDA version recommended for GPU acceleration).
176
182
 
183
+ #### Download Examples
184
+
185
+ To download example code, data and configurations, run the following command:
186
+
187
+ ```bash
188
+ memos download_examples
189
+ ```
190
+
177
191
  ## 💬 Community & Support
178
192
 
179
193
  Join our community to ask questions, share your projects, and connect with other developers.
@@ -0,0 +1,205 @@
1
+ [project]
2
+ ##############################################################################
3
+ # Here define the project metadata and dependencies for the MemoryOS package.
4
+ ##############################################################################
5
+
6
+ name = "MemoryOS"
7
+ version = "0.2.1"
8
+ description = "Intelligence Begins with Memory"
9
+ license = {text = "Apache-2.0"}
10
+ readme = "README.md"
11
+ requires-python = ">=3.10"
12
+ authors = [
13
+ {name = "MemTensor", email = "MemTensor@memtensor.cn"}
14
+ ]
15
+ keywords = [
16
+ "memory",
17
+ "llm",
18
+ "language model",
19
+ "memoryOS",
20
+ "agent",
21
+ "kv cache",
22
+ "lora",
23
+ ]
24
+ classifiers = [
25
+ "Intended Audience :: Developers",
26
+ "License :: OSI Approved :: Apache Software License",
27
+ "Natural Language :: English",
28
+ "Natural Language :: Chinese (Simplified)",
29
+ "Operating System :: OS Independent",
30
+ "Programming Language :: Python :: 3 :: Only",
31
+ "Programming Language :: Python :: 3.10",
32
+ "Programming Language :: Python :: 3.11",
33
+ "Programming Language :: Python :: 3.12",
34
+ "Programming Language :: Python :: 3.13",
35
+ "Topic :: Software Development :: Libraries",
36
+ "Topic :: Software Development :: Libraries :: Python Modules",
37
+ ]
38
+ dependencies = [
39
+ "openai (>=1.77.0,<2.0.0)",
40
+ "ollama (>=0.4.8,<0.5.0)",
41
+ "transformers (>=4.51.3,<5.0.0)",
42
+ "tenacity (>=9.1.2,<10.0.0)", # Error handling and retrying library
43
+ "fastapi[all] (>=0.115.12,<0.116.0)", # Web framework for building APIs
44
+ "sqlalchemy (>=2.0.41,<3.0.0)", # SQL toolkit
45
+ "scikit-learn (>=1.7.0,<2.0.0)", # Machine learning
46
+ "fastmcp (>=2.10.5,<3.0.0)",
47
+ ]
48
+
49
+ [project.urls]
50
+ homepage = "https://memos.openmem.net/"
51
+ repository = "https://github.com/MemTensor/MemOS"
52
+ download = "https://pypi.org/project/MemoryOS/#files"
53
+ changelog = "https://github.com/MemTensor/MemOS/releases"
54
+ releasenotes = "https://github.com/MemTensor/MemOS/releases"
55
+ documentation = "https://memos-docs.openmem.net/home/overview/"
56
+ issues = "https://github.com/MemTensor/MemOS/issues"
57
+
58
+ [project.scripts]
59
+ memos = "memos.cli:main"
60
+
61
+ [project.optional-dependencies]
62
+ # These are optional dependencies for various features of MemoryOS.
63
+ # Developers install: `poetry install --extras <feature>`. e.g., `poetry install --extras general-mem`
64
+ # Users install: `pip install MemoryOS[<feature>]`. e.g., `pip install MemoryOS[general-mem]`
65
+
66
+ # TreeTextualMemory
67
+ tree-mem = [
68
+ "neo4j (>=5.28.1,<6.0.0)", # Graph database
69
+ "schedule (>=1.2.2,<2.0.0)", # Task scheduling
70
+ ]
71
+
72
+ # MemScheduler
73
+ mem-scheduler = [
74
+ "redis (>=6.2.0,<7.0.0)", # Key-value store
75
+ "pika (>=1.3.2,<2.0.0)", # RabbitMQ client
76
+ ]
77
+
78
+ # MemReader
79
+ mem-reader = [
80
+ "chonkie (>=1.0.7,<2.0.0)", # Sentence chunking library
81
+ "markitdown[docx,pdf,pptx,xls,xlsx] (>=0.1.1,<0.2.0)", # Markdown parser for various file formats
82
+ ]
83
+
84
+ # All optional dependencies
85
+ # Allow users to install with `pip install MemoryOS[all]`
86
+ all = [
87
+ # Exist in the above optional groups
88
+ "neo4j (>=5.28.1,<6.0.0)",
89
+ "schedule (>=1.2.2,<2.0.0)",
90
+ "redis (>=6.2.0,<7.0.0)",
91
+ "pika (>=1.3.2,<2.0.0)",
92
+ "chonkie (>=1.0.7,<2.0.0)",
93
+ "markitdown[docx,pdf,pptx,xls,xlsx] (>=0.1.1,<0.2.0)",
94
+
95
+ # NOT exist in the above optional groups
96
+ # Because they are either huge-size dependencies or infrequently used dependencies.
97
+ # We kindof don't want users to install them.
98
+ "torch (>=2.7.1,<3.0.0)",
99
+ "sentence-transformers (>=4.1.0,<5.0.0)",
100
+ "qdrant-client (>=1.14.2,<2.0.0)",
101
+ "volcengine-python-sdk (>=4.0.4,<5.0.0)",
102
+
103
+ # Uncategorized dependencies
104
+ ]
105
+
106
+
107
+ [build-system]
108
+ ##############################################################################
109
+ # Python package build system requirements.
110
+ ##############################################################################
111
+
112
+ requires = ["poetry-core"]
113
+ build-backend = "poetry.core.masonry.api"
114
+
115
+
116
+ [tool.poetry]
117
+ ##############################################################################
118
+ # Here mainly define dependencies for development, testing, and evaluation.
119
+ # These dependencies will NOT be included in the MemoryOS package itself.
120
+ # They will be installed when you run `poetry install --with dev,test,eval`.
121
+ #
122
+ # More about version specifiers (e.g. "^0.1.0" or ">=0.1.0,<0.2.0"):
123
+ # https://python-poetry.org/docs/dependency-specification#caret-requirements
124
+ ##############################################################################
125
+
126
+ packages = [{include = "memos", from = "src"}]
127
+ requires-poetry = ">=2.0"
128
+ dependencies = { "python" = ">=3.10,<4.0" }
129
+
130
+ [tool.poetry.group.dev]
131
+ optional = true
132
+
133
+ [tool.poetry.group.dev.dependencies]
134
+ pre-commit = "^4.2.0"
135
+
136
+
137
+ [tool.poetry.group.test]
138
+ optional = true
139
+
140
+ [tool.poetry.group.test.dependencies]
141
+ pytest = "^8.3.5"
142
+ pytest-asyncio = "^0.23.5"
143
+ ruff = "^0.11.8"
144
+
145
+ [tool.poetry.group.eval]
146
+ optional = true
147
+
148
+ [tool.poetry.group.eval.dependencies]
149
+ dotenv = "^0.9.9"
150
+ mem0ai = "^0.1.109"
151
+ zep-cloud = "^2.15.0"
152
+ rouge-score = "^0.1.2"
153
+ nltk = "^3.9.1"
154
+ bert-score = "^0.3.13"
155
+ scipy = "^1.10.1"
156
+ python-dotenv = "^1.1.1"
157
+ langgraph = "^0.5.1"
158
+ langmem = "^0.0.27"
159
+
160
+ [[tool.poetry.source]]
161
+ name = "mirrors"
162
+ url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/"
163
+ priority = "supplemental"
164
+
165
+
166
+ [tool.pytest.ini_options]
167
+ ##############################################################################
168
+ # PyTest settings for running tests/
169
+ ##############################################################################
170
+
171
+ asyncio_mode = "auto"
172
+ pythonpath = "src"
173
+ filterwarnings = [
174
+ "ignore::DeprecationWarning:qdrant_client.*",
175
+ ]
176
+
177
+
178
+ [tool.ruff]
179
+ ##############################################################################
180
+ # Ruff is a fast Python linter and formatter.
181
+ ##############################################################################
182
+
183
+ fix = true
184
+ line-length = 100
185
+ target-version = "py310"
186
+ lint.extend-select = [
187
+ "B", # flake8-bugbear
188
+ "C4", # flake8-comprehensions
189
+ "ERA", # flake8-eradicate/eradicate
190
+ "I", # isort
191
+ "N", # pep8-naming
192
+ "PIE", # flake8-pie
193
+ "PGH", # pygrep
194
+ "RUF", # ruff checks
195
+ "SIM", # flake8-simplify
196
+ "TC", # flake8-type-checking
197
+ "TID", # flake8-tidy-imports
198
+ "UP", # pyupgrade
199
+ ]
200
+ lint.ignore = [
201
+ "RUF001", # ambiguous-unicode-character-string
202
+ "PGH003", # blanket-type-ignore
203
+ ]
204
+ lint.isort.lines-between-types = 1
205
+ lint.isort.lines-after-imports = 2
@@ -1,4 +1,4 @@
1
- __version__ = "0.2.0"
1
+ __version__ = "0.2.1"
2
2
 
3
3
  from memos.configs.mem_cube import GeneralMemCubeConfig
4
4
  from memos.configs.mem_os import MOSConfig