projectdavid 1.34.4__tar.gz → 1.34.6__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.34.4 → projectdavid-1.34.6}/CHANGELOG.md +14 -0
  2. {projectdavid-1.34.4/src/projectdavid.egg-info → projectdavid-1.34.6}/PKG-INFO +1 -1
  3. {projectdavid-1.34.4 → projectdavid-1.34.6}/pyproject.toml +1 -1
  4. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/runs.py +33 -35
  5. {projectdavid-1.34.4 → projectdavid-1.34.6/src/projectdavid.egg-info}/PKG-INFO +1 -1
  6. {projectdavid-1.34.4 → projectdavid-1.34.6}/LICENSE +0 -0
  7. {projectdavid-1.34.4 → projectdavid-1.34.6}/MANIFEST.in +0 -0
  8. {projectdavid-1.34.4 → projectdavid-1.34.6}/README.md +0 -0
  9. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/UPDATE-V133.23.md +0 -0
  10. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/assistants.md +0 -0
  11. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/code_interpretation.md +0 -0
  12. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/database.md +0 -0
  13. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/database_assistant_example.md +0 -0
  14. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/docker_comtainers.md +0 -0
  15. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/file_search.md +0 -0
  16. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/files.md +0 -0
  17. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/function_call_definition.md +0 -0
  18. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/function_calls.md +0 -0
  19. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/handling_function_calls.md +0 -0
  20. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/inference.md +0 -0
  21. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/messages.md +0 -0
  22. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/runs.md +0 -0
  23. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/streams.md +0 -0
  24. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/threads.md +0 -0
  25. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/tools.md +0 -0
  26. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/users.md +0 -0
  27. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/vector_store.md +0 -0
  28. {projectdavid-1.34.4 → projectdavid-1.34.6}/docs/versioning.md +0 -0
  29. {projectdavid-1.34.4 → projectdavid-1.34.6}/setup.cfg +0 -0
  30. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/__init__.py +0 -0
  31. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/_version.py +0 -0
  32. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/actions_client.py +0 -0
  33. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/api_key_client.py +0 -0
  34. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/assistants_client.py +0 -0
  35. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/base_client.py +0 -0
  36. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/base_vector_store.py +0 -0
  37. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/event_handler.py +0 -0
  38. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/file_processor.py +0 -0
  39. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/file_search.py +0 -0
  40. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/files_client.py +0 -0
  41. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/inference_client.py +0 -0
  42. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/messages_client.py +0 -0
  43. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/synchronous_inference_wrapper.py +0 -0
  44. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/threads_client.py +0 -0
  45. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/tools_client.py +0 -0
  46. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/users_client.py +0 -0
  47. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/vector_store_manager.py +0 -0
  48. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/vectors.py +0 -0
  49. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/vision-file_processor.py +0 -0
  50. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/clients/vision_vectors.py +0 -0
  51. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/constants/platform.py +0 -0
  52. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/decorators.py +0 -0
  53. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/entity.py +0 -0
  54. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/events.py +0 -0
  55. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/serializers.py +0 -0
  56. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/services/logging_service.py +0 -0
  57. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/synthesis/__init__.py +0 -0
  58. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/synthesis/llm_synthesizer.py +0 -0
  59. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/synthesis/prompt.py +0 -0
  60. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/synthesis/reranker.py +0 -0
  61. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/synthesis/retriever.py +0 -0
  62. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/utils/__init__.py +0 -0
  63. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/utils/function_call_suppressor.py +0 -0
  64. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/utils/monitor_launcher.py +0 -0
  65. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/utils/peek_gate.py +0 -0
  66. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/utils/run_monitor.py +0 -0
  67. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid/utils/vector_search_formatter.py +0 -0
  68. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid.egg-info/SOURCES.txt +0 -0
  69. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid.egg-info/dependency_links.txt +0 -0
  70. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid.egg-info/requires.txt +0 -0
  71. {projectdavid-1.34.4 → projectdavid-1.34.6}/src/projectdavid.egg-info/top_level.txt +0 -0
  72. {projectdavid-1.34.4 → projectdavid-1.34.6}/tests/test_clients.py +0 -0
@@ -1,3 +1,17 @@
1
+ ## [1.34.6](https://github.com/frankie336/projectdavid/compare/v1.34.5...v1.34.6) (2025-08-20)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * epoch time on .create_run ([be013d4](https://github.com/frankie336/projectdavid/commit/be013d4e98724a2c252a7daa5b31bfda61253d15))
7
+
8
+ ## [1.34.5](https://github.com/frankie336/projectdavid/compare/v1.34.4...v1.34.5) (2025-08-17)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * Adding update_run ([10b1c6f](https://github.com/frankie336/projectdavid/commit/10b1c6f1b7da9f77d3bd7c9478edf8f1dc41fc82))
14
+
1
15
  ## [1.34.4](https://github.com/frankie336/projectdavid/compare/v1.34.3...v1.34.4) (2025-08-15)
2
16
 
3
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: projectdavid
3
- Version: 1.34.4
3
+ Version: 1.34.6
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "projectdavid"
7
- version = "1.34.4"
7
+ version = "1.34.6"
8
8
  description = "Python SDK for interacting with the Entities Assistant API."
9
9
  readme = "README.md"
10
10
  authors = [
@@ -45,15 +45,30 @@ class RunsClient(BaseAPIClient):
45
45
  meta_data: Optional[Dict[str, Any]] = None,
46
46
  ) -> ent_validator.Run:
47
47
  """
48
- Create a run. The server expects user_id to be injected explicitly,
49
- which is passed in from the authenticated API key.
50
-
51
- Returns a fully‑populated Run model (read schema).
48
+ Create a run. The server injects user_id from the API key.
49
+ We normalize all timestamp fields to epoch ints (or None).
52
50
  """
51
+
52
+ def _epoch(v):
53
+ # Accept None, int, datetime, or stringified int
54
+ if v is None:
55
+ return None
56
+ if isinstance(v, int):
57
+ return v
58
+ if isinstance(v, float):
59
+ return int(v)
60
+ if hasattr(v, "timestamp"): # datetime / date
61
+ return int(v.timestamp())
62
+ try:
63
+ return int(str(v))
64
+ except Exception:
65
+ return None
66
+
67
+ now = int(time.time())
53
68
  if meta_data is None:
54
69
  meta_data = {}
55
70
 
56
- # Construct the RunCreate payload, including user_id
71
+ # Build the Pydantic payload with epoch-normalized timestamps
57
72
  run_payload = ent_validator.RunCreate(
58
73
  id=UtilsInterface.IdentifierService.generate_run_id(),
59
74
  user_id=None,
@@ -61,11 +76,11 @@ class RunsClient(BaseAPIClient):
61
76
  thread_id=thread_id,
62
77
  instructions=instructions,
63
78
  meta_data=meta_data,
64
- cancelled_at=None,
65
- completed_at=None,
66
- created_at=int(time.time()),
67
- expires_at=int(time.time()) + 3600,
68
- failed_at=None,
79
+ cancelled_at=_epoch(None),
80
+ completed_at=_epoch(None),
81
+ created_at=_epoch(now),
82
+ expires_at=_epoch(now + 3600),
83
+ failed_at=_epoch(None),
69
84
  incomplete_details=None,
70
85
  last_error=None,
71
86
  max_completion_tokens=1000,
@@ -75,14 +90,15 @@ class RunsClient(BaseAPIClient):
75
90
  parallel_tool_calls=False,
76
91
  required_action=None,
77
92
  response_format="text",
78
- started_at=None,
93
+ started_at=_epoch(None),
79
94
  status=StatusEnum.queued,
80
95
  tool_choice="none",
81
96
  tools=[],
82
97
  truncation_strategy={},
83
98
  usage=None,
84
- temperature=0.7,
85
- top_p=0.9,
99
+ # NOTE: your DB columns are Integer; avoid floats here to prevent truncation
100
+ temperature=1, # or None if you prefer to omit
101
+ top_p=1, # or None if you prefer to omit
86
102
  tool_resources={},
87
103
  )
88
104
 
@@ -91,14 +107,15 @@ class RunsClient(BaseAPIClient):
91
107
  assistant_id,
92
108
  thread_id,
93
109
  )
94
-
95
110
  logging_utility.debug("Run payload: %s", run_payload.model_dump())
96
111
 
97
112
  try:
98
- resp = self.client.post("/v1/runs", json=run_payload.model_dump())
113
+ # Exclude None so we don't send unset fields
114
+ resp = self.client.post(
115
+ "/v1/runs", json=run_payload.model_dump(exclude_none=True)
116
+ )
99
117
  resp.raise_for_status()
100
118
 
101
- # Validate response with the *read* schema
102
119
  run_out = ent_validator.Run(**resp.json())
103
120
  logging_utility.info("Run created successfully: %s", run_out.id)
104
121
  return run_out
@@ -148,25 +165,6 @@ class RunsClient(BaseAPIClient):
148
165
  )
149
166
  raise
150
167
 
151
- def update_run(self, run_id: str, metadata: Dict[str, Any]) -> ent_validator.Run:
152
- """
153
- Shallow-merge metadata into a run. Returns the updated Run.
154
- """
155
- logging_utility.info("Updating metadata for run_id: %s", run_id)
156
- try:
157
- resp = self.client.put(f"/v1/runs/{run_id}/metadata", json=metadata)
158
- resp.raise_for_status()
159
- return ent_validator.Run(**resp.json())
160
- except ValidationError as e:
161
- logging_utility.error("Validation error: %s", e.json())
162
- raise ValueError(f"Validation error: {e}")
163
- except httpx.HTTPStatusError as e:
164
- logging_utility.error("HTTP error updating run metadata: %s", str(e))
165
- raise
166
- except Exception as e:
167
- logging_utility.error("Unexpected error updating run metadata: %s", str(e))
168
- raise
169
-
170
168
  def update_run_status(self, run_id: str, new_status: str) -> ent_validator.Run:
171
169
  """
172
170
  Update the status of a run.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: projectdavid
3
- Version: 1.34.4
3
+ Version: 1.34.6
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
File without changes
File without changes
File without changes
File without changes