memoryintelligence 1.0.0__tar.gz → 1.0.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.
- memoryintelligence-1.0.1/CHANGELOG.md +52 -0
- memoryintelligence-1.0.1/MANIFEST.in +21 -0
- memoryintelligence-1.0.1/PKG-INFO +183 -0
- memoryintelligence-1.0.1/README.md +148 -0
- {memoryintelligence-1.0.0 → memoryintelligence-1.0.1}/memoryintelligence/__init__.py +4 -5
- {memoryintelligence-1.0.0 → memoryintelligence-1.0.1}/memoryintelligence/memory_client.py +3 -1
- {memoryintelligence-1.0.0 → memoryintelligence-1.0.1}/memoryintelligence/mi_types.py +1 -1
- memoryintelligence-1.0.1/memoryintelligence.egg-info/SOURCES.txt +9 -0
- {memoryintelligence-1.0.0 → memoryintelligence-1.0.1}/pyproject.toml +3 -3
- memoryintelligence-1.0.0/PKG-INFO +0 -428
- memoryintelligence-1.0.0/README.md +0 -392
- memoryintelligence-1.0.0/memoryintelligence.egg-info/PKG-INFO +0 -428
- memoryintelligence-1.0.0/memoryintelligence.egg-info/SOURCES.txt +0 -15
- memoryintelligence-1.0.0/memoryintelligence.egg-info/dependency_links.txt +0 -1
- memoryintelligence-1.0.0/memoryintelligence.egg-info/requires.txt +0 -8
- memoryintelligence-1.0.0/memoryintelligence.egg-info/top_level.txt +0 -1
- memoryintelligence-1.0.0/tests/test_integration.py +0 -302
- memoryintelligence-1.0.0/tests/test_sdk.py +0 -784
- memoryintelligence-1.0.0/tests/test_security.py +0 -471
- {memoryintelligence-1.0.0 → memoryintelligence-1.0.1}/LICENSE +0 -0
- {memoryintelligence-1.0.0 → memoryintelligence-1.0.1}/memoryintelligence/edge_client.py +0 -0
- {memoryintelligence-1.0.0 → memoryintelligence-1.0.1}/setup.cfg +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the Memory Intelligence Python SDK will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.0.1] - 2026-02-07
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- Corrected `ProvenanceError` in `__all__` exports list (final typo fix)
|
|
12
|
+
|
|
13
|
+
## [1.0.0] - 2026-02-07 [YANKED]
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
- **MemoryClient** with 6 core operations: process, search, match, explain, delete, verify_provenance
|
|
17
|
+
- **EdgeClient** for on-premises HIPAA-compliant deployments
|
|
18
|
+
- Privacy-first architecture with meaning-only retention (default)
|
|
19
|
+
- Structured semantic extraction (entities, topics, SVO triples, key phrases)
|
|
20
|
+
- Explainable search results with human + audit explanations
|
|
21
|
+
- Cryptographic provenance tracking with hash chain verification
|
|
22
|
+
- ULID-based identity firewall for cryptographic tenant isolation
|
|
23
|
+
- Scope-based access control (user, team, client, organization)
|
|
24
|
+
- PII detection and configurable handling (extract_and_redact, hash, reject)
|
|
25
|
+
- Type-safe API with Pydantic models
|
|
26
|
+
- Comprehensive error handling (7 exception types)
|
|
27
|
+
- 30+ unit and integration tests
|
|
28
|
+
|
|
29
|
+
### Known Limitations
|
|
30
|
+
- Pagination not yet implemented (coming in v1.1.0)
|
|
31
|
+
- Streaming search results not yet available
|
|
32
|
+
- Temporal intelligence parameter present but not fully validated in tests
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
- Corrected `ProvenanceError` exception name (was misspelled as `ProvenenaceError`)
|
|
36
|
+
|
|
37
|
+
## [Unreleased]
|
|
38
|
+
|
|
39
|
+
### Planned for v1.1.0
|
|
40
|
+
- Cursor-based pagination for search results
|
|
41
|
+
- Enhanced temporal intelligence validation
|
|
42
|
+
- Circuit breaker and retry logic
|
|
43
|
+
- Performance benchmarks published
|
|
44
|
+
|
|
45
|
+
### Planned for v2.0.0
|
|
46
|
+
- Streaming search results
|
|
47
|
+
- Batch processing operations
|
|
48
|
+
- GraphQL API support
|
|
49
|
+
- React hooks companion package (@memoryintelligence/react)
|
|
50
|
+
|
|
51
|
+
[1.0.0]: https://github.com/memoryintelligence/sdk-python/releases/tag/v1.0.0
|
|
52
|
+
[Unreleased]: https://github.com/memoryintelligence/sdk-python/compare/v1.0.0...HEAD
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Include essential files
|
|
2
|
+
include README.md
|
|
3
|
+
include LICENSE
|
|
4
|
+
include CHANGELOG.md
|
|
5
|
+
|
|
6
|
+
# Include package data
|
|
7
|
+
recursive-include memoryintelligence *.py
|
|
8
|
+
|
|
9
|
+
# Exclude development files
|
|
10
|
+
exclude .gitignore
|
|
11
|
+
exclude .env*
|
|
12
|
+
recursive-exclude tests *
|
|
13
|
+
recursive-exclude demos *
|
|
14
|
+
recursive-exclude examples *
|
|
15
|
+
recursive-exclude .venv *
|
|
16
|
+
recursive-exclude __pycache__ *
|
|
17
|
+
recursive-exclude *.egg-info *
|
|
18
|
+
global-exclude *.pyc
|
|
19
|
+
global-exclude *.pyo
|
|
20
|
+
global-exclude *~
|
|
21
|
+
global-exclude .DS_Store
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: memoryintelligence
|
|
3
|
+
Version: 1.0.1
|
|
4
|
+
Summary: Official Python SDK for Memory Intelligence - Verifiable meaning infrastructure for AI
|
|
5
|
+
Author-email: Memory Intelligence Team <sdk@memoryintelligence.dev>
|
|
6
|
+
Maintainer-email: Memory Intelligence Team <sdk@memoryintelligence.dev>
|
|
7
|
+
License-Expression: MIT
|
|
8
|
+
Project-URL: Homepage, https://memoryintelligence.dev
|
|
9
|
+
Project-URL: Documentation, https://docs.memoryintelligence.dev
|
|
10
|
+
Project-URL: Repository, https://github.com/memoryintelligence/sdk-python
|
|
11
|
+
Project-URL: Changelog, https://github.com/memoryintelligence/sdk-python/blob/main/CHANGELOG.md
|
|
12
|
+
Keywords: ai,llm,memory,rag,embeddings,nlp,privacy,compliance,hipaa,gdpr,provenance
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
22
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
|
+
Classifier: Typing :: Typed
|
|
24
|
+
Requires-Python: >=3.9
|
|
25
|
+
Description-Content-Type: text/markdown
|
|
26
|
+
License-File: LICENSE
|
|
27
|
+
Requires-Dist: httpx>=0.24.0
|
|
28
|
+
Provides-Extra: dev
|
|
29
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
30
|
+
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
|
|
31
|
+
Requires-Dist: pytest-cov>=4.0; extra == "dev"
|
|
32
|
+
Requires-Dist: mypy>=1.0; extra == "dev"
|
|
33
|
+
Requires-Dist: ruff>=0.1; extra == "dev"
|
|
34
|
+
Dynamic: license-file
|
|
35
|
+
|
|
36
|
+
# Memory Intelligence SDK
|
|
37
|
+
|
|
38
|
+
The official Python SDK for Memory Intelligence - Verifiable meaning infrastructure for AI.
|
|
39
|
+
|
|
40
|
+
[](https://pypi.org/project/memoryintelligence/)
|
|
41
|
+
[](https://pypi.org/project/memoryintelligence/)
|
|
42
|
+
|
|
43
|
+
## Quick Start
|
|
44
|
+
|
|
45
|
+
```python
|
|
46
|
+
from memoryintelligence import MemoryClient
|
|
47
|
+
|
|
48
|
+
# Initialize client
|
|
49
|
+
mi = MemoryClient(api_key="mi_sk_...")
|
|
50
|
+
|
|
51
|
+
# Process content → meaning
|
|
52
|
+
umo = mi.process("Meeting notes from today", user_ulid="01ABC...")
|
|
53
|
+
|
|
54
|
+
# Search meaning
|
|
55
|
+
results = mi.search("What did we discuss?", user_ulid="01ABC...", explain=True)
|
|
56
|
+
|
|
57
|
+
# Match for recommendations
|
|
58
|
+
match = mi.match("01ABC...", "01XYZ...", explain=True)
|
|
59
|
+
|
|
60
|
+
# Delete for GDPR
|
|
61
|
+
mi.delete(user_ulid="01ABC...")
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Key Features
|
|
65
|
+
|
|
66
|
+
- **Meaning-First Architecture**: Raw content discarded after processing
|
|
67
|
+
- **Five Core Operations**: Process, Search, Match, Explain, Delete
|
|
68
|
+
- **Provenance Tracking**: Cryptographic verification of content lineage
|
|
69
|
+
- **GDPR Compliance**: One-call data deletion with audit proof
|
|
70
|
+
- **Built-in Telemetry**: Debug logs for content processing
|
|
71
|
+
- **Simplified API**: Only 12 essential exports
|
|
72
|
+
|
|
73
|
+
## Usage Guide
|
|
74
|
+
|
|
75
|
+
### Initialize the Client
|
|
76
|
+
|
|
77
|
+
```python
|
|
78
|
+
from memoryintelligence import MemoryClient
|
|
79
|
+
|
|
80
|
+
# For production (API key required)
|
|
81
|
+
mi = MemoryClient(api_key="mi_sk_prod_...")
|
|
82
|
+
|
|
83
|
+
# For development
|
|
84
|
+
mi = MemoryClient(api_key="mi_sk_dev_...")
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Process Content
|
|
88
|
+
|
|
89
|
+
Convert raw content to meaning (discards raw content by default):
|
|
90
|
+
|
|
91
|
+
```python
|
|
92
|
+
umo = mi.process(
|
|
93
|
+
"Budget approved for Q3 initiatives",
|
|
94
|
+
user_ulid="01ABC...",
|
|
95
|
+
retention_policy="meaning_only"
|
|
96
|
+
)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Search for Meaning
|
|
100
|
+
|
|
101
|
+
Find relevant memories with explanation:
|
|
102
|
+
|
|
103
|
+
```python
|
|
104
|
+
results = mi.search(
|
|
105
|
+
"Q3 budget decisions",
|
|
106
|
+
user_ulid="01ABC...",
|
|
107
|
+
explain=True,
|
|
108
|
+
limit=5
|
|
109
|
+
)
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Match for Recommendations
|
|
113
|
+
|
|
114
|
+
Compare two memories for relevance:
|
|
115
|
+
|
|
116
|
+
```python
|
|
117
|
+
match = mi.match(
|
|
118
|
+
source_ulid="01ABC...",
|
|
119
|
+
candidate_ulid="01XYZ...",
|
|
120
|
+
explain=True
|
|
121
|
+
)
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Get Explanations
|
|
125
|
+
|
|
126
|
+
Understand why content is relevant:
|
|
127
|
+
|
|
128
|
+
```python
|
|
129
|
+
explanation = mi.explain(umo.umo_id)
|
|
130
|
+
print(explanation.human.summary)
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Delete Data
|
|
134
|
+
|
|
135
|
+
GDPR-compliant data removal:
|
|
136
|
+
|
|
137
|
+
```python
|
|
138
|
+
result = mi.delete(user_ulid="01ABC...")
|
|
139
|
+
print(f"Deleted {result.deleted_count} memories")
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Monitoring & Telemetry
|
|
143
|
+
|
|
144
|
+
The SDK provides built-in telemetry for operational visibility:
|
|
145
|
+
|
|
146
|
+
```python
|
|
147
|
+
import logging
|
|
148
|
+
logging.basicConfig(level=logging.DEBUG)
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Key Log Events:
|
|
152
|
+
- `DEBUG`: Content processing metrics (size, time)
|
|
153
|
+
- `INFO`: Operation completion with results
|
|
154
|
+
- `WARNING`: PII detection events
|
|
155
|
+
- `ERROR`: API and integration errors
|
|
156
|
+
|
|
157
|
+
### Dashboard Setup
|
|
158
|
+
|
|
159
|
+
1. Run the smoke test to generate sample telemetry:
|
|
160
|
+
```bash
|
|
161
|
+
python sdk_smoke_test.py
|
|
162
|
+
```
|
|
163
|
+
2. Set up log collection with your monitoring system
|
|
164
|
+
3. Import the included Grafana dashboard template:
|
|
165
|
+
```bash
|
|
166
|
+
grafana-cli dashboard import grafana_dashboard.json
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Documentation
|
|
170
|
+
|
|
171
|
+
Full documentation is available at:
|
|
172
|
+
- [API Reference](https://docs.memoryintelligence.dev)
|
|
173
|
+
- [Getting Started Guide](https://memoryintelligence.dev/docs/getting-started)
|
|
174
|
+
|
|
175
|
+
## Support
|
|
176
|
+
|
|
177
|
+
For SDK issues, please contact:
|
|
178
|
+
- support@memoryintelligence.dev
|
|
179
|
+
- GitHub Issues: [Create New Issue](https://github.com/memoryintelligence/sdk-python/issues/new)
|
|
180
|
+
|
|
181
|
+
## License
|
|
182
|
+
|
|
183
|
+
This SDK is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Memory Intelligence SDK
|
|
2
|
+
|
|
3
|
+
The official Python SDK for Memory Intelligence - Verifiable meaning infrastructure for AI.
|
|
4
|
+
|
|
5
|
+
[](https://pypi.org/project/memoryintelligence/)
|
|
6
|
+
[](https://pypi.org/project/memoryintelligence/)
|
|
7
|
+
|
|
8
|
+
## Quick Start
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
from memoryintelligence import MemoryClient
|
|
12
|
+
|
|
13
|
+
# Initialize client
|
|
14
|
+
mi = MemoryClient(api_key="mi_sk_...")
|
|
15
|
+
|
|
16
|
+
# Process content → meaning
|
|
17
|
+
umo = mi.process("Meeting notes from today", user_ulid="01ABC...")
|
|
18
|
+
|
|
19
|
+
# Search meaning
|
|
20
|
+
results = mi.search("What did we discuss?", user_ulid="01ABC...", explain=True)
|
|
21
|
+
|
|
22
|
+
# Match for recommendations
|
|
23
|
+
match = mi.match("01ABC...", "01XYZ...", explain=True)
|
|
24
|
+
|
|
25
|
+
# Delete for GDPR
|
|
26
|
+
mi.delete(user_ulid="01ABC...")
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Key Features
|
|
30
|
+
|
|
31
|
+
- **Meaning-First Architecture**: Raw content discarded after processing
|
|
32
|
+
- **Five Core Operations**: Process, Search, Match, Explain, Delete
|
|
33
|
+
- **Provenance Tracking**: Cryptographic verification of content lineage
|
|
34
|
+
- **GDPR Compliance**: One-call data deletion with audit proof
|
|
35
|
+
- **Built-in Telemetry**: Debug logs for content processing
|
|
36
|
+
- **Simplified API**: Only 12 essential exports
|
|
37
|
+
|
|
38
|
+
## Usage Guide
|
|
39
|
+
|
|
40
|
+
### Initialize the Client
|
|
41
|
+
|
|
42
|
+
```python
|
|
43
|
+
from memoryintelligence import MemoryClient
|
|
44
|
+
|
|
45
|
+
# For production (API key required)
|
|
46
|
+
mi = MemoryClient(api_key="mi_sk_prod_...")
|
|
47
|
+
|
|
48
|
+
# For development
|
|
49
|
+
mi = MemoryClient(api_key="mi_sk_dev_...")
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Process Content
|
|
53
|
+
|
|
54
|
+
Convert raw content to meaning (discards raw content by default):
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
umo = mi.process(
|
|
58
|
+
"Budget approved for Q3 initiatives",
|
|
59
|
+
user_ulid="01ABC...",
|
|
60
|
+
retention_policy="meaning_only"
|
|
61
|
+
)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Search for Meaning
|
|
65
|
+
|
|
66
|
+
Find relevant memories with explanation:
|
|
67
|
+
|
|
68
|
+
```python
|
|
69
|
+
results = mi.search(
|
|
70
|
+
"Q3 budget decisions",
|
|
71
|
+
user_ulid="01ABC...",
|
|
72
|
+
explain=True,
|
|
73
|
+
limit=5
|
|
74
|
+
)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Match for Recommendations
|
|
78
|
+
|
|
79
|
+
Compare two memories for relevance:
|
|
80
|
+
|
|
81
|
+
```python
|
|
82
|
+
match = mi.match(
|
|
83
|
+
source_ulid="01ABC...",
|
|
84
|
+
candidate_ulid="01XYZ...",
|
|
85
|
+
explain=True
|
|
86
|
+
)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Get Explanations
|
|
90
|
+
|
|
91
|
+
Understand why content is relevant:
|
|
92
|
+
|
|
93
|
+
```python
|
|
94
|
+
explanation = mi.explain(umo.umo_id)
|
|
95
|
+
print(explanation.human.summary)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Delete Data
|
|
99
|
+
|
|
100
|
+
GDPR-compliant data removal:
|
|
101
|
+
|
|
102
|
+
```python
|
|
103
|
+
result = mi.delete(user_ulid="01ABC...")
|
|
104
|
+
print(f"Deleted {result.deleted_count} memories")
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Monitoring & Telemetry
|
|
108
|
+
|
|
109
|
+
The SDK provides built-in telemetry for operational visibility:
|
|
110
|
+
|
|
111
|
+
```python
|
|
112
|
+
import logging
|
|
113
|
+
logging.basicConfig(level=logging.DEBUG)
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Key Log Events:
|
|
117
|
+
- `DEBUG`: Content processing metrics (size, time)
|
|
118
|
+
- `INFO`: Operation completion with results
|
|
119
|
+
- `WARNING`: PII detection events
|
|
120
|
+
- `ERROR`: API and integration errors
|
|
121
|
+
|
|
122
|
+
### Dashboard Setup
|
|
123
|
+
|
|
124
|
+
1. Run the smoke test to generate sample telemetry:
|
|
125
|
+
```bash
|
|
126
|
+
python sdk_smoke_test.py
|
|
127
|
+
```
|
|
128
|
+
2. Set up log collection with your monitoring system
|
|
129
|
+
3. Import the included Grafana dashboard template:
|
|
130
|
+
```bash
|
|
131
|
+
grafana-cli dashboard import grafana_dashboard.json
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Documentation
|
|
135
|
+
|
|
136
|
+
Full documentation is available at:
|
|
137
|
+
- [API Reference](https://docs.memoryintelligence.dev)
|
|
138
|
+
- [Getting Started Guide](https://memoryintelligence.dev/docs/getting-started)
|
|
139
|
+
|
|
140
|
+
## Support
|
|
141
|
+
|
|
142
|
+
For SDK issues, please contact:
|
|
143
|
+
- support@memoryintelligence.dev
|
|
144
|
+
- GitHub Issues: [Create New Issue](https://github.com/memoryintelligence/sdk-python/issues/new)
|
|
145
|
+
|
|
146
|
+
## License
|
|
147
|
+
|
|
148
|
+
This SDK is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
@@ -45,7 +45,7 @@ Version: 1.0.0
|
|
|
45
45
|
Author: Memory Intelligence Team
|
|
46
46
|
"""
|
|
47
47
|
|
|
48
|
-
__version__ = "1.0.
|
|
48
|
+
__version__ = "1.0.1"
|
|
49
49
|
__author__ = "Memory Intelligence Team"
|
|
50
50
|
|
|
51
51
|
# ============================================================================
|
|
@@ -54,7 +54,7 @@ __author__ = "Memory Intelligence Team"
|
|
|
54
54
|
|
|
55
55
|
# Main clients
|
|
56
56
|
from .memory_client import MemoryClient
|
|
57
|
-
from .edge_client import EdgeClient
|
|
57
|
+
from .edge_client import EdgeClient
|
|
58
58
|
|
|
59
59
|
# Enums
|
|
60
60
|
from .mi_types import (
|
|
@@ -98,7 +98,7 @@ from .mi_types import (
|
|
|
98
98
|
ScopeViolationError,
|
|
99
99
|
PIIViolationError,
|
|
100
100
|
GovernanceError,
|
|
101
|
-
|
|
101
|
+
ProvenanceError,
|
|
102
102
|
)
|
|
103
103
|
|
|
104
104
|
# ============================================================================
|
|
@@ -112,7 +112,6 @@ __all__ = [
|
|
|
112
112
|
# Clients
|
|
113
113
|
"MemoryClient",
|
|
114
114
|
"EdgeClient",
|
|
115
|
-
"connect_edge",
|
|
116
115
|
|
|
117
116
|
# Enums
|
|
118
117
|
"Scope",
|
|
@@ -149,5 +148,5 @@ __all__ = [
|
|
|
149
148
|
"ScopeViolationError",
|
|
150
149
|
"PIIViolationError",
|
|
151
150
|
"GovernanceError",
|
|
152
|
-
"
|
|
151
|
+
"ProvenanceError",
|
|
153
152
|
]
|
|
@@ -74,7 +74,7 @@ from .mi_types import (
|
|
|
74
74
|
GovernanceError,
|
|
75
75
|
)
|
|
76
76
|
|
|
77
|
-
logger = logging.getLogger(
|
|
77
|
+
logger = logging.getLogger('memoryintelligence')
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
# ============================================================================
|
|
@@ -242,7 +242,9 @@ class MemoryClient:
|
|
|
242
242
|
if self.org_ulid:
|
|
243
243
|
payload["org_ulid"] = self.org_ulid
|
|
244
244
|
|
|
245
|
+
logger.debug("Processing content of length %d", len(content))
|
|
245
246
|
response = self._request("POST", "/v1/process", json=payload)
|
|
247
|
+
logger.info("Successfully processed content")
|
|
246
248
|
return self._parse_meaning_object(response)
|
|
247
249
|
|
|
248
250
|
# ========================================================================
|
|
@@ -4,10 +4,10 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "memoryintelligence"
|
|
7
|
-
version = "1.0.
|
|
7
|
+
version = "1.0.1"
|
|
8
8
|
description = "Official Python SDK for Memory Intelligence - Verifiable meaning infrastructure for AI"
|
|
9
9
|
readme = "README.md"
|
|
10
|
-
license =
|
|
10
|
+
license = "MIT"
|
|
11
11
|
authors = [
|
|
12
12
|
{name = "Memory Intelligence Team", email = "sdk@memoryintelligence.dev"}
|
|
13
13
|
]
|
|
@@ -30,7 +30,6 @@ keywords = [
|
|
|
30
30
|
classifiers = [
|
|
31
31
|
"Development Status :: 4 - Beta",
|
|
32
32
|
"Intended Audience :: Developers",
|
|
33
|
-
"License :: OSI Approved :: MIT License",
|
|
34
33
|
"Operating System :: OS Independent",
|
|
35
34
|
"Programming Language :: Python :: 3",
|
|
36
35
|
"Programming Language :: Python :: 3.9",
|
|
@@ -64,6 +63,7 @@ Changelog = "https://github.com/memoryintelligence/sdk-python/blob/main/CHANGELO
|
|
|
64
63
|
[tool.setuptools.packages.find]
|
|
65
64
|
where = ["."]
|
|
66
65
|
include = ["memoryintelligence*"]
|
|
66
|
+
exclude = ["tests*", "demos*", "examples*"]
|
|
67
67
|
|
|
68
68
|
[tool.mypy]
|
|
69
69
|
python_version = "3.9"
|