sovant 1.1.0__tar.gz → 1.2.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sovant
3
- Version: 1.1.0
3
+ Version: 1.2.0
4
4
  Summary: Sovant Memory-as-a-Service Python SDK
5
5
  Author: Sovant
6
6
  License: MIT
@@ -16,7 +16,8 @@ Dynamic: license-file
16
16
 
17
17
  # Sovant Python SDK
18
18
 
19
- Sovant is Memory-as-a-Service: a durable, queryable memory layer for AI apps with cross-model recall, hybrid (semantic + deterministic) retrieval, and simple SDKs.
19
+ **Sovant is a governed AI memory layer for AI agents and applications.**
20
+ Use it to store, search, and recall memories with profile awareness and enterprise-grade control over how memory is captured and used.
20
21
 
21
22
  [![PyPI version](https://img.shields.io/pypi/v/sovant.svg)](https://pypi.org/project/sovant/)
22
23
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -57,6 +58,32 @@ updated = client.memory.update(mem["id"], {
57
58
  client.memory.delete(mem["id"])
58
59
  ```
59
60
 
61
+ ## Recall vs Search
62
+
63
+ Sovant provides two ways to query memories:
64
+
65
+ - **`memory_recall()`** – Hybrid recall, profile-aware
66
+ Use for conversational queries: "What do you know about me?", "What happened on Project X?".
67
+ Uses Sovant's hybrid pipeline (profile fast-path + thread-scoped lexical + vector semantic search) and prioritizes profile facts (name/age/location) when available.
68
+
69
+ - **`memory_search()`** – Semantic search
70
+ Use for topic lookup and discovery. Pure vector similarity search without profile logic.
71
+ Behavior unchanged from previous versions.
72
+
73
+ ```python
74
+ # Recall for conversational queries
75
+ context = client.memory_recall(
76
+ query="what do you know about me?",
77
+ limit=10
78
+ )
79
+
80
+ # Search for topic discovery
81
+ topics = client.memory_search({
82
+ "query": "project updates",
83
+ "limit": 5
84
+ })
85
+ ```
86
+
60
87
  ## Chat in 60 Seconds
61
88
 
62
89
  Stream real-time chat responses with memory context:
@@ -1,6 +1,7 @@
1
1
  # Sovant Python SDK
2
2
 
3
- Sovant is Memory-as-a-Service: a durable, queryable memory layer for AI apps with cross-model recall, hybrid (semantic + deterministic) retrieval, and simple SDKs.
3
+ **Sovant is a governed AI memory layer for AI agents and applications.**
4
+ Use it to store, search, and recall memories with profile awareness and enterprise-grade control over how memory is captured and used.
4
5
 
5
6
  [![PyPI version](https://img.shields.io/pypi/v/sovant.svg)](https://pypi.org/project/sovant/)
6
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -41,6 +42,32 @@ updated = client.memory.update(mem["id"], {
41
42
  client.memory.delete(mem["id"])
42
43
  ```
43
44
 
45
+ ## Recall vs Search
46
+
47
+ Sovant provides two ways to query memories:
48
+
49
+ - **`memory_recall()`** – Hybrid recall, profile-aware
50
+ Use for conversational queries: "What do you know about me?", "What happened on Project X?".
51
+ Uses Sovant's hybrid pipeline (profile fast-path + thread-scoped lexical + vector semantic search) and prioritizes profile facts (name/age/location) when available.
52
+
53
+ - **`memory_search()`** – Semantic search
54
+ Use for topic lookup and discovery. Pure vector similarity search without profile logic.
55
+ Behavior unchanged from previous versions.
56
+
57
+ ```python
58
+ # Recall for conversational queries
59
+ context = client.memory_recall(
60
+ query="what do you know about me?",
61
+ limit=10
62
+ )
63
+
64
+ # Search for topic discovery
65
+ topics = client.memory_search({
66
+ "query": "project updates",
67
+ "limit": 5
68
+ })
69
+ ```
70
+
44
71
  ## Chat in 60 Seconds
45
72
 
46
73
  Stream real-time chat responses with memory context:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sovant"
3
- version = "1.1.0"
3
+ version = "1.2.0"
4
4
  description = "Sovant Memory-as-a-Service Python SDK"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -162,9 +162,27 @@ class Sovant:
162
162
  params['to_date'] = q.to_date
163
163
  return self._request("GET", f"{self.base_url}/api/v1/memory/search", params=params)
164
164
 
165
- def memory_recall(self, q: SearchQuery):
166
- """Semantic search alias for memory_search()"""
167
- return self.memory_search(q)
165
+ def memory_recall(self, query: str, thread_id: str | None = None, limit: int | None = None):
166
+ """
167
+ Hybrid recall with profile awareness
168
+
169
+ Uses multi-stage pipeline (profile fast-path + lexical + semantic)
170
+ Guarantees profile facts (name/age/location) when available
171
+
172
+ Use recall() for conversational queries ("who am I?", "what do you know about me?")
173
+ Use memory_search() for pure semantic topic lookup
174
+
175
+ Args:
176
+ query: The search query (required)
177
+ thread_id: Optional thread context for thread-scoped recall
178
+ limit: Maximum results to return (default 8, max 50)
179
+ """
180
+ params = {'query': query}
181
+ if thread_id:
182
+ params['thread_id'] = thread_id
183
+ if limit:
184
+ params['limit'] = str(limit)
185
+ return self._request("GET", f"{self.base_url}/api/v1/memory/recall", params=params)
168
186
 
169
187
  def memory_update(self, id: str, patch: Dict[str, Any]):
170
188
  # Convert data field to content field if present
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sovant
3
- Version: 1.1.0
3
+ Version: 1.2.0
4
4
  Summary: Sovant Memory-as-a-Service Python SDK
5
5
  Author: Sovant
6
6
  License: MIT
@@ -16,7 +16,8 @@ Dynamic: license-file
16
16
 
17
17
  # Sovant Python SDK
18
18
 
19
- Sovant is Memory-as-a-Service: a durable, queryable memory layer for AI apps with cross-model recall, hybrid (semantic + deterministic) retrieval, and simple SDKs.
19
+ **Sovant is a governed AI memory layer for AI agents and applications.**
20
+ Use it to store, search, and recall memories with profile awareness and enterprise-grade control over how memory is captured and used.
20
21
 
21
22
  [![PyPI version](https://img.shields.io/pypi/v/sovant.svg)](https://pypi.org/project/sovant/)
22
23
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -57,6 +58,32 @@ updated = client.memory.update(mem["id"], {
57
58
  client.memory.delete(mem["id"])
58
59
  ```
59
60
 
61
+ ## Recall vs Search
62
+
63
+ Sovant provides two ways to query memories:
64
+
65
+ - **`memory_recall()`** – Hybrid recall, profile-aware
66
+ Use for conversational queries: "What do you know about me?", "What happened on Project X?".
67
+ Uses Sovant's hybrid pipeline (profile fast-path + thread-scoped lexical + vector semantic search) and prioritizes profile facts (name/age/location) when available.
68
+
69
+ - **`memory_search()`** – Semantic search
70
+ Use for topic lookup and discovery. Pure vector similarity search without profile logic.
71
+ Behavior unchanged from previous versions.
72
+
73
+ ```python
74
+ # Recall for conversational queries
75
+ context = client.memory_recall(
76
+ query="what do you know about me?",
77
+ limit=10
78
+ )
79
+
80
+ # Search for topic discovery
81
+ topics = client.memory_search({
82
+ "query": "project updates",
83
+ "limit": 5
84
+ })
85
+ ```
86
+
60
87
  ## Chat in 60 Seconds
61
88
 
62
89
  Stream real-time chat responses with memory context:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes