projectdavid 1.33.2__tar.gz → 1.33.4__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.
- {projectdavid-1.33.2 → projectdavid-1.33.4}/CHANGELOG.md +14 -0
- {projectdavid-1.33.2/src/projectdavid.egg-info → projectdavid-1.33.4}/PKG-INFO +1 -1
- {projectdavid-1.33.2 → projectdavid-1.33.4}/pyproject.toml +1 -1
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/synchronous_inference_wrapper.py +9 -5
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/vectors.py +5 -0
- projectdavid-1.33.4/src/projectdavid/decorators.py +64 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4/src/projectdavid.egg-info}/PKG-INFO +1 -1
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid.egg-info/SOURCES.txt +1 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/LICENSE +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/MANIFEST.in +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/README.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/assistants.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/code_interpretation.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/database.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/database_assistant_example.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/docker_comtainers.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/file_search.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/files.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/function_call_definition.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/function_calls.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/handling_function_calls.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/inference.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/messages.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/runs.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/streams.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/threads.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/tools.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/users.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/vector_store.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/docs/versioning.md +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/setup.cfg +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/__init__.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/_version.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/actions_client.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/api_key_client.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/assistants_client.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/base_client.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/base_vector_store.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/event_handler.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/file_processor.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/file_search.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/files_client.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/inference_client.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/messages_client.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/runs.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/threads_client.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/tools_client.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/users_client.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/vector_store_manager.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/constants/platform.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/entity.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/events.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/serializers.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/services/logging_service.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/synthesis/__init__.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/synthesis/llm_synthesizer.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/synthesis/prompt.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/synthesis/reranker.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/synthesis/retriever.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/utils/__init__.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/utils/function_call_suppressor.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/utils/monitor_launcher.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/utils/peek_gate.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/utils/run_monitor.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/utils/vector_search_formatter.py +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid.egg-info/dependency_links.txt +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid.egg-info/requires.txt +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid.egg-info/top_level.txt +0 -0
- {projectdavid-1.33.2 → projectdavid-1.33.4}/tests/test_clients.py +0 -0
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [1.33.4](https://github.com/frankie336/projectdavid/compare/v1.33.3...v1.33.4) (2025-06-12)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* restore code_interpreter_stream passthrough. ([f598a06](https://github.com/frankie336/projectdavid/commit/f598a068ff523783d04f0bda5f97b79b2f4c5e40))
|
|
7
|
+
|
|
8
|
+
## [1.33.3](https://github.com/frankie336/projectdavid/compare/v1.33.2...v1.33.3) (2025-06-11)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* Place vision features in dormant experimental mode with [@experimental](https://github.com/experimental) decorators.py ([1c41702](https://github.com/frankie336/projectdavid/commit/1c41702a55ec9c6c7ad89de559cfa309ace88174))
|
|
14
|
+
|
|
1
15
|
## [1.33.2](https://github.com/frankie336/projectdavid/compare/v1.33.1...v1.33.2) (2025-06-11)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: projectdavid
|
|
3
|
-
Version: 1.33.
|
|
3
|
+
Version: 1.33.4
|
|
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
|
|
@@ -113,17 +113,21 @@ class SynchronousInferenceStream:
|
|
|
113
113
|
yield chunk
|
|
114
114
|
continue
|
|
115
115
|
|
|
116
|
-
if chunk.get("type")
|
|
116
|
+
if chunk.get("type") == "code_interpreter_stream":
|
|
117
117
|
yield chunk
|
|
118
118
|
continue
|
|
119
119
|
|
|
120
|
-
if (
|
|
121
|
-
chunk.get("stream_type") == "code_execution"
|
|
122
|
-
and chunk.get("chunk", {}).get("type") == "code_interpreter_stream"
|
|
123
|
-
):
|
|
120
|
+
if chunk.get("type") in ("hot_code", "hot_code_output"):
|
|
124
121
|
yield chunk
|
|
125
122
|
continue
|
|
126
123
|
|
|
124
|
+
# if (
|
|
125
|
+
# chunk.get("stream_type") == "code_execution"
|
|
126
|
+
# and chunk.get("chunk", {}).get("type") == "code_interpreter_stream"
|
|
127
|
+
# ):
|
|
128
|
+
# yield chunk
|
|
129
|
+
# continue
|
|
130
|
+
|
|
127
131
|
if isinstance(chunk.get("content"), str):
|
|
128
132
|
chunk["content"] = _filter_text(chunk["content"])
|
|
129
133
|
if chunk["content"] == "":
|
|
@@ -20,6 +20,7 @@ from qdrant_client.http import models as qdrant
|
|
|
20
20
|
|
|
21
21
|
from projectdavid.clients.file_processor import FileProcessor
|
|
22
22
|
from projectdavid.clients.vector_store_manager import VectorStoreManager
|
|
23
|
+
from projectdavid.decorators import experimental
|
|
23
24
|
from projectdavid.synthesis import reranker, retriever
|
|
24
25
|
from projectdavid.synthesis.llm_synthesizer import synthesize_envelope
|
|
25
26
|
from projectdavid.utils.vector_search_formatter import make_envelope
|
|
@@ -504,6 +505,7 @@ class VectorStoreClient:
|
|
|
504
505
|
)
|
|
505
506
|
)
|
|
506
507
|
|
|
508
|
+
@experimental
|
|
507
509
|
def create_vector_vision_store(
|
|
508
510
|
self,
|
|
509
511
|
name: str,
|
|
@@ -544,6 +546,7 @@ class VectorStoreClient:
|
|
|
544
546
|
)
|
|
545
547
|
)
|
|
546
548
|
|
|
549
|
+
@experimental
|
|
547
550
|
def create_vector_vision_store_for_user(
|
|
548
551
|
self,
|
|
549
552
|
owner_id: str,
|
|
@@ -964,6 +967,7 @@ class VectorStoreClient:
|
|
|
964
967
|
|
|
965
968
|
return hits
|
|
966
969
|
|
|
970
|
+
@experimental
|
|
967
971
|
def image_similarity_search(
|
|
968
972
|
self,
|
|
969
973
|
vector_store_id: str,
|
|
@@ -981,6 +985,7 @@ class VectorStoreClient:
|
|
|
981
985
|
vector_field="image_vector",
|
|
982
986
|
)
|
|
983
987
|
|
|
988
|
+
@experimental
|
|
984
989
|
def search_images(
|
|
985
990
|
self,
|
|
986
991
|
vector_store_id: str,
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# decorators.py
|
|
2
|
+
|
|
3
|
+
import functools
|
|
4
|
+
import warnings
|
|
5
|
+
from typing import Optional
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ExperimentalWarning(UserWarning):
|
|
9
|
+
"""
|
|
10
|
+
API is experimental, may be incomplete (and possibly not fully functional),
|
|
11
|
+
and may change or be removed without notice.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class InternalWarning(UserWarning):
|
|
16
|
+
"""
|
|
17
|
+
API is internal/admin-only. Intended for framework authors and
|
|
18
|
+
superusers—will likely change or go away without notice.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def experimental(func):
|
|
23
|
+
"""
|
|
24
|
+
Decorator to mark methods as experimental.
|
|
25
|
+
Emits an ExperimentalWarning on first call.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
@functools.wraps(func)
|
|
29
|
+
def wrapper(*args, **kwargs):
|
|
30
|
+
warnings.warn(
|
|
31
|
+
f"{func.__name__} is experimental, may be incomplete, and may change in a future release",
|
|
32
|
+
ExperimentalWarning,
|
|
33
|
+
stacklevel=2,
|
|
34
|
+
)
|
|
35
|
+
return func(*args, **kwargs)
|
|
36
|
+
|
|
37
|
+
wrapper.__experimental__ = True
|
|
38
|
+
return wrapper
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def internal(func):
|
|
42
|
+
"""
|
|
43
|
+
Decorator to mark a method as internal/admin-only.
|
|
44
|
+
Raises PermissionError if self.is_admin is False or missing.
|
|
45
|
+
Emits an InternalWarning on use.
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
@functools.wraps(func)
|
|
49
|
+
def wrapper(self, *args, **kwargs):
|
|
50
|
+
# 1️⃣ Enforce admin
|
|
51
|
+
if not getattr(self, "is_admin", False):
|
|
52
|
+
raise PermissionError(
|
|
53
|
+
f"{func.__name__} is for admin use only; your client.is_admin is False."
|
|
54
|
+
)
|
|
55
|
+
# 2️⃣ Warn about internal usage
|
|
56
|
+
warnings.warn(
|
|
57
|
+
f"{func.__name__} is internal/admin-only and may change without notice",
|
|
58
|
+
InternalWarning,
|
|
59
|
+
stacklevel=2,
|
|
60
|
+
)
|
|
61
|
+
return func(self, *args, **kwargs)
|
|
62
|
+
|
|
63
|
+
wrapper.__internal__ = True
|
|
64
|
+
return wrapper
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: projectdavid
|
|
3
|
-
Version: 1.33.
|
|
3
|
+
Version: 1.33.4
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/clients/vector_store_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/utils/function_call_suppressor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{projectdavid-1.33.2 → projectdavid-1.33.4}/src/projectdavid/utils/vector_search_formatter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|