projectdavid 1.33.31__tar.gz → 1.33.33__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 projectdavid might be problematic. Click here for more details.

Files changed (72) hide show
  1. {projectdavid-1.33.31 → projectdavid-1.33.33}/CHANGELOG.md +17 -0
  2. {projectdavid-1.33.31/src/projectdavid.egg-info → projectdavid-1.33.33}/PKG-INFO +2 -2
  3. {projectdavid-1.33.31 → projectdavid-1.33.33}/pyproject.toml +4 -2
  4. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/messages_client.py +24 -39
  5. {projectdavid-1.33.31 → projectdavid-1.33.33/src/projectdavid.egg-info}/PKG-INFO +2 -2
  6. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid.egg-info/requires.txt +1 -1
  7. {projectdavid-1.33.31 → projectdavid-1.33.33}/LICENSE +0 -0
  8. {projectdavid-1.33.31 → projectdavid-1.33.33}/MANIFEST.in +0 -0
  9. {projectdavid-1.33.31 → projectdavid-1.33.33}/README.md +0 -0
  10. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/UPDATE-V133.23.md +0 -0
  11. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/assistants.md +0 -0
  12. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/code_interpretation.md +0 -0
  13. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/database.md +0 -0
  14. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/database_assistant_example.md +0 -0
  15. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/docker_comtainers.md +0 -0
  16. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/file_search.md +0 -0
  17. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/files.md +0 -0
  18. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/function_call_definition.md +0 -0
  19. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/function_calls.md +0 -0
  20. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/handling_function_calls.md +0 -0
  21. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/inference.md +0 -0
  22. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/messages.md +0 -0
  23. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/runs.md +0 -0
  24. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/streams.md +0 -0
  25. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/threads.md +0 -0
  26. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/tools.md +0 -0
  27. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/users.md +0 -0
  28. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/vector_store.md +0 -0
  29. {projectdavid-1.33.31 → projectdavid-1.33.33}/docs/versioning.md +0 -0
  30. {projectdavid-1.33.31 → projectdavid-1.33.33}/setup.cfg +0 -0
  31. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/__init__.py +0 -0
  32. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/_version.py +0 -0
  33. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/actions_client.py +0 -0
  34. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/api_key_client.py +0 -0
  35. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/assistants_client.py +0 -0
  36. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/base_client.py +0 -0
  37. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/base_vector_store.py +0 -0
  38. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/event_handler.py +0 -0
  39. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/file_processor.py +0 -0
  40. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/file_search.py +0 -0
  41. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/files_client.py +0 -0
  42. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/inference_client.py +0 -0
  43. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/runs.py +0 -0
  44. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/synchronous_inference_wrapper.py +0 -0
  45. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/threads_client.py +0 -0
  46. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/tools_client.py +0 -0
  47. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/users_client.py +0 -0
  48. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/vector_store_manager.py +0 -0
  49. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/vectors.py +0 -0
  50. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/vision-file_processor.py +0 -0
  51. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/clients/vision_vectors.py +0 -0
  52. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/constants/platform.py +0 -0
  53. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/decorators.py +0 -0
  54. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/entity.py +0 -0
  55. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/events.py +0 -0
  56. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/serializers.py +0 -0
  57. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/services/logging_service.py +0 -0
  58. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/synthesis/__init__.py +0 -0
  59. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/synthesis/llm_synthesizer.py +0 -0
  60. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/synthesis/prompt.py +0 -0
  61. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/synthesis/reranker.py +0 -0
  62. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/synthesis/retriever.py +0 -0
  63. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/utils/__init__.py +0 -0
  64. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/utils/function_call_suppressor.py +0 -0
  65. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/utils/monitor_launcher.py +0 -0
  66. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/utils/peek_gate.py +0 -0
  67. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/utils/run_monitor.py +0 -0
  68. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid/utils/vector_search_formatter.py +0 -0
  69. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid.egg-info/SOURCES.txt +0 -0
  70. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid.egg-info/dependency_links.txt +0 -0
  71. {projectdavid-1.33.31 → projectdavid-1.33.33}/src/projectdavid.egg-info/top_level.txt +0 -0
  72. {projectdavid-1.33.31 → projectdavid-1.33.33}/tests/test_clients.py +0 -0
