projectdavid 1.34.2__tar.gz → 1.34.3__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.34.2 → projectdavid-1.34.3}/CHANGELOG.md +7 -0
- {projectdavid-1.34.2/src/projectdavid.egg-info → projectdavid-1.34.3}/PKG-INFO +1 -1
- {projectdavid-1.34.2 → projectdavid-1.34.3}/pyproject.toml +1 -1
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/runs.py +11 -158
- {projectdavid-1.34.2 → projectdavid-1.34.3/src/projectdavid.egg-info}/PKG-INFO +1 -1
- {projectdavid-1.34.2 → projectdavid-1.34.3}/LICENSE +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/MANIFEST.in +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/README.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/UPDATE-V133.23.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/assistants.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/code_interpretation.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/database.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/database_assistant_example.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/docker_comtainers.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/file_search.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/files.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/function_call_definition.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/function_calls.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/handling_function_calls.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/inference.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/messages.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/runs.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/streams.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/threads.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/tools.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/users.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/vector_store.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/versioning.md +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/setup.cfg +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/__init__.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/_version.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/actions_client.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/api_key_client.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/assistants_client.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/base_client.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/base_vector_store.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/event_handler.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/file_processor.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/file_search.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/files_client.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/inference_client.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/messages_client.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/synchronous_inference_wrapper.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/threads_client.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/tools_client.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/users_client.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/vector_store_manager.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/vectors.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/vision-file_processor.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/vision_vectors.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/constants/platform.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/decorators.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/entity.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/events.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/serializers.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/services/logging_service.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/synthesis/__init__.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/synthesis/llm_synthesizer.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/synthesis/prompt.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/synthesis/reranker.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/synthesis/retriever.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/utils/__init__.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/utils/function_call_suppressor.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/utils/monitor_launcher.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/utils/peek_gate.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/utils/run_monitor.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/utils/vector_search_formatter.py +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid.egg-info/SOURCES.txt +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid.egg-info/dependency_links.txt +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid.egg-info/requires.txt +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid.egg-info/top_level.txt +0 -0
- {projectdavid-1.34.2 → projectdavid-1.34.3}/tests/test_clients.py +0 -0
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [1.34.3](https://github.com/frankie336/projectdavid/compare/v1.34.2...v1.34.3) (2025-08-13)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* rename list_all_runs and list_runs ([7efb822](https://github.com/frankie336/projectdavid/commit/7efb8220c82184df941fc897132ca3caa96d07a0))
|
|
7
|
+
|
|
1
8
|
## [1.34.2](https://github.com/frankie336/projectdavid/compare/v1.34.1...v1.34.2) (2025-08-13)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: projectdavid
|
|
3
|
-
Version: 1.34.
|
|
3
|
+
Version: 1.34.3
|
|
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
|
|
@@ -609,18 +609,17 @@ class RunsClient(BaseAPIClient):
|
|
|
609
609
|
t.join()
|
|
610
610
|
|
|
611
611
|
# ------------------------------------------------------------
|
|
612
|
-
#
|
|
612
|
+
# List all runs by thread_id
|
|
613
613
|
# ------------------------------------------------------------
|
|
614
|
-
def
|
|
615
|
-
self, limit: int = 20, order: str = "asc"
|
|
614
|
+
def list_runs(
|
|
615
|
+
self, thread_id: str, limit: int = 20, order: str = "asc"
|
|
616
616
|
) -> ent_validator.RunListResponse:
|
|
617
617
|
params = {"limit": limit, "order": order if order in ("asc", "desc") else "asc"}
|
|
618
|
-
resp = self.client.get("/v1/runs", params=params)
|
|
618
|
+
resp = self.client.get(f"/v1/threads/{thread_id}/runs", params=params)
|
|
619
619
|
resp.raise_for_status()
|
|
620
620
|
payload = resp.json()
|
|
621
621
|
if isinstance(payload, dict) and "data" in payload:
|
|
622
622
|
return ent_validator.RunListResponse(**payload)
|
|
623
|
-
# legacy fallback: wrap raw list
|
|
624
623
|
runs = [ent_validator.Run(**item) for item in payload]
|
|
625
624
|
return ent_validator.RunListResponse(
|
|
626
625
|
object="list",
|
|
@@ -630,15 +629,19 @@ class RunsClient(BaseAPIClient):
|
|
|
630
629
|
has_more=False,
|
|
631
630
|
)
|
|
632
631
|
|
|
633
|
-
|
|
634
|
-
|
|
632
|
+
# ------------------------------------------------------------
|
|
633
|
+
# List all runs by user
|
|
634
|
+
# ------------------------------------------------------------
|
|
635
|
+
def list_all_runs(
|
|
636
|
+
self, limit: int = 20, order: str = "asc"
|
|
635
637
|
) -> ent_validator.RunListResponse:
|
|
636
638
|
params = {"limit": limit, "order": order if order in ("asc", "desc") else "asc"}
|
|
637
|
-
resp = self.client.get(
|
|
639
|
+
resp = self.client.get("/v1/runs", params=params)
|
|
638
640
|
resp.raise_for_status()
|
|
639
641
|
payload = resp.json()
|
|
640
642
|
if isinstance(payload, dict) and "data" in payload:
|
|
641
643
|
return ent_validator.RunListResponse(**payload)
|
|
644
|
+
# legacy fallback: wrap raw list
|
|
642
645
|
runs = [ent_validator.Run(**item) for item in payload]
|
|
643
646
|
return ent_validator.RunListResponse(
|
|
644
647
|
object="list",
|
|
@@ -647,153 +650,3 @@ class RunsClient(BaseAPIClient):
|
|
|
647
650
|
last_id=runs[-1].id if runs else None,
|
|
648
651
|
has_more=False,
|
|
649
652
|
)
|
|
650
|
-
|
|
651
|
-
def list_runs(self, limit: int = 20, order: str = "asc") -> List[ent_validator.Run]:
|
|
652
|
-
# soft-deprecate in logs if you want
|
|
653
|
-
env = self.list_runs_enveloped(limit=limit, order=order)
|
|
654
|
-
return list(env.data)
|
|
655
|
-
|
|
656
|
-
def list_runs_for_thread(
|
|
657
|
-
self, thread_id: str, limit: int = 20, order: str = "asc"
|
|
658
|
-
) -> List[ent_validator.Run]:
|
|
659
|
-
env = self.list_runs_for_thread_enveloped(
|
|
660
|
-
thread_id=thread_id, limit=limit, order=order
|
|
661
|
-
)
|
|
662
|
-
return list(env.data)
|
|
663
|
-
|
|
664
|
-
def list_runsX(
|
|
665
|
-
self, limit: int = 20, order: str = "asc"
|
|
666
|
-
) -> List[ent_validator.Run]:
|
|
667
|
-
|
|
668
|
-
logging_utility.info("Listing runs with limit: %d, order: %s", limit, order)
|
|
669
|
-
params = {"limit": limit, "order": order if order in ("asc", "desc") else "asc"}
|
|
670
|
-
try:
|
|
671
|
-
resp = self.client.get("/v1/runs", params=params)
|
|
672
|
-
resp.raise_for_status()
|
|
673
|
-
payload = resp.json()
|
|
674
|
-
|
|
675
|
-
# Preferred: envelope
|
|
676
|
-
if isinstance(payload, dict) and "data" in payload:
|
|
677
|
-
env = ent_validator.RunListResponse(**payload)
|
|
678
|
-
logging_utility.info("Retrieved %d runs", len(env.data))
|
|
679
|
-
return list(env.data)
|
|
680
|
-
|
|
681
|
-
# Legacy: raw list of dicts
|
|
682
|
-
runs = [ent_validator.Run(**item) for item in payload]
|
|
683
|
-
logging_utility.info("Retrieved %d runs (legacy)", len(runs))
|
|
684
|
-
return runs
|
|
685
|
-
|
|
686
|
-
except ValidationError as e:
|
|
687
|
-
logging_utility.error("Validation error: %s", e.json())
|
|
688
|
-
raise ValueError(f"Validation error: {e}")
|
|
689
|
-
except httpx.HTTPStatusError as e:
|
|
690
|
-
logging_utility.error("HTTP error occurred while listing runs: %s", str(e))
|
|
691
|
-
raise
|
|
692
|
-
except Exception as e:
|
|
693
|
-
logging_utility.error("An error occurred while listing runs: %s", str(e))
|
|
694
|
-
raise
|
|
695
|
-
|
|
696
|
-
def list_runs_with_metaX(
|
|
697
|
-
self, limit: int = 20, order: str = "asc"
|
|
698
|
-
) -> Tuple[List[ent_validator.Run], Optional[str], Optional[str], bool]:
|
|
699
|
-
"""
|
|
700
|
-
Returns (runs, first_id, last_id, has_more).
|
|
701
|
-
"""
|
|
702
|
-
logging_utility.info("Listing runs (with meta) limit=%d order=%s", limit, order)
|
|
703
|
-
params = {"limit": limit, "order": order if order in ("asc", "desc") else "asc"}
|
|
704
|
-
try:
|
|
705
|
-
resp = self.client.get("/v1/runs", params=params)
|
|
706
|
-
resp.raise_for_status()
|
|
707
|
-
payload = resp.json()
|
|
708
|
-
|
|
709
|
-
if isinstance(payload, dict) and "data" in payload:
|
|
710
|
-
env = ent_validator.RunListResponse(**payload)
|
|
711
|
-
return list(env.data), env.first_id, env.last_id, env.has_more
|
|
712
|
-
|
|
713
|
-
# Legacy fallback: compute minimal meta
|
|
714
|
-
runs = [ent_validator.Run(**item) for item in payload]
|
|
715
|
-
first_id = runs[0].id if runs else None
|
|
716
|
-
last_id = runs[-1].id if runs else None
|
|
717
|
-
return runs, first_id, last_id, False
|
|
718
|
-
|
|
719
|
-
except ValidationError as e:
|
|
720
|
-
logging_utility.error("Validation error: %s", e.json())
|
|
721
|
-
raise ValueError(f"Validation error: {e}")
|
|
722
|
-
except httpx.HTTPStatusError as e:
|
|
723
|
-
logging_utility.error("HTTP error occurred while listing runs: %s", str(e))
|
|
724
|
-
raise
|
|
725
|
-
except Exception as e:
|
|
726
|
-
logging_utility.error("An error occurred while listing runs: %s", str(e))
|
|
727
|
-
raise
|
|
728
|
-
|
|
729
|
-
def list_runs_for_threadX(
|
|
730
|
-
self, thread_id: str, limit: int = 20, order: str = "asc"
|
|
731
|
-
) -> List[ent_validator.Run]:
|
|
732
|
-
logging_utility.info(
|
|
733
|
-
"Listing runs for thread_id=%s (limit=%d, order=%s)",
|
|
734
|
-
thread_id,
|
|
735
|
-
limit,
|
|
736
|
-
order,
|
|
737
|
-
)
|
|
738
|
-
params = {"limit": limit, "order": order if order in ("asc", "desc") else "asc"}
|
|
739
|
-
try:
|
|
740
|
-
resp = self.client.get(f"/v1/threads/{thread_id}/runs", params=params)
|
|
741
|
-
resp.raise_for_status()
|
|
742
|
-
payload = resp.json()
|
|
743
|
-
|
|
744
|
-
if isinstance(payload, dict) and "data" in payload:
|
|
745
|
-
env = ent_validator.RunListResponse(**payload)
|
|
746
|
-
logging_utility.info(
|
|
747
|
-
"Retrieved %d runs for thread %s", len(env.data), thread_id
|
|
748
|
-
)
|
|
749
|
-
return list(env.data)
|
|
750
|
-
|
|
751
|
-
runs = [ent_validator.Run(**item) for item in payload]
|
|
752
|
-
logging_utility.info(
|
|
753
|
-
"Retrieved %d runs (legacy) for thread %s", len(runs), thread_id
|
|
754
|
-
)
|
|
755
|
-
return runs
|
|
756
|
-
|
|
757
|
-
except ValidationError as e:
|
|
758
|
-
logging_utility.error("Validation error: %s", e.json())
|
|
759
|
-
raise ValueError(f"Validation error: {e}")
|
|
760
|
-
except httpx.HTTPStatusError as e:
|
|
761
|
-
logging_utility.error("HTTP error listing runs for thread: %s", str(e))
|
|
762
|
-
raise
|
|
763
|
-
except Exception as e:
|
|
764
|
-
logging_utility.error("Error listing runs for thread: %s", str(e))
|
|
765
|
-
raise
|
|
766
|
-
|
|
767
|
-
def list_runs_for_thread_with_metaX(
|
|
768
|
-
self, thread_id: str, limit: int = 20, order: str = "asc"
|
|
769
|
-
) -> Tuple[List[ent_validator.Run], Optional[str], Optional[str], bool]:
|
|
770
|
-
logging_utility.info(
|
|
771
|
-
"Listing runs for thread_id=%s (with meta) limit=%d order=%s",
|
|
772
|
-
thread_id,
|
|
773
|
-
limit,
|
|
774
|
-
order,
|
|
775
|
-
)
|
|
776
|
-
params = {"limit": limit, "order": order if order in ("asc", "desc") else "asc"}
|
|
777
|
-
try:
|
|
778
|
-
resp = self.client.get(f"/v1/threads/{thread_id}/runs", params=params)
|
|
779
|
-
resp.raise_for_status()
|
|
780
|
-
payload = resp.json()
|
|
781
|
-
|
|
782
|
-
if isinstance(payload, dict) and "data" in payload:
|
|
783
|
-
env = ent_validator.RunListResponse(**payload)
|
|
784
|
-
return list(env.data), env.first_id, env.last_id, env.has_more
|
|
785
|
-
|
|
786
|
-
runs = [ent_validator.Run(**item) for item in payload]
|
|
787
|
-
first_id = runs[0].id if runs else None
|
|
788
|
-
last_id = runs[-1].id if runs else None
|
|
789
|
-
return runs, first_id, last_id, False
|
|
790
|
-
|
|
791
|
-
except ValidationError as e:
|
|
792
|
-
logging_utility.error("Validation error: %s", e.json())
|
|
793
|
-
raise ValueError(f"Validation error: {e}")
|
|
794
|
-
except httpx.HTTPStatusError as e:
|
|
795
|
-
logging_utility.error("HTTP error listing runs for thread: %s", str(e))
|
|
796
|
-
raise
|
|
797
|
-
except Exception as e:
|
|
798
|
-
logging_utility.error("Error listing runs for thread: %s", str(e))
|
|
799
|
-
raise
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: projectdavid
|
|
3
|
-
Version: 1.34.
|
|
3
|
+
Version: 1.34.3
|
|
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
|
|
File without changes
|
{projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/vector_store_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/vision-file_processor.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
|
|
File without changes
|
|
File without changes
|
{projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/utils/function_call_suppressor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/utils/vector_search_formatter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|