memorisdk 1.0.2__py3-none-any.whl → 2.0.1__py3-none-any.whl
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.
- memori/__init__.py +24 -8
- memori/agents/conscious_agent.py +252 -414
- memori/agents/memory_agent.py +487 -224
- memori/agents/retrieval_agent.py +491 -68
- memori/config/memory_manager.py +323 -0
- memori/core/conversation.py +393 -0
- memori/core/database.py +386 -371
- memori/core/memory.py +1683 -532
- memori/core/providers.py +217 -0
- memori/database/adapters/__init__.py +10 -0
- memori/database/adapters/mysql_adapter.py +331 -0
- memori/database/adapters/postgresql_adapter.py +291 -0
- memori/database/adapters/sqlite_adapter.py +229 -0
- memori/database/auto_creator.py +320 -0
- memori/database/connection_utils.py +207 -0
- memori/database/connectors/base_connector.py +283 -0
- memori/database/connectors/mysql_connector.py +240 -18
- memori/database/connectors/postgres_connector.py +277 -4
- memori/database/connectors/sqlite_connector.py +178 -3
- memori/database/models.py +400 -0
- memori/database/queries/base_queries.py +1 -1
- memori/database/queries/memory_queries.py +91 -2
- memori/database/query_translator.py +222 -0
- memori/database/schema_generators/__init__.py +7 -0
- memori/database/schema_generators/mysql_schema_generator.py +215 -0
- memori/database/search/__init__.py +8 -0
- memori/database/search/mysql_search_adapter.py +255 -0
- memori/database/search/sqlite_search_adapter.py +180 -0
- memori/database/search_service.py +700 -0
- memori/database/sqlalchemy_manager.py +888 -0
- memori/integrations/__init__.py +36 -11
- memori/integrations/litellm_integration.py +340 -6
- memori/integrations/openai_integration.py +506 -240
- memori/tools/memory_tool.py +94 -4
- memori/utils/input_validator.py +395 -0
- memori/utils/pydantic_models.py +138 -36
- memori/utils/query_builder.py +530 -0
- memori/utils/security_audit.py +594 -0
- memori/utils/security_integration.py +339 -0
- memori/utils/transaction_manager.py +547 -0
- {memorisdk-1.0.2.dist-info → memorisdk-2.0.1.dist-info}/METADATA +56 -23
- memorisdk-2.0.1.dist-info/RECORD +66 -0
- memori/scripts/llm_text.py +0 -50
- memorisdk-1.0.2.dist-info/RECORD +0 -44
- memorisdk-1.0.2.dist-info/entry_points.txt +0 -2
- {memorisdk-1.0.2.dist-info → memorisdk-2.0.1.dist-info}/WHEEL +0 -0
- {memorisdk-1.0.2.dist-info → memorisdk-2.0.1.dist-info}/licenses/LICENSE +0 -0
- {memorisdk-1.0.2.dist-info → memorisdk-2.0.1.dist-info}/top_level.txt +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: memorisdk
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.1
|
|
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
|
|
7
7
|
Project-URL: Homepage, https://github.com/GibsonAI/memori
|
|
8
|
-
Project-URL: Documentation, https://gibsonai.
|
|
8
|
+
Project-URL: Documentation, https://memori.gibsonai.com/docs
|
|
9
9
|
Project-URL: Repository, https://github.com/GibsonAI/memori.git
|
|
10
10
|
Project-URL: Bug Tracker, https://github.com/GibsonAI/memori/issues
|
|
11
11
|
Project-URL: Changelog, https://github.com/GibsonAI/memori/blob/main/CHANGELOG.md
|
|
@@ -31,8 +31,9 @@ License-File: LICENSE
|
|
|
31
31
|
Requires-Dist: loguru>=0.6.0
|
|
32
32
|
Requires-Dist: pydantic>=2.0.0
|
|
33
33
|
Requires-Dist: python-dotenv>=1.0.0
|
|
34
|
-
Requires-Dist:
|
|
34
|
+
Requires-Dist: sqlalchemy>=2.0.0
|
|
35
35
|
Requires-Dist: openai>=1.0.0
|
|
36
|
+
Requires-Dist: litellm>=1.0.0
|
|
36
37
|
Provides-Extra: dev
|
|
37
38
|
Requires-Dist: black>=23.0; extra == "dev"
|
|
38
39
|
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
@@ -40,6 +41,9 @@ Requires-Dist: isort>=5.9.0; extra == "dev"
|
|
|
40
41
|
Requires-Dist: mypy>=1.0; extra == "dev"
|
|
41
42
|
Requires-Dist: pre-commit>=2.15; extra == "dev"
|
|
42
43
|
Requires-Dist: types-PyYAML>=6.0.0; extra == "dev"
|
|
44
|
+
Requires-Dist: pytest>=6.0; extra == "dev"
|
|
45
|
+
Requires-Dist: pytest-cov>=2.0; extra == "dev"
|
|
46
|
+
Requires-Dist: pytest-asyncio>=0.18.0; extra == "dev"
|
|
43
47
|
Provides-Extra: docs
|
|
44
48
|
Requires-Dist: mkdocs>=1.5.0; extra == "docs"
|
|
45
49
|
Requires-Dist: mkdocs-material>=9.0.0; extra == "docs"
|
|
@@ -50,15 +54,31 @@ Provides-Extra: postgres
|
|
|
50
54
|
Requires-Dist: psycopg2-binary>=2.9.0; extra == "postgres"
|
|
51
55
|
Provides-Extra: mysql
|
|
52
56
|
Requires-Dist: PyMySQL>=1.0.0; extra == "mysql"
|
|
57
|
+
Provides-Extra: databases
|
|
58
|
+
Requires-Dist: psycopg2-binary>=2.9.0; extra == "databases"
|
|
59
|
+
Requires-Dist: PyMySQL>=1.0.0; extra == "databases"
|
|
60
|
+
Provides-Extra: anthropic
|
|
61
|
+
Requires-Dist: anthropic>=0.3.0; extra == "anthropic"
|
|
62
|
+
Provides-Extra: litellm
|
|
63
|
+
Requires-Dist: litellm>=1.0.0; extra == "litellm"
|
|
53
64
|
Provides-Extra: integrations
|
|
54
65
|
Requires-Dist: litellm>=1.0.0; extra == "integrations"
|
|
55
66
|
Requires-Dist: anthropic>=0.3.0; extra == "integrations"
|
|
67
|
+
Provides-Extra: demos
|
|
68
|
+
Requires-Dist: streamlit>=1.28.0; extra == "demos"
|
|
69
|
+
Requires-Dist: pandas>=2.0.0; extra == "demos"
|
|
70
|
+
Requires-Dist: plotly>=5.17.0; extra == "demos"
|
|
71
|
+
Requires-Dist: crewai>=0.152.0; extra == "demos"
|
|
72
|
+
Requires-Dist: crewai-tools>=0.59.0; extra == "demos"
|
|
56
73
|
Provides-Extra: all
|
|
57
74
|
Requires-Dist: black>=23.0; extra == "all"
|
|
58
75
|
Requires-Dist: ruff>=0.1.0; extra == "all"
|
|
59
76
|
Requires-Dist: isort>=5.9.0; extra == "all"
|
|
60
77
|
Requires-Dist: mypy>=1.0; extra == "all"
|
|
61
78
|
Requires-Dist: pre-commit>=2.15; extra == "all"
|
|
79
|
+
Requires-Dist: pytest>=6.0; extra == "all"
|
|
80
|
+
Requires-Dist: pytest-cov>=2.0; extra == "all"
|
|
81
|
+
Requires-Dist: pytest-asyncio>=0.18.0; extra == "all"
|
|
62
82
|
Requires-Dist: mkdocs>=1.5.0; extra == "all"
|
|
63
83
|
Requires-Dist: mkdocs-material>=9.0.0; extra == "all"
|
|
64
84
|
Requires-Dist: mkdocs-git-revision-date-localized-plugin>=1.2.0; extra == "all"
|
|
@@ -68,6 +88,9 @@ Requires-Dist: psycopg2-binary>=2.9.0; extra == "all"
|
|
|
68
88
|
Requires-Dist: PyMySQL>=1.0.0; extra == "all"
|
|
69
89
|
Requires-Dist: litellm>=1.0.0; extra == "all"
|
|
70
90
|
Requires-Dist: anthropic>=0.3.0; extra == "all"
|
|
91
|
+
Requires-Dist: streamlit>=1.28.0; extra == "all"
|
|
92
|
+
Requires-Dist: pandas>=2.0.0; extra == "all"
|
|
93
|
+
Requires-Dist: plotly>=5.17.0; extra == "all"
|
|
71
94
|
Dynamic: license-file
|
|
72
95
|
|
|
73
96
|
[](https://gibsonai.com/)
|
|
@@ -83,7 +106,7 @@ Dynamic: license-file
|
|
|
83
106
|
</p>
|
|
84
107
|
|
|
85
108
|
<p align="center">
|
|
86
|
-
<a href="https://gibsonai.
|
|
109
|
+
<a href="https://memori.gibsonai.com/docs">Learn more</a>
|
|
87
110
|
·
|
|
88
111
|
<a href="https://www.gibsonai.com/discord">Join Discord</a>
|
|
89
112
|
</p>
|
|
@@ -121,12 +144,12 @@ Install Memori:
|
|
|
121
144
|
pip install memorisdk
|
|
122
145
|
```
|
|
123
146
|
|
|
124
|
-
### Example with
|
|
147
|
+
### Example with OpenAI
|
|
125
148
|
|
|
126
|
-
1. Install
|
|
149
|
+
1. Install OpenAI:
|
|
127
150
|
|
|
128
151
|
```bash
|
|
129
|
-
pip install
|
|
152
|
+
pip install openai
|
|
130
153
|
```
|
|
131
154
|
|
|
132
155
|
2. Set OpenAI API Key:
|
|
@@ -139,14 +162,17 @@ export OPENAI_API_KEY="sk-your-openai-key-here"
|
|
|
139
162
|
|
|
140
163
|
```python
|
|
141
164
|
from memori import Memori
|
|
142
|
-
from
|
|
165
|
+
from openai import OpenAI
|
|
166
|
+
|
|
167
|
+
# Initialize OpenAI client
|
|
168
|
+
openai_client = OpenAI()
|
|
143
169
|
|
|
144
170
|
# Initialize memory
|
|
145
171
|
memori = Memori(conscious_ingest=True)
|
|
146
172
|
memori.enable()
|
|
147
173
|
|
|
148
174
|
print("=== First Conversation - Establishing Context ===")
|
|
149
|
-
response1 =
|
|
175
|
+
response1 = openai_client.chat.completions.create(
|
|
150
176
|
model="gpt-4o-mini",
|
|
151
177
|
messages=[{
|
|
152
178
|
"role": "user",
|
|
@@ -158,7 +184,7 @@ print("Assistant:", response1.choices[0].message.content)
|
|
|
158
184
|
print("\n" + "="*50)
|
|
159
185
|
print("=== Second Conversation - Memory Provides Context ===")
|
|
160
186
|
|
|
161
|
-
response2 =
|
|
187
|
+
response2 = openai_client.chat.completions.create(
|
|
162
188
|
model="gpt-4o-mini",
|
|
163
189
|
messages=[{
|
|
164
190
|
"role": "user",
|
|
@@ -344,15 +370,15 @@ Works with **ANY** LLM library:
|
|
|
344
370
|
```python
|
|
345
371
|
memori.enable() # Enable universal recording
|
|
346
372
|
|
|
347
|
-
# LiteLLM (recommended)
|
|
348
|
-
from litellm import completion
|
|
349
|
-
completion(model="gpt-4", messages=[...])
|
|
350
|
-
|
|
351
373
|
# OpenAI
|
|
352
|
-
import
|
|
353
|
-
client =
|
|
374
|
+
from openai import OpenAI
|
|
375
|
+
client = OpenAI()
|
|
354
376
|
client.chat.completions.create(...)
|
|
355
377
|
|
|
378
|
+
# LiteLLM
|
|
379
|
+
from litellm import completion
|
|
380
|
+
completion(model="gpt-4", messages=[...])
|
|
381
|
+
|
|
356
382
|
# Anthropic
|
|
357
383
|
import anthropic
|
|
358
384
|
client = anthropic.Anthropic()
|
|
@@ -432,18 +458,25 @@ memori/
|
|
|
432
458
|
- **[Memory Retrieval](./memory_retrival_example.py)** - Function calling with memory tools
|
|
433
459
|
- **[Advanced Config](./examples/advanced_config.py)** - Production configuration
|
|
434
460
|
- **[Interactive Demo](./memori_example.py)** - Live conscious ingestion showcase
|
|
461
|
+
- **[Simple Multi-User](./examples/multiple-users/simple_multiuser.py)** - Basic demonstration of user memory isolation with namespaces
|
|
462
|
+
- **[FastAPI Multi-User App](./examples/multiple-users/fastapi_multiuser_app.py)** - Full-featured REST API with Swagger UI for testing multi-user functionality
|
|
435
463
|
|
|
436
464
|
## Framework Integrations
|
|
437
465
|
|
|
438
466
|
Memori works seamlessly with popular AI frameworks:
|
|
439
467
|
|
|
440
|
-
| Framework | Description | Example |
|
|
441
|
-
|
|
442
|
-
|
|
|
443
|
-
|
|
|
444
|
-
|
|
|
445
|
-
|
|
|
446
|
-
|
|
|
468
|
+
| Framework | Description | Example |
|
|
469
|
+
|-----------|-------------|---------|
|
|
470
|
+
| [AgentOps](./examples/integrations/agentops_example.py) | Track and monitor Memori memory operations with comprehensive observability | Memory operation tracking with AgentOps analytics |
|
|
471
|
+
| [Agno](./examples/integrations/agno_example.py) | Memory-enhanced agent framework integration with persistent conversations | Simple chat agent with memory search |
|
|
472
|
+
| [AWS Strands](./examples/integrations/aws_strands_example.py) | Professional development coach with Strands SDK and persistent memory | Career coaching agent with goal tracking |
|
|
473
|
+
| [Azure AI Foundry](./examples/integrations/azure_ai_foundry_example.py) | Azure AI Foundry agents with persistent memory across conversations | Enterprise AI agents with Azure integration |
|
|
474
|
+
| [CamelAI](./examples/integrations/camelai_example.py) | Multi-agent communication framework with automatic memory recording and retrieval | Memory-enhanced chat agents with conversation continuity |
|
|
475
|
+
| [CrewAI](./examples/integrations/crewai_example.py) | Multi-agent system with shared memory across agent interactions | Collaborative agents with memory |
|
|
476
|
+
| [Digital Ocean AI](./examples/integrations/digital_ocean_example.py) | Memory-enhanced customer support using Digital Ocean's AI platform | Customer support assistant with conversation history |
|
|
477
|
+
| [LangChain](./examples/integrations/langchain_example.py) | Enterprise-grade agent framework with advanced memory integration | AI assistant with LangChain tools and memory |
|
|
478
|
+
| [OpenAI Agent](./examples/integrations/openai_agent_example.py) | Memory-enhanced OpenAI Agent with function calling and user preference tracking | Interactive assistant with memory search and user info storage |
|
|
479
|
+
| [Swarms](./examples/integrations/swarms_example.py) | Multi-agent system framework with persistent memory capabilities | Memory-enhanced Swarms agents with auto/conscious ingestion |
|
|
447
480
|
|
|
448
481
|
## Interactive Demos
|
|
449
482
|
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
memori/__init__.py,sha256=1PEpzV75fNiOmS6aIsDAQOpkPzdW2xq64beYADfaG70,3676
|
|
2
|
+
memori/agents/__init__.py,sha256=9M3IG5R10FfVgT8tUzBZ2pZ0SypSpYkFfhtyvMyeTpE,261
|
|
3
|
+
memori/agents/conscious_agent.py,sha256=NQ-dEHRXutrkwo2ssPZ0ct7uHXU2gDa-PQ0d74mUFvk,13459
|
|
4
|
+
memori/agents/memory_agent.py,sha256=tBwkNMtlVDlQ88jATjuL96vQHPfU_HOz_XXOB3vd710,23552
|
|
5
|
+
memori/agents/retrieval_agent.py,sha256=FvGApAzljhubFvyMTM0rCs-JpROg34i0aOFeYh3Ru6s,40222
|
|
6
|
+
memori/config/__init__.py,sha256=tQAxopgOsea02u9iId-ocOY86nWWNGC3rvt3AOFcLn8,295
|
|
7
|
+
memori/config/manager.py,sha256=xi8d8xW3obyV6v9UHDG6idSAymge8yWxGW11e2mI0nQ,10388
|
|
8
|
+
memori/config/memory_manager.py,sha256=hxwkMpUaOkOcnnvgpHxR4PT6iHNj8yNda-o9OpM0Y-g,11020
|
|
9
|
+
memori/config/settings.py,sha256=nrrWD4hwdbtYlIPtJFHgGyMudGP-hz9sA-KBW_7ZZbE,9724
|
|
10
|
+
memori/core/__init__.py,sha256=jvhHn-KL3bzRHs11-4B0BCKH6gkAf6Gf_G59If8fD0M,157
|
|
11
|
+
memori/core/conversation.py,sha256=l1SRLyIrKrcSzqEdqnqLwSqYW6rXtGeH1Fhs7YBI0XU,15825
|
|
12
|
+
memori/core/database.py,sha256=RkBelmgDm_6WoTKISPTz_WYVsPvnVB7NKJuRFWOLbZM,40044
|
|
13
|
+
memori/core/memory.py,sha256=Wg1K8XUxGHwgkVi5nRDY7PhfVSRhAGMGN8xd8KnuQVg,105518
|
|
14
|
+
memori/core/providers.py,sha256=Ix8CEb_kw0Qur1E3_mxydh3RvUpyNy5qGAKK4wuGK6Y,7032
|
|
15
|
+
memori/database/__init__.py,sha256=kMLxwfRfTVvw0oV1kl9v-Dkyqm6ggcsMV6hltqdrN3k,189
|
|
16
|
+
memori/database/auto_creator.py,sha256=pQUKV9hO-wM-vocr-_2I-1kwCofd3z8-KpkHAxLREaM,12686
|
|
17
|
+
memori/database/connection_utils.py,sha256=iAxVvwP-_0UZwmc_y_GOs3-26YlPTmot6_bY8crIPxQ,6741
|
|
18
|
+
memori/database/models.py,sha256=jeC5JiVXjxzk3ABt7BeXfkAYOpyjcQ3OqnuLkfIIRyc,14832
|
|
19
|
+
memori/database/query_translator.py,sha256=oe_BCPamtT-LBBUKChbM0jK4rjI4ZDZtVp7ZUGnpDqs,7026
|
|
20
|
+
memori/database/search_service.py,sha256=9J6rqCY9R0cxJRssbii73s49VvZbMgdAFFJgasoaj9A,26902
|
|
21
|
+
memori/database/sqlalchemy_manager.py,sha256=KvVv3TcBxB-FTiL1YWolRlklDca-YCfdxCWaDhAHILw,34974
|
|
22
|
+
memori/database/adapters/__init__.py,sha256=lSvRPZXJoKTlj4iI8kW5I45OXjKZh8oFb6vqDpJ69sQ,366
|
|
23
|
+
memori/database/adapters/mysql_adapter.py,sha256=WOe-huYmrt-aeDn0YACnH3F5bhSTjG0SePjl4hThd-s,12944
|
|
24
|
+
memori/database/adapters/postgresql_adapter.py,sha256=tGBGoBo340bLluhb9DytflDdVnhkjbgaCY2SvvoUpfA,11358
|
|
25
|
+
memori/database/adapters/sqlite_adapter.py,sha256=FBeBgXlbB0I5vcjtT7rURNnHAkxXdlZ6e4OVEFVe78I,9170
|
|
26
|
+
memori/database/connectors/__init__.py,sha256=tG283nMRMWWM3B4WBfi7PMYnSUcH2Go5C88O91dOjcE,275
|
|
27
|
+
memori/database/connectors/base_connector.py,sha256=9fL4tSEQSPdnHnYbS6BbARrHztyIUy4DUZgZlgauFwo,9646
|
|
28
|
+
memori/database/connectors/mysql_connector.py,sha256=JE4nplaftn5SQI7DMXCe0qiVQyOE3OCIXHjnAUNa5C8,13380
|
|
29
|
+
memori/database/connectors/postgres_connector.py,sha256=sjD0ZjBNk0NZa-SkHRE5EnOqtTZ4z4ksL_-R2qKS7UY,16672
|
|
30
|
+
memori/database/connectors/sqlite_connector.py,sha256=FHPa33rPePkSWlhhYaHeKsjL64IbVyqFukx1le2HQo0,11717
|
|
31
|
+
memori/database/queries/__init__.py,sha256=BIxenJzxOosD2-myGfGrortbq18rQycxBfqdMJhm-Cc,319
|
|
32
|
+
memori/database/queries/base_queries.py,sha256=jUOGHETuPVGNfDPmWja3DSHgGSibP3YyrPRmP55ry4I,10598
|
|
33
|
+
memori/database/queries/chat_queries.py,sha256=gFsLLjAov502Pns9HAMr_MqLDETplZBQSPs9nqWFCnk,4431
|
|
34
|
+
memori/database/queries/entity_queries.py,sha256=no6bzXHNzRs4mmbi4MggW2F19XxfJ-0RQKv3iv84a64,7518
|
|
35
|
+
memori/database/queries/memory_queries.py,sha256=ehBikwSfP-3ClASUEJCmBlxVBI6BZpZHaheYBSSJ79c,9230
|
|
36
|
+
memori/database/schema_generators/__init__.py,sha256=0qN5FEmRgXaqT63HJXEnxaA8y1PebtyM-dZpSKkQfCI,152
|
|
37
|
+
memori/database/schema_generators/mysql_schema_generator.py,sha256=fWT4SR923eb9W2ri5ECLOcuGpBG-ehg1FTazDUjIcbY,8904
|
|
38
|
+
memori/database/search/__init__.py,sha256=3w82tn7AbHC7LewegaQCyU95zl28dZQUbJKBCqZ3eTE,222
|
|
39
|
+
memori/database/search/mysql_search_adapter.py,sha256=vZPA0BWIOsgu4dWsve8sbk0CPR8hULhPNz5vN4PyYW0,9301
|
|
40
|
+
memori/database/search/sqlite_search_adapter.py,sha256=zMkboGrJKkFyA6fx0kHBjUqKMCxaiVdD4F7jGEA8ssU,6840
|
|
41
|
+
memori/database/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
+
memori/database/templates/basic_template.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
|
+
memori/database/templates/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
+
memori/integrations/__init__.py,sha256=jlTI3TRBpclXXiqbigSUVqpfN9t64Q9B17EhlN543h8,2903
|
|
45
|
+
memori/integrations/anthropic_integration.py,sha256=IJtqPYTcMaYsXKWUabR4XDMpCabg9qMK7d-8T9A1CcY,8169
|
|
46
|
+
memori/integrations/litellm_integration.py,sha256=UWC5huyUMasfZDBzH7MxAVbTXoo70qvyGcrYZI7Gx_Y,12407
|
|
47
|
+
memori/integrations/openai_integration.py,sha256=iQKitY1JY_i-YldcAeePnVdYc6Ns0Gmk_zIoMV302RA,19977
|
|
48
|
+
memori/tools/__init__.py,sha256=0KPbWAFYmvEleacrby4RzhJGW5GPdFiXN6RWwFrbqf4,200
|
|
49
|
+
memori/tools/memory_tool.py,sha256=g4H774npQoYWB8vnTY5xdLrLbEq5i1lK8FDm8MfFtVU,25077
|
|
50
|
+
memori/utils/__init__.py,sha256=e3AN4KfomQBQDsr53HwfvOeTtI3QZMzGQMYpRp8l6ow,1757
|
|
51
|
+
memori/utils/exceptions.py,sha256=JGLo2S8ElG3gBjD4aJeVPWNsNB9OLPYAYzCdKfiEW74,12136
|
|
52
|
+
memori/utils/helpers.py,sha256=_lpGSsI2UkMyYUY6X9k_VEpACvyxwY51TzgYVPZTeBk,13059
|
|
53
|
+
memori/utils/input_validator.py,sha256=Jfk07lm7PkFwArzt7vYQBJfx1DMFA_LqU2D9Y2-ufDQ,13612
|
|
54
|
+
memori/utils/logging.py,sha256=HXf3UrE0cm72KvFwyCjE7237opIxdNqzqxQQauhrX34,7131
|
|
55
|
+
memori/utils/pydantic_models.py,sha256=oKQqvcFhmFdm_ldDqe5bM1xWJkSrv08o6gcz5Lgfs8o,12142
|
|
56
|
+
memori/utils/query_builder.py,sha256=3Srw9Ini6zBTOmIbIfYNwj5pZ3cyHr3hNiV9jLHHan4,21430
|
|
57
|
+
memori/utils/schemas.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
|
+
memori/utils/security_audit.py,sha256=BB9IwDdAiUgmuwjm8rEyHbthfTHr1sipcNlPdFpBs_g,22059
|
|
59
|
+
memori/utils/security_integration.py,sha256=TORuhOPEAQ1PRkt7xcBHhI1UbCd4LVLowdiv2UItwCY,13078
|
|
60
|
+
memori/utils/transaction_manager.py,sha256=ITSF1Gba4cEBJXW1woDyomhOsdfL8vwfGckqbYqAGok,18755
|
|
61
|
+
memori/utils/validators.py,sha256=2btILpEh2yBS_6rytp2B2epFxMT4876SibS0yNj6bKI,11287
|
|
62
|
+
memorisdk-2.0.1.dist-info/licenses/LICENSE,sha256=gyrDaYsSODngoYE1l68l_UfjppS-oYDrf1MvY1JGhgE,10430
|
|
63
|
+
memorisdk-2.0.1.dist-info/METADATA,sha256=sqUK-ZDWt9bYhI5VtLlTLCabZuNdem9ZPHO-JM6S308,18803
|
|
64
|
+
memorisdk-2.0.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
65
|
+
memorisdk-2.0.1.dist-info/top_level.txt,sha256=Nm3ad0isbJYBzTEce-O_gmkAEiTbAbyilgAhRt8IoGA,7
|
|
66
|
+
memorisdk-2.0.1.dist-info/RECORD,,
|
memori/scripts/llm_text.py
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
def is_text_file(file_path):
|
|
5
|
-
try:
|
|
6
|
-
with open(file_path, encoding="utf-8") as f:
|
|
7
|
-
f.read()
|
|
8
|
-
return True
|
|
9
|
-
except (UnicodeDecodeError, OSError):
|
|
10
|
-
return False
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def ingest_folder_to_txt(
|
|
14
|
-
input_path, output_file="ingested_data.txt", exclude_dirs=None
|
|
15
|
-
):
|
|
16
|
-
if exclude_dirs is None:
|
|
17
|
-
exclude_dirs = [".git", "node_modules", "__pycache__"]
|
|
18
|
-
|
|
19
|
-
with open(output_file, "w", encoding="utf-8") as out_f:
|
|
20
|
-
for root, dirs, files in os.walk(input_path):
|
|
21
|
-
# Filter out excluded directories
|
|
22
|
-
dirs[:] = [d for d in dirs if d not in exclude_dirs]
|
|
23
|
-
|
|
24
|
-
for file in files:
|
|
25
|
-
file_path = os.path.join(root, file)
|
|
26
|
-
|
|
27
|
-
# Skip binary files or the output file itself
|
|
28
|
-
if not is_text_file(file_path) or os.path.abspath(
|
|
29
|
-
file_path
|
|
30
|
-
) == os.path.abspath(output_file):
|
|
31
|
-
continue
|
|
32
|
-
|
|
33
|
-
try:
|
|
34
|
-
with open(file_path, encoding="utf-8") as in_f:
|
|
35
|
-
content = in_f.read()
|
|
36
|
-
|
|
37
|
-
relative_path = os.path.relpath(file_path, input_path)
|
|
38
|
-
out_f.write(f"\n### FILE: {relative_path} ###\n")
|
|
39
|
-
out_f.write(content + "\n")
|
|
40
|
-
|
|
41
|
-
except Exception as e:
|
|
42
|
-
print(f"Skipping {file_path}: {e}")
|
|
43
|
-
|
|
44
|
-
print(f"\n✅ Ingested data written to: {output_file}")
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
# ---- Run from CLI or script ----
|
|
48
|
-
if __name__ == "__main__":
|
|
49
|
-
folder_path = input("Enter the path to the folder: ").strip()
|
|
50
|
-
ingest_folder_to_txt(folder_path)
|
memorisdk-1.0.2.dist-info/RECORD
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
memori/__init__.py,sha256=EpqarE_UsvWNALb2YWk4XAc5SML5uRjZOr1DHIrXNgo,3202
|
|
2
|
-
memori/agents/__init__.py,sha256=9M3IG5R10FfVgT8tUzBZ2pZ0SypSpYkFfhtyvMyeTpE,261
|
|
3
|
-
memori/agents/conscious_agent.py,sha256=6sgoTOkSrRGTAdEKGZPa5V6DFdzVxm_InZS85OnsVLE,20478
|
|
4
|
-
memori/agents/memory_agent.py,sha256=Sz3MsQ4aRUccN5YO86he3tAwyP43KXFAH7KXPOC7QFY,12891
|
|
5
|
-
memori/agents/retrieval_agent.py,sha256=PofpjLvx7Y4M9ns6kkypwT2D9eFaO2xffSuPovi8zuw,21490
|
|
6
|
-
memori/config/__init__.py,sha256=tQAxopgOsea02u9iId-ocOY86nWWNGC3rvt3AOFcLn8,295
|
|
7
|
-
memori/config/manager.py,sha256=xi8d8xW3obyV6v9UHDG6idSAymge8yWxGW11e2mI0nQ,10388
|
|
8
|
-
memori/config/settings.py,sha256=nrrWD4hwdbtYlIPtJFHgGyMudGP-hz9sA-KBW_7ZZbE,9724
|
|
9
|
-
memori/core/__init__.py,sha256=jvhHn-KL3bzRHs11-4B0BCKH6gkAf6Gf_G59If8fD0M,157
|
|
10
|
-
memori/core/database.py,sha256=eok8lvXvFbHk_H2TEiYnRAX5nVE0xQgE0TUigRfGovs,36248
|
|
11
|
-
memori/core/memory.py,sha256=8xF7Yi1k13OkNGisc_ehY_iuU3E0qTHiSc_mnw2iouk,54955
|
|
12
|
-
memori/database/__init__.py,sha256=kMLxwfRfTVvw0oV1kl9v-Dkyqm6ggcsMV6hltqdrN3k,189
|
|
13
|
-
memori/database/connectors/__init__.py,sha256=tG283nMRMWWM3B4WBfi7PMYnSUcH2Go5C88O91dOjcE,275
|
|
14
|
-
memori/database/connectors/mysql_connector.py,sha256=P9tahYczjgfm_0iZpD1OxekeXLXnbpKt9M9EEe9NAjU,4861
|
|
15
|
-
memori/database/connectors/postgres_connector.py,sha256=30wMEeVbvAc30_OrA0MqjePEgCGd9ejtG2ycXZLlotM,5495
|
|
16
|
-
memori/database/connectors/sqlite_connector.py,sha256=5KbOh0OrIt8e7NEw7aYSk7pl5PMLnMCvf_GbA0Wzsvk,4782
|
|
17
|
-
memori/database/queries/__init__.py,sha256=BIxenJzxOosD2-myGfGrortbq18rQycxBfqdMJhm-Cc,319
|
|
18
|
-
memori/database/queries/base_queries.py,sha256=ZBMxqt48j3ooF5OZIkKtBSh24Ex-Mnhg-3wnyL3cl-M,10595
|
|
19
|
-
memori/database/queries/chat_queries.py,sha256=gFsLLjAov502Pns9HAMr_MqLDETplZBQSPs9nqWFCnk,4431
|
|
20
|
-
memori/database/queries/entity_queries.py,sha256=no6bzXHNzRs4mmbi4MggW2F19XxfJ-0RQKv3iv84a64,7518
|
|
21
|
-
memori/database/queries/memory_queries.py,sha256=hodLllgfLbQvdeOSCcZadPyAF3ro3O6Mbz0jAtDIXvc,5609
|
|
22
|
-
memori/database/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
-
memori/database/templates/basic_template.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
|
-
memori/database/templates/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
-
memori/integrations/__init__.py,sha256=9VVDvedcu4ZxK2Tt_fT5ZSRPV9xakfEloNhPibpvHA8,1978
|
|
26
|
-
memori/integrations/anthropic_integration.py,sha256=IJtqPYTcMaYsXKWUabR4XDMpCabg9qMK7d-8T9A1CcY,8169
|
|
27
|
-
memori/integrations/litellm_integration.py,sha256=fNQqov9TThFD9YRWLAFsZ1R4-Bsm4E70qYQ17Z4ZVik,351
|
|
28
|
-
memori/integrations/openai_integration.py,sha256=e_CV-CGPhwhTvH5fiA1NDcKYGZiDtN74luRJP5r2OdQ,12033
|
|
29
|
-
memori/scripts/llm_text.py,sha256=HDkuGMb527yupSbA3syBFA9WHBPnP2lVqEKW6trIZtU,1603
|
|
30
|
-
memori/tools/__init__.py,sha256=0KPbWAFYmvEleacrby4RzhJGW5GPdFiXN6RWwFrbqf4,200
|
|
31
|
-
memori/tools/memory_tool.py,sha256=j57j2-MbhC9oTQJxBOnEBssB536OAb7igFA-XnxtHy4,20917
|
|
32
|
-
memori/utils/__init__.py,sha256=e3AN4KfomQBQDsr53HwfvOeTtI3QZMzGQMYpRp8l6ow,1757
|
|
33
|
-
memori/utils/exceptions.py,sha256=JGLo2S8ElG3gBjD4aJeVPWNsNB9OLPYAYzCdKfiEW74,12136
|
|
34
|
-
memori/utils/helpers.py,sha256=_lpGSsI2UkMyYUY6X9k_VEpACvyxwY51TzgYVPZTeBk,13059
|
|
35
|
-
memori/utils/logging.py,sha256=HXf3UrE0cm72KvFwyCjE7237opIxdNqzqxQQauhrX34,7131
|
|
36
|
-
memori/utils/pydantic_models.py,sha256=U9nVy3Dko1X_dS4PpA7z2aacqegSSwOmZvQzPuVRcA0,8047
|
|
37
|
-
memori/utils/schemas.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
-
memori/utils/validators.py,sha256=2btILpEh2yBS_6rytp2B2epFxMT4876SibS0yNj6bKI,11287
|
|
39
|
-
memorisdk-1.0.2.dist-info/licenses/LICENSE,sha256=gyrDaYsSODngoYE1l68l_UfjppS-oYDrf1MvY1JGhgE,10430
|
|
40
|
-
memorisdk-1.0.2.dist-info/METADATA,sha256=KlUMw305S5PF68k0fxmS4ByYTLmEPrguzlr3FyzgqbI,16784
|
|
41
|
-
memorisdk-1.0.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
42
|
-
memorisdk-1.0.2.dist-info/entry_points.txt,sha256=ir3aWDbFfKGKQlnJCW440GQ2saYNznptoXWheOUtu5c,43
|
|
43
|
-
memorisdk-1.0.2.dist-info/top_level.txt,sha256=Nm3ad0isbJYBzTEce-O_gmkAEiTbAbyilgAhRt8IoGA,7
|
|
44
|
-
memorisdk-1.0.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|