projectdavid 1.33.17__tar.gz → 1.33.19__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 (71) hide show
  1. {projectdavid-1.33.17 → projectdavid-1.33.19}/CHANGELOG.md +15 -0
  2. {projectdavid-1.33.17/src/projectdavid.egg-info → projectdavid-1.33.19}/PKG-INFO +1 -1
  3. {projectdavid-1.33.17 → projectdavid-1.33.19}/pyproject.toml +1 -1
  4. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/vector_store_manager.py +45 -17
  5. {projectdavid-1.33.17 → projectdavid-1.33.19/src/projectdavid.egg-info}/PKG-INFO +1 -1
  6. {projectdavid-1.33.17 → projectdavid-1.33.19}/LICENSE +0 -0
  7. {projectdavid-1.33.17 → projectdavid-1.33.19}/MANIFEST.in +0 -0
  8. {projectdavid-1.33.17 → projectdavid-1.33.19}/README.md +0 -0
  9. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/assistants.md +0 -0
  10. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/code_interpretation.md +0 -0
  11. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/database.md +0 -0
  12. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/database_assistant_example.md +0 -0
  13. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/docker_comtainers.md +0 -0
  14. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/file_search.md +0 -0
  15. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/files.md +0 -0
  16. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/function_call_definition.md +0 -0
  17. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/function_calls.md +0 -0
  18. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/handling_function_calls.md +0 -0
  19. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/inference.md +0 -0
  20. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/messages.md +0 -0
  21. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/runs.md +0 -0
  22. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/streams.md +0 -0
  23. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/threads.md +0 -0
  24. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/tools.md +0 -0
  25. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/users.md +0 -0
  26. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/vector_store.md +0 -0
  27. {projectdavid-1.33.17 → projectdavid-1.33.19}/docs/versioning.md +0 -0
  28. {projectdavid-1.33.17 → projectdavid-1.33.19}/setup.cfg +0 -0
  29. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/__init__.py +0 -0
  30. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/_version.py +0 -0
  31. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/actions_client.py +0 -0
  32. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/api_key_client.py +0 -0
  33. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/assistants_client.py +0 -0
  34. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/base_client.py +0 -0
  35. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/base_vector_store.py +0 -0
  36. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/event_handler.py +0 -0
  37. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/file_processor.py +0 -0
  38. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/file_search.py +0 -0
  39. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/files_client.py +0 -0
  40. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/inference_client.py +0 -0
  41. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/messages_client.py +0 -0
  42. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/runs.py +0 -0
  43. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/synchronous_inference_wrapper.py +0 -0
  44. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/threads_client.py +0 -0
  45. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/tools_client.py +0 -0
  46. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/users_client.py +0 -0
  47. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/vectors.py +0 -0
  48. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/vision-file_processor.py +0 -0
  49. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/clients/vision_vectors.py +0 -0
  50. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/constants/platform.py +0 -0
  51. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/decorators.py +0 -0
  52. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/entity.py +0 -0
  53. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/events.py +0 -0
  54. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/serializers.py +0 -0
  55. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/services/logging_service.py +0 -0
  56. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/synthesis/__init__.py +0 -0
  57. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/synthesis/llm_synthesizer.py +0 -0
  58. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/synthesis/prompt.py +0 -0
  59. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/synthesis/reranker.py +0 -0
  60. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/synthesis/retriever.py +0 -0
  61. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/utils/__init__.py +0 -0
  62. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/utils/function_call_suppressor.py +0 -0
  63. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/utils/monitor_launcher.py +0 -0
  64. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/utils/peek_gate.py +0 -0
  65. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/utils/run_monitor.py +0 -0
  66. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid/utils/vector_search_formatter.py +0 -0
  67. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid.egg-info/SOURCES.txt +0 -0
  68. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid.egg-info/dependency_links.txt +0 -0
  69. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid.egg-info/requires.txt +0 -0
  70. {projectdavid-1.33.17 → projectdavid-1.33.19}/src/projectdavid.egg-info/top_level.txt +0 -0
  71. {projectdavid-1.33.17 → projectdavid-1.33.19}/tests/test_clients.py +0 -0
