projectdavid 1.33.21__tar.gz → 1.33.23__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.21 → projectdavid-1.33.23}/CHANGELOG.md +14 -0
  2. {projectdavid-1.33.21/src/projectdavid.egg-info → projectdavid-1.33.23}/PKG-INFO +1 -1
  3. {projectdavid-1.33.21 → projectdavid-1.33.23}/pyproject.toml +1 -1
  4. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/file_processor.py +9 -0
  5. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/vector_store_manager.py +23 -18
  6. {projectdavid-1.33.21 → projectdavid-1.33.23/src/projectdavid.egg-info}/PKG-INFO +1 -1
  7. {projectdavid-1.33.21 → projectdavid-1.33.23}/LICENSE +0 -0
  8. {projectdavid-1.33.21 → projectdavid-1.33.23}/MANIFEST.in +0 -0
  9. {projectdavid-1.33.21 → projectdavid-1.33.23}/README.md +0 -0
  10. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/assistants.md +0 -0
  11. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/code_interpretation.md +0 -0
  12. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/database.md +0 -0
  13. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/database_assistant_example.md +0 -0
  14. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/docker_comtainers.md +0 -0
  15. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/file_search.md +0 -0
  16. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/files.md +0 -0
  17. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/function_call_definition.md +0 -0
  18. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/function_calls.md +0 -0
  19. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/handling_function_calls.md +0 -0
  20. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/inference.md +0 -0
  21. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/messages.md +0 -0
  22. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/runs.md +0 -0
  23. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/streams.md +0 -0
  24. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/threads.md +0 -0
  25. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/tools.md +0 -0
  26. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/users.md +0 -0
  27. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/vector_store.md +0 -0
  28. {projectdavid-1.33.21 → projectdavid-1.33.23}/docs/versioning.md +0 -0
  29. {projectdavid-1.33.21 → projectdavid-1.33.23}/setup.cfg +0 -0
  30. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/__init__.py +0 -0
  31. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/_version.py +0 -0
  32. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/actions_client.py +0 -0
  33. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/api_key_client.py +0 -0
  34. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/assistants_client.py +0 -0
  35. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/base_client.py +0 -0
  36. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/base_vector_store.py +0 -0
  37. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/event_handler.py +0 -0
  38. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/file_search.py +0 -0
  39. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/files_client.py +0 -0
  40. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/inference_client.py +0 -0
  41. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/messages_client.py +0 -0
  42. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/runs.py +0 -0
  43. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/synchronous_inference_wrapper.py +0 -0
  44. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/threads_client.py +0 -0
  45. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/tools_client.py +0 -0
  46. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/users_client.py +0 -0
  47. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/vectors.py +0 -0
  48. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/vision-file_processor.py +0 -0
  49. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/clients/vision_vectors.py +0 -0
  50. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/constants/platform.py +0 -0
  51. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/decorators.py +0 -0
  52. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/entity.py +0 -0
  53. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/events.py +0 -0
  54. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/serializers.py +0 -0
  55. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/services/logging_service.py +0 -0
  56. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/synthesis/__init__.py +0 -0
  57. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/synthesis/llm_synthesizer.py +0 -0
  58. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/synthesis/prompt.py +0 -0
  59. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/synthesis/reranker.py +0 -0
  60. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/synthesis/retriever.py +0 -0
  61. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/utils/__init__.py +0 -0
  62. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/utils/function_call_suppressor.py +0 -0
  63. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/utils/monitor_launcher.py +0 -0
  64. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/utils/peek_gate.py +0 -0
  65. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/utils/run_monitor.py +0 -0
  66. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid/utils/vector_search_formatter.py +0 -0
  67. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid.egg-info/SOURCES.txt +0 -0
  68. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid.egg-info/dependency_links.txt +0 -0
  69. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid.egg-info/requires.txt +0 -0
  70. {projectdavid-1.33.21 → projectdavid-1.33.23}/src/projectdavid.egg-info/top_level.txt +0 -0
  71. {projectdavid-1.33.21 → projectdavid-1.33.23}/tests/test_clients.py +0 -0