@@ -1,3 +1,20 @@
1
+ ## [1.33.33](https://github.com/frankie336/projectdavid/compare/v1.33.32...v1.33.33) (2025-07-10)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * wrap delete_message in a return envelope ([7ed1815](https://github.com/frankie336/projectdavid/commit/7ed18155b85d39cbecf0354c16b2a8a20131b9e2))
7
+ * wrap delete_message in a return envelope ([3e9e6fb](https://github.com/frankie336/projectdavid/commit/3e9e6fbb93ec0670c0e9a39b7eb446bcb1e7df40))
8
+
9
+ ## [1.33.32](https://github.com/frankie336/projectdavid/compare/v1.33.31...v1.33.32) (2025-07-09)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * use project_david_common 0.17.9 and refactor list_messages to use new envelope ([3fc565c](https://github.com/frankie336/projectdavid/commit/3fc565ce1f69af47fc102d5abd55f90a1fce2288))
15
+ * use project_david_common 0.17.9 and refactor list_messages to use new envelope ([3d802ef](https://github.com/frankie336/projectdavid/commit/3d802efc8cd0ec7425d0d1a1ead944c4d23d0838))
16
+ * use project_david_common 0.17.9 and refactor list_messages to use new envelope ([0549842](https://github.com/frankie336/projectdavid/commit/054984252097c9e843a12fed9a87eacea95aee33))
17
+
1
18
  ## [1.33.31](https://github.com/frankie336/projectdavid/compare/v1.33.30...v1.33.31) (2025-07-08)
2
19
 
3
20
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: projectdavid
3
- Version: 1.33.31
3
+ Version: 1.33.33
4
4
  Summary: Python SDK for interacting with the Entities Assistant API.
5
5
  Author-email: Francis Neequaye Armah <francis.neequaye@projectdavid.co.uk>
6
6
  License: PolyForm Noncommercial License 1.0.0
@@ -20,7 +20,7 @@ Requires-Dist: pydantic<3.0,>=2.0
20
20
  Requires-Dist: python-dotenv<2.0,>=1.0.1
21
21
  Requires-Dist: aiofiles<25.0,>=23.2.1
22
22
  Requires-Dist: ollama<0.5.0,>=0.4.4
23
- Requires-Dist: projectdavid_common==0.17.8
23
+ Requires-Dist: projectdavid_common==0.17.11
24
24
  Requires-Dist: qdrant-client<2.0.0,>=1.0.0
25
25
  Requires-Dist: pdfplumber<0.12.0,>=0.11.0
26
26
  Requires-Dist: validators<0.35.0,>=0.29.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "projectdavid"
7
- version = "1.33.31"
7
+ version = "1.33.33"
8
8
  description = "Python SDK for interacting with the Entities Assistant API."
9
9
  readme = "README.md"
10
10
  authors = [
@@ -20,7 +20,7 @@ dependencies = [
20
20
  "python-dotenv>=1.0.1,<2.0",
21
21
  "aiofiles>=23.2.1,<25.0",
22
22
  "ollama>=0.4.4,<0.5.0",
23
- "projectdavid_common==0.17.8",
23
+ "projectdavid_common==0.17.11",
24
24
  "qdrant-client>=1.0.0,<2.0.0",
25
25
  "pdfplumber>=0.11.0,<0.12.0",
26
26
  "validators>=0.29.0,<0.35.0",
@@ -67,6 +67,7 @@ vision = [
67
67
  "torchaudio>=2.2.1",
68
68
 
69
69
  # OpenCLIP + captioning stack
70
+
70
71
  "open_clip_torch>=2.24",
71
72
  "pillow>=10.2",
72
73
  "transformers>=4.41",
@@ -77,6 +78,7 @@ vision = [
77
78
 
78
79
  # Geolocation package pending release (uncomment when available)
79
80
  # "geoloc-regio-net>=0.2.0 ; extra == 'vision'",
81
+
80
82
  ]
81
83
 
82
84
  [tool.isort]
@@ -153,18 +153,21 @@ class MessagesClient(BaseAPIClient):
153
153
  raise
154
154
 
155
155
  def list_messages(
156
- self, thread_id: str, limit: int = 20, order: str = "asc"
157
- ) -> List[Dict[str, Any]]:
156
+ self,
157
+ thread_id: str,
158
+ limit: int = 20,
159
+ order: str = "asc",
160
+ ) -> ent_validator.MessagesList:
158
161
  """
159
- List messages for a given thread.
162
+ Fetch messages for a thread and return an OpenAI-style envelope.
160
163
 
161
164
  Args:
162
- thread_id (str): The thread ID.
163
- limit (int): Maximum number of messages to retrieve.
164
- order (str): Order of messages ('asc' or 'desc').
165
+ thread_id (str): Target thread ID.
166
+ limit (int): Max messages to fetch.
167
+ order (str): 'asc' or 'desc'.
165
168
 
166
169
  Returns:
167
- List[Dict[str, Any]]: A list of messages as dictionaries.
170
+ MessagesList: Wrapper containing .data[], .first_id, .last_id, .has_more …
168
171
  """
169
172
  logging_utility.info(
170
173
  "Listing messages for thread_id: %s, limit: %d, order: %s",
@@ -178,24 +181,19 @@ class MessagesClient(BaseAPIClient):
178
181
  f"/v1/threads/{thread_id}/messages", params=params
179
182
  )
180
183
  response.raise_for_status()
181
- messages = response.json()
182
- validated_messages = [
183
- ent_validator.MessageRead(**message) for message in messages
184
- ]
185
- logging_utility.info("Retrieved %d messages", len(validated_messages))
186
- return [message.dict() for message in validated_messages]
184
+
185
+ envelope = ent_validator.MessagesList(**response.json())
186
+ logging_utility.info("Retrieved %d messages", len(envelope.data))
187
+ return envelope
188
+
187
189
  except ValidationError as e:
188
190
  logging_utility.error("Validation error: %s", e.json())
189
- raise ValueError(f"Validation error: {e}")
191
+ raise ValueError(f"Validation error: {e}") from e
190
192
  except httpx.HTTPStatusError as e:
191
- logging_utility.error(
192
- "HTTP error occurred while listing messages: %s", str(e)
193
- )
193
+ logging_utility.error("HTTP error while listing messages: %s", str(e))
194
194
  raise
195
195
  except Exception as e:
196
- logging_utility.error(
197
- "An error occurred while listing messages: %s", str(e)
198
- )
196
+ logging_utility.error("Unexpected error while listing messages: %s", str(e))
199
197
  raise
200
198
 
201
199
  def get_formatted_messages(
@@ -294,32 +292,19 @@ class MessagesClient(BaseAPIClient):
294
292
  logging_utility.error("An error occurred: %s", str(e))
295
293
  raise RuntimeError(f"An error occurred: {str(e)}")
296
294
 
297
- def delete_message(self, message_id: str) -> Dict[str, Any]:
298
- """
299
- Delete a message by its ID.
300
-
301
- Args:
302
- message_id (str): The ID of the message.
303
-
304
- Returns:
305
- Dict[str, Any]: The deletion result.
306
- """
295
+ def delete_message(self, message_id: str) -> ent_validator.MessageDeleted:
296
+ """Delete a message and return deletion envelope."""
307
297
  logging_utility.info("Deleting message with id: %s", message_id)
308
298
  try:
309
299
  response = self.client.delete(f"/v1/messages/{message_id}")
310
300
  response.raise_for_status()
311
- result = response.json()
312
- logging_utility.info("Message deleted successfully")
313
- return result
301
+ return ent_validator.MessageDeleted(**response.json())
302
+
314
303
  except httpx.HTTPStatusError as e:
315
- logging_utility.error(
316
- "HTTP error occurred while deleting message: %s", str(e)
317
- )
304
+ logging_utility.error("HTTP error while deleting message: %s", str(e))
318
305
  raise
319
306
  except Exception as e:
320
- logging_utility.error(
321
- "An error occurred while deleting message: %s", str(e)
322
- )
307
+ logging_utility.error("Unexpected error while deleting message: %s", str(e))
323
308
  raise
324
309
 
325
310
  def save_assistant_message_chunk(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: projectdavid
3
- Version: 1.33.31
3
+ Version: 1.33.33
4
4
  Summary: Python SDK for interacting with the Entities Assistant API.
5
5
  Author-email: Francis Neequaye Armah <francis.neequaye@projectdavid.co.uk>
6
6
  License: PolyForm Noncommercial License 1.0.0
@@ -20,7 +20,7 @@ Requires-Dist: pydantic<3.0,>=2.0
20
20
  Requires-Dist: python-dotenv<2.0,>=1.0.1
21
21
  Requires-Dist: aiofiles<25.0,>=23.2.1
22
22
  Requires-Dist: ollama<0.5.0,>=0.4.4
23
- Requires-Dist: projectdavid_common==0.17.8
23
+ Requires-Dist: projectdavid_common==0.17.11
24
24
  Requires-Dist: qdrant-client<2.0.0,>=1.0.0
25
25
  Requires-Dist: pdfplumber<0.12.0,>=0.11.0
26
26
  Requires-Dist: validators<0.35.0,>=0.29.0
@@ -3,7 +3,7 @@ pydantic<3.0,>=2.0
3
3
  python-dotenv<2.0,>=1.0.1
4
4
  aiofiles<25.0,>=23.2.1
5
5
  ollama<0.5.0,>=0.4.4
6
- projectdavid_common==0.17.8
6
+ projectdavid_common==0.17.11
7
7
  qdrant-client<2.0.0,>=1.0.0
8
8
  pdfplumber<0.12.0,>=0.11.0
9
9
  validators<0.35.0,>=0.29.0
File without changes
File without changes
File without changes