@@ -1,3 +1,18 @@
1
+ ## [1.33.19](https://github.com/frankie336/projectdavid/compare/v1.33.18...v1.33.19) (2025-06-16)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Back out from vision support - resource issue. Revisit in grand plan-8 ([5740d62](https://github.com/frankie336/projectdavid/commit/5740d6270d511a92b05a14105157c07c1f0be609))
7
+ * Back out from vision support - resource issue. Revisit in grand plan-9 ([421aba8](https://github.com/frankie336/projectdavid/commit/421aba8e8e1eef0fc6aa873b3686e660747172da))
8
+
9
+ ## [1.33.18](https://github.com/frankie336/projectdavid/compare/v1.33.17...v1.33.18) (2025-06-16)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * Back out from vision support - resource issue. Revisit in grand plan-5 ([cb68423](https://github.com/frankie336/projectdavid/commit/cb6842339dbef4efe0b579bafd9b6cbf677dd282))
15
+
1
16
  ## [1.33.17](https://github.com/frankie336/projectdavid/compare/v1.33.16...v1.33.17) (2025-06-16)
2
17
 
3
18
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: projectdavid
3
- Version: 1.33.17
3
+ Version: 1.33.19
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.33.17"
7
+ version = "1.33.19"
8
8
  description = "Python SDK for interacting with the Entities Assistant API."
9
9
  readme = "README.md"
10
10
  authors = [
@@ -7,6 +7,7 @@ details from the higher‑level SDK.
7
7
 
8
8
  from __future__ import annotations
9
9
 
10
+ import inspect
10
11
  import time
11
12
  import uuid
12
13
  from pathlib import Path
@@ -129,25 +130,45 @@ class VectorStoreManager(BaseVectorStore):
129
130
  log.error("Store info failed: %s", e)
130
131
  raise VectorStoreError(f"Info retrieval failed: {e}") from e
131
132
 
132
- # ------------------------------------------------------------------ #
133
- # ingestion helpers
134
- # ------------------------------------------------------------------ #
135
133
  def add_to_store(
136
134
  self,
135
+ *,
137
136
  store_name: str,
138
137
  texts: List[str],
139
138
  vectors: List[List[float]],
140
139
  metadata: List[dict],
141
- # *,
142
- # vector_name: Optional[str] = None, # NEW
143
- ):
140
+ vector_name: Optional[str] = None,
141
+ ) -> Dict[str, Any]:
142
+ """Upsert vectors + payloads into *store_name*.
143
+
144
+ If *vector_name* is omitted, the manager auto‑detects the sole vector
145
+ field. If multiple fields exist it raises a clear error.
146
+ """
147
+
148
+ # ---- validate input ------------------------------------------------
144
149
  if not vectors:
145
150
  raise ValueError("Empty vectors list")
146
151
  expected = len(vectors[0])
147
152
  for i, vec in enumerate(vectors):
148
153
  if len(vec) != expected or not all(isinstance(v, float) for v in vec):
149
- raise ValueError(f"Vector {i} malformed")
154
+ raise ValueError(f"Vector {i} malformed: expected {expected} floats")
155
+
156
+ # ---- auto‑detect vector field --------------------------------------
157
+ if vector_name is None:
158
+ coll_info = self.client.get_collection(collection_name=store_name)
159
+ v_cfg = coll_info.config.params.vectors
160
+ vector_fields = list(v_cfg.keys()) if isinstance(v_cfg, dict) else [v_cfg]
161
+ if len(vector_fields) == 1:
162
+ vector_name = vector_fields[0]
163
+ log.debug(
164
+ "Auto‑detected vector_name=%r for store=%s", vector_name, store_name
165
+ )
166
+ else:
167
+ raise ValueError(
168
+ f"Multiple vector fields {vector_fields}; please specify vector_name"
169
+ )
150
170
 
171
+ # ---- build points ---------------------------------------------------
151
172
  points = [
152
173
  qdrant.PointStruct(
153
174
  id=self._generate_vector_id(),
@@ -156,18 +177,25 @@ class VectorStoreManager(BaseVectorStore):
156
177
  )
157
178
  for txt, vec, meta in zip(texts, vectors, metadata)
158
179
  ]
180
+
181
+ # ---- upsert with backward‑compat for old clients --------------------
182
+ upsert_sig = inspect.signature(self.client.upsert)
183
+ supports_vector_name = "vector_name" in upsert_sig.parameters
184
+
185
+ upsert_kwargs: Dict[str, Any] = {
186
+ "collection_name": store_name,
187
+ "points": points,
188
+ "wait": True,
189
+ }
190
+ if supports_vector_name:
191
+ upsert_kwargs["vector_name"] = vector_name
192
+
159
193
  try:
160
- # pass vector_name if multi-column
161
- self.client.upsert(
162
- collection_name=store_name,
163
- points=points,
164
- wait=True,
165
- # vector_name=vector_name, # ignored if None
166
- )
194
+ self.client.upsert(**upsert_kwargs)
167
195
  return {"status": "success", "points_inserted": len(points)}
168
- except Exception as e:
169
- log.error("Add‑to‑store failed: %s", e)
170
- raise VectorStoreError(f"Insertion failed: {e}") from e
196
+ except Exception as exc: # noqa: BLE001
197
+ log.error("Add‑to‑store failed: %s", exc, exc_info=True)
198
+ raise VectorStoreError(f"Insertion failed: {exc}") from exc
171
199
 
172
200
  # ------------------------------------------------------------------ #
173
201
  # search / query
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: projectdavid
3
- Version: 1.33.17
3
+ Version: 1.33.19
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