@@ -1,3 +1,17 @@
1
+ ## [1.33.23](https://github.com/frankie336/projectdavid/compare/v1.33.22...v1.33.23) (2025-06-17)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Back out from vision support - resource issue. Revisit in grand plan-17 ([db124a0](https://github.com/frankie336/projectdavid/commit/db124a0a5da8da045ef2e6edc01827252a0bad11))
7
+
8
+ ## [1.33.22](https://github.com/frankie336/projectdavid/compare/v1.33.21...v1.33.22) (2025-06-16)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * Back out from vision support - resource issue. Revisit in grand plan-16 ([bc3c298](https://github.com/frankie336/projectdavid/commit/bc3c298034ee40580ec4e92223782a9f2aee279f))
14
+
1
15
  ## [1.33.21](https://github.com/frankie336/projectdavid/compare/v1.33.20...v1.33.21) (2025-06-16)
2
16
 
3
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: projectdavid
3
- Version: 1.33.21
3
+ Version: 1.33.23
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.21"
7
+ version = "1.33.23"
8
8
  description = "Python SDK for interacting with the Entities Assistant API."
9
9
  readme = "README.md"
10
10
  authors = [
@@ -39,6 +39,15 @@ class FileProcessor:
39
39
 
40
40
  log.info("Initialized optimized FileProcessor")
41
41
 
42
+ # in FileProcessor.__init__ (or monkey-patch after instantiation)
43
+ def encode_text(self, text: str):
44
+ return self.embedding_model.encode(
45
+ [text],
46
+ convert_to_numpy=True,
47
+ truncate="model_max_length",
48
+ normalize_embeddings=True,
49
+ )[0]
50
+
42
51
  # ------------------------------------------------------------------ #
43
52
  # Generic validators
44
53
  # ------------------------------------------------------------------ #
@@ -7,10 +7,8 @@ details from the higher‑level SDK.
7
7
 
8
8
  from __future__ import annotations
9
9
 
10
- import inspect
11
10
  import time
12
11
  import uuid
13
- from pathlib import Path
14
12
  from typing import Any, Dict, List, Optional
15
13
 
16
14
  from dotenv import load_dotenv
@@ -57,12 +55,14 @@ class VectorStoreManager(BaseVectorStore):
57
55
  vectors_config: Optional[Dict[str, qdrant.VectorParams]] = None,
58
56
  ) -> dict:
59
57
  """
60
- Create or recreate a Qdrant collection. By default creates a single-vector
61
- collection with `vector_size`. To define multi-vector schema, pass
62
- `vectors_config` mapping field names to VectorParams.
58
+ Create or recreate a Qdrant collection.
59
+
60
+ • If *vectors_config* is provided use it verbatim (multi-vector schema).
61
+ • Otherwise create a classic single-vector collection *without* naming the
62
+ vector field – so upserts can omit ``vector_name``.
63
63
  """
64
64
  try:
65
- # existence check
65
+ # ── pre-existence check ────────────────────────────────────────────
66
66
  if any(
67
67
  col.name == collection_name
68
68
  for col in self.client.get_collections().collections
@@ -73,27 +73,32 @@ class VectorStoreManager(BaseVectorStore):
73
73
  if dist not in qdrant.Distance.__members__:
74
74
  raise ValueError(f"Invalid distance metric '{distance}'")
75
75
 
76
- # choose schema
77
- if vectors_config:
78
- config = vectors_config
79
- else:
80
- config = {
81
- "_default": qdrant.VectorParams(
82
- size=vector_size, distance=qdrant.Distance[dist]
83
- )
84
- }
76
+ # ── choose schema ──────────────────────────────────────────────────
77
+ if vectors_config: # caller supplied full mapping
78
+ config = vectors_config # e.g. {"text_vec": ..., "img_vec": ...}
79
+ else: # default = single unnamed vector
80
+ config = qdrant.VectorParams(
81
+ size=vector_size,
82
+ distance=qdrant.Distance[dist],
83
+ )
85
84
 
86
- # recreate with full schema
85
+ # ── (re)create collection ─────────────────────────────────────────
87
86
  self.client.recreate_collection(
88
87
  collection_name=collection_name,
89
88
  vectors_config=config,
90
89
  )
91
- # record metadata for each field
90
+
91
+ # ── bookkeeping ───────────────────────────────────────────────────
92
+ if isinstance(config, dict):
93
+ fields = list(config.keys())
94
+ else: # unnamed field
95
+ fields = [None]
96
+
92
97
  self.active_stores[collection_name] = {
93
98
  "created_at": int(time.time()),
94
99
  "vector_size": vector_size,
95
100
  "distance": dist,
96
- "fields": list(config.keys()),
101
+ "fields": fields,
97
102
  }
98
103
  log.info("Created Qdrant collection %s", collection_name)
99
104
  return {"collection_name": collection_name, "status": "created"}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: projectdavid
3
- Version: 1.33.21
3
+ Version: 1.33.23
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