memorisdk 2.0.1__tar.gz → 2.1.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.

Potentially problematic release.


This version of memorisdk might be problematic. Click here for more details.

Files changed (80) hide show
  1. {memorisdk-2.0.1 → memorisdk-2.1.0}/PKG-INFO +22 -12
  2. {memorisdk-2.0.1 → memorisdk-2.1.0}/README.md +17 -8
  3. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/__init__.py +3 -3
  4. memorisdk-2.1.0/memori/agents/conscious_agent.py +556 -0
  5. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/agents/memory_agent.py +19 -9
  6. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/agents/retrieval_agent.py +59 -51
  7. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/config/manager.py +7 -7
  8. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/config/memory_manager.py +25 -25
  9. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/config/settings.py +13 -6
  10. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/core/conversation.py +15 -15
  11. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/core/database.py +14 -13
  12. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/core/memory.py +376 -105
  13. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/core/providers.py +25 -25
  14. memorisdk-2.1.0/memori/database/__init__.py +16 -0
  15. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/adapters/__init__.py +11 -0
  16. memorisdk-2.1.0/memori/database/adapters/mongodb_adapter.py +739 -0
  17. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/adapters/mysql_adapter.py +8 -8
  18. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/adapters/postgresql_adapter.py +6 -6
  19. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/adapters/sqlite_adapter.py +6 -6
  20. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/auto_creator.py +8 -9
  21. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/connection_utils.py +5 -5
  22. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/connectors/__init__.py +11 -0
  23. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/connectors/base_connector.py +18 -19
  24. memorisdk-2.1.0/memori/database/connectors/mongodb_connector.py +527 -0
  25. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/connectors/mysql_connector.py +13 -15
  26. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/connectors/postgres_connector.py +12 -12
  27. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/connectors/sqlite_connector.py +11 -11
  28. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/models.py +2 -2
  29. memorisdk-2.1.0/memori/database/mongodb_manager.py +1402 -0
  30. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/queries/base_queries.py +3 -4
  31. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/queries/chat_queries.py +3 -5
  32. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/queries/entity_queries.py +3 -5
  33. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/queries/memory_queries.py +3 -5
  34. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/query_translator.py +11 -11
  35. memorisdk-2.1.0/memori/database/schema_generators/__init__.py +18 -0
  36. memorisdk-2.1.0/memori/database/schema_generators/mongodb_schema_generator.py +666 -0
  37. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/schema_generators/mysql_schema_generator.py +2 -4
  38. memorisdk-2.1.0/memori/database/search/__init__.py +19 -0
  39. memorisdk-2.1.0/memori/database/search/mongodb_search_adapter.py +653 -0
  40. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/search/mysql_search_adapter.py +8 -8
  41. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/search/sqlite_search_adapter.py +6 -6
  42. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/search_service.py +17 -17
  43. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/sqlalchemy_manager.py +10 -12
  44. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/integrations/__init__.py +1 -1
  45. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/integrations/anthropic_integration.py +1 -3
  46. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/integrations/litellm_integration.py +23 -6
  47. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/integrations/openai_integration.py +31 -3
  48. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/tools/memory_tool.py +10 -9
  49. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/utils/exceptions.py +58 -58
  50. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/utils/helpers.py +11 -12
  51. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/utils/input_validator.py +10 -12
  52. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/utils/logging.py +4 -4
  53. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/utils/pydantic_models.py +57 -57
  54. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/utils/query_builder.py +20 -20
  55. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/utils/security_audit.py +28 -28
  56. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/utils/security_integration.py +9 -9
  57. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/utils/transaction_manager.py +20 -19
  58. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/utils/validators.py +6 -6
  59. {memorisdk-2.0.1 → memorisdk-2.1.0}/memorisdk.egg-info/PKG-INFO +22 -12
  60. {memorisdk-2.0.1 → memorisdk-2.1.0}/memorisdk.egg-info/SOURCES.txt +5 -0
  61. {memorisdk-2.0.1 → memorisdk-2.1.0}/memorisdk.egg-info/requires.txt +4 -0
  62. {memorisdk-2.0.1 → memorisdk-2.1.0}/pyproject.toml +7 -8
  63. memorisdk-2.0.1/memori/agents/conscious_agent.py +0 -344
  64. memorisdk-2.0.1/memori/database/__init__.py +0 -5
  65. memorisdk-2.0.1/memori/database/schema_generators/__init__.py +0 -7
  66. memorisdk-2.0.1/memori/database/search/__init__.py +0 -8
  67. {memorisdk-2.0.1 → memorisdk-2.1.0}/LICENSE +0 -0
  68. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/agents/__init__.py +0 -0
  69. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/config/__init__.py +0 -0
  70. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/core/__init__.py +0 -0
  71. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/queries/__init__.py +0 -0
  72. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/templates/__init__.py +0 -0
  73. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/templates/basic_template.py +0 -0
  74. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/database/templates/schemas/__init__.py +0 -0
  75. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/tools/__init__.py +0 -0
  76. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/utils/__init__.py +0 -0
  77. {memorisdk-2.0.1 → memorisdk-2.1.0}/memori/utils/schemas.py +0 -0
  78. {memorisdk-2.0.1 → memorisdk-2.1.0}/memorisdk.egg-info/dependency_links.txt +0 -0
  79. {memorisdk-2.0.1 → memorisdk-2.1.0}/memorisdk.egg-info/top_level.txt +0 -0
  80. {memorisdk-2.0.1 → memorisdk-2.1.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: memorisdk
3
- Version: 2.0.1
3
+ Version: 2.1.0
4
4
  Summary: The Open-Source Memory Layer for AI Agents & Multi-Agent Systems
5
5
  Author-email: GibsonAI Team <noc@gibsonai.com>
6
6
  License: Apache-2.0
@@ -16,8 +16,6 @@ Classifier: Intended Audience :: Developers
16
16
  Classifier: License :: OSI Approved :: Apache Software License
17
17
  Classifier: Operating System :: OS Independent
18
18
  Classifier: Programming Language :: Python :: 3
19
- Classifier: Programming Language :: Python :: 3.8
20
- Classifier: Programming Language :: Python :: 3.9
21
19
  Classifier: Programming Language :: Python :: 3.10
22
20
  Classifier: Programming Language :: Python :: 3.11
23
21
  Classifier: Programming Language :: Python :: 3.12
@@ -25,7 +23,7 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
25
23
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
24
  Classifier: Topic :: Database :: Database Engines/Servers
27
25
  Classifier: Typing :: Typed
28
- Requires-Python: >=3.8
26
+ Requires-Python: >=3.10
29
27
  Description-Content-Type: text/markdown
30
28
  License-File: LICENSE
31
29
  Requires-Dist: loguru>=0.6.0
@@ -54,9 +52,12 @@ Provides-Extra: postgres
54
52
  Requires-Dist: psycopg2-binary>=2.9.0; extra == "postgres"
55
53
  Provides-Extra: mysql
56
54
  Requires-Dist: PyMySQL>=1.0.0; extra == "mysql"
55
+ Provides-Extra: mongodb
56
+ Requires-Dist: pymongo>=4.0.0; extra == "mongodb"
57
57
  Provides-Extra: databases
58
58
  Requires-Dist: psycopg2-binary>=2.9.0; extra == "databases"
59
59
  Requires-Dist: PyMySQL>=1.0.0; extra == "databases"
60
+ Requires-Dist: pymongo>=4.0.0; extra == "databases"
60
61
  Provides-Extra: anthropic
61
62
  Requires-Dist: anthropic>=0.3.0; extra == "anthropic"
62
63
  Provides-Extra: litellm
@@ -98,11 +99,11 @@ Dynamic: license-file
98
99
  # memori
99
100
 
100
101
  <p align="center">
101
- <strong>Open-Source Memory Engine for LLMs, AI Agents & Multi-Agent Systems</strong>
102
+ <strong>An open-source SQL-Native memory engine for AI</strong>
102
103
  </p>
103
104
 
104
105
  <p align="center">
105
- <i>Make LLMs context-aware with human-like memory, dual-mode retrieval, and automatic context injection.</i>
106
+ <i>From Postgres to MySQL, Memori plugs into the SQL databases you already use. Simple setup, infinite scale without new infrastructure.</i>
106
107
  </p>
107
108
 
108
109
  <p align="center">
@@ -128,13 +129,20 @@ Dynamic: license-file
128
129
 
129
130
  ---
130
131
 
131
- ## 🎯 Philosophy
132
+ ## What is Memori
132
133
 
133
- - **Second-memory for all your LLM work** - Never repeat context again
134
- - **Dual-mode memory injection** - Conscious short-term memory + Auto intelligent search
135
- - **Flexible database connections** - SQLite, PostgreSQL, MySQL support
136
- - **Pydantic-based intelligence** - Structured memory processing with validation
137
- - **Simple, reliable architecture** - Just works out of the box
134
+ Memori uses structured entity extraction, relationship mapping, and SQL-based retrieval to create transparent, portable, and queryable AI memory. Memomi uses multiple agents working together to intelligently promote essential long-term memories to short-term storage for faster context injection.
135
+
136
+ With a single line of code `memori.enable()` any LLM gains the ability to remember conversations, learn from interactions, and maintain context across sessions. The entire memory system is stored in a standard SQLite database (or PostgreSQL/MySQL for enterprise deployments), making it fully portable, auditable, and owned by the user.
137
+
138
+ ## Key Differentiators
139
+
140
+ - **Radical Simplicity**: One line to enable memory for any LLM framework (OpenAI, Anthropic, LiteLLM, LangChain)
141
+ - **True Data Ownership**: Memory stored in standard SQL databases that users fully control
142
+ - **Complete Transparency**: Every memory decision is queryable with SQL and fully explainable
143
+ - **Zero Vendor Lock-in**: Export your entire memory as a SQLite file and move anywhere
144
+ - **Cost Efficiency**: 80-90% cheaper than vector database solutions at scale
145
+ - **Compliance Ready**: SQL-based storage enables audit trails, data residency, and regulatory compliance
138
146
 
139
147
  ## ⚡ Quick Start
140
148
 
@@ -197,6 +205,8 @@ print("\n💡 Notice: Memori automatically knows about your FastAPI Python proje
197
205
 
198
206
  ---
199
207
 
208
+ > By default, Memori uses in-memory SQLite database. Get **FREE** serverless database instance in [GibsonAI](https://app.gibsonai.com/signup) platform.
209
+
200
210
  **🚀 Ready to explore more?**
201
211
  - [📖 Examples](#examples) - Basic usage patterns and code samples
202
212
  - [🔌 Framework Integrations](#framework-integrations) - LangChain, Agno & CrewAI examples
@@ -3,11 +3,11 @@
3
3
  # memori
4
4
 
5
5
  <p align="center">
6
- <strong>Open-Source Memory Engine for LLMs, AI Agents & Multi-Agent Systems</strong>
6
+ <strong>An open-source SQL-Native memory engine for AI</strong>
7
7
  </p>
8
8
 
9
9
  <p align="center">
10
- <i>Make LLMs context-aware with human-like memory, dual-mode retrieval, and automatic context injection.</i>
10
+ <i>From Postgres to MySQL, Memori plugs into the SQL databases you already use. Simple setup, infinite scale without new infrastructure.</i>
11
11
  </p>
12
12
 
13
13
  <p align="center">
@@ -33,13 +33,20 @@
33
33
 
34
34
  ---
35
35
 
36
- ## 🎯 Philosophy
36
+ ## What is Memori
37
37
 
38
- - **Second-memory for all your LLM work** - Never repeat context again
39
- - **Dual-mode memory injection** - Conscious short-term memory + Auto intelligent search
40
- - **Flexible database connections** - SQLite, PostgreSQL, MySQL support
41
- - **Pydantic-based intelligence** - Structured memory processing with validation
42
- - **Simple, reliable architecture** - Just works out of the box
38
+ Memori uses structured entity extraction, relationship mapping, and SQL-based retrieval to create transparent, portable, and queryable AI memory. Memomi uses multiple agents working together to intelligently promote essential long-term memories to short-term storage for faster context injection.
39
+
40
+ With a single line of code `memori.enable()` any LLM gains the ability to remember conversations, learn from interactions, and maintain context across sessions. The entire memory system is stored in a standard SQLite database (or PostgreSQL/MySQL for enterprise deployments), making it fully portable, auditable, and owned by the user.
41
+
42
+ ## Key Differentiators
43
+
44
+ - **Radical Simplicity**: One line to enable memory for any LLM framework (OpenAI, Anthropic, LiteLLM, LangChain)
45
+ - **True Data Ownership**: Memory stored in standard SQL databases that users fully control
46
+ - **Complete Transparency**: Every memory decision is queryable with SQL and fully explainable
47
+ - **Zero Vendor Lock-in**: Export your entire memory as a SQLite file and move anywhere
48
+ - **Cost Efficiency**: 80-90% cheaper than vector database solutions at scale
49
+ - **Compliance Ready**: SQL-based storage enables audit trails, data residency, and regulatory compliance
43
50
 
44
51
  ## ⚡ Quick Start
45
52
 
@@ -102,6 +109,8 @@ print("\n💡 Notice: Memori automatically knows about your FastAPI Python proje
102
109
 
103
110
  ---
104
111
 
112
+ > By default, Memori uses in-memory SQLite database. Get **FREE** serverless database instance in [GibsonAI](https://app.gibsonai.com/signup) platform.
113
+
105
114
  **🚀 Ready to explore more?**
106
115
  - [📖 Examples](#examples) - Basic usage patterns and code samples
107
116
  - [🔌 Framework Integrations](#framework-integrations) - LangChain, Agno & CrewAI examples
@@ -5,7 +5,7 @@ Professional-grade memory layer with comprehensive error handling, configuration
5
5
  management, and modular architecture for production AI systems.
6
6
  """
7
7
 
8
- __version__ = "2.0.1"
8
+ __version__ = "2.1.0"
9
9
  __author__ = "Harshal More"
10
10
  __email__ = "harshalmore2468@gmail.com"
11
11
 
@@ -71,8 +71,8 @@ from .utils import ( # Pydantic models; Enhanced exceptions; Validators and hel
71
71
  )
72
72
 
73
73
  # Memory agents (dynamically imported to avoid import errors)
74
- MemoryAgent: Optional[Any] = None
75
- MemorySearchEngine: Optional[Any] = None
74
+ MemoryAgent: Any | None = None
75
+ MemorySearchEngine: Any | None = None
76
76
  _AGENTS_AVAILABLE = False
77
77
 
78
78
  try: