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.

Files changed (72) hide show
  1. {projectdavid-1.34.2 → projectdavid-1.34.3}/CHANGELOG.md +7 -0
  2. {projectdavid-1.34.2/src/projectdavid.egg-info → projectdavid-1.34.3}/PKG-INFO +1 -1
  3. {projectdavid-1.34.2 → projectdavid-1.34.3}/pyproject.toml +1 -1
  4. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/runs.py +11 -158
  5. {projectdavid-1.34.2 → projectdavid-1.34.3/src/projectdavid.egg-info}/PKG-INFO +1 -1
  6. {projectdavid-1.34.2 → projectdavid-1.34.3}/LICENSE +0 -0
  7. {projectdavid-1.34.2 → projectdavid-1.34.3}/MANIFEST.in +0 -0
  8. {projectdavid-1.34.2 → projectdavid-1.34.3}/README.md +0 -0
  9. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/UPDATE-V133.23.md +0 -0
  10. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/assistants.md +0 -0
  11. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/code_interpretation.md +0 -0
  12. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/database.md +0 -0
  13. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/database_assistant_example.md +0 -0
  14. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/docker_comtainers.md +0 -0
  15. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/file_search.md +0 -0
  16. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/files.md +0 -0
  17. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/function_call_definition.md +0 -0
  18. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/function_calls.md +0 -0
  19. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/handling_function_calls.md +0 -0
  20. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/inference.md +0 -0
  21. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/messages.md +0 -0
  22. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/runs.md +0 -0
  23. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/streams.md +0 -0
  24. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/threads.md +0 -0
  25. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/tools.md +0 -0
  26. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/users.md +0 -0
  27. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/vector_store.md +0 -0
  28. {projectdavid-1.34.2 → projectdavid-1.34.3}/docs/versioning.md +0 -0
  29. {projectdavid-1.34.2 → projectdavid-1.34.3}/setup.cfg +0 -0
  30. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/__init__.py +0 -0
  31. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/_version.py +0 -0
  32. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/actions_client.py +0 -0
  33. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/api_key_client.py +0 -0
  34. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/assistants_client.py +0 -0
  35. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/base_client.py +0 -0
  36. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/base_vector_store.py +0 -0
  37. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/event_handler.py +0 -0
  38. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/file_processor.py +0 -0
  39. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/file_search.py +0 -0
  40. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/files_client.py +0 -0
  41. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/inference_client.py +0 -0
  42. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/messages_client.py +0 -0
  43. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/synchronous_inference_wrapper.py +0 -0
  44. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/threads_client.py +0 -0
  45. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/tools_client.py +0 -0
  46. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/users_client.py +0 -0
  47. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/vector_store_manager.py +0 -0
  48. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/vectors.py +0 -0
  49. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/vision-file_processor.py +0 -0
  50. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/clients/vision_vectors.py +0 -0
  51. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/constants/platform.py +0 -0
  52. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/decorators.py +0 -0
  53. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/entity.py +0 -0
  54. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/events.py +0 -0
  55. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/serializers.py +0 -0
  56. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/services/logging_service.py +0 -0
  57. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/synthesis/__init__.py +0 -0
  58. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/synthesis/llm_synthesizer.py +0 -0
  59. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/synthesis/prompt.py +0 -0
  60. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/synthesis/reranker.py +0 -0
  61. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/synthesis/retriever.py +0 -0
  62. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/utils/__init__.py +0 -0
  63. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/utils/function_call_suppressor.py +0 -0
  64. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/utils/monitor_launcher.py +0 -0
  65. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/utils/peek_gate.py +0 -0
  66. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/utils/run_monitor.py +0 -0
  67. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid/utils/vector_search_formatter.py +0 -0
  68. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid.egg-info/SOURCES.txt +0 -0
  69. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid.egg-info/dependency_links.txt +0 -0
  70. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid.egg-info/requires.txt +0 -0
  71. {projectdavid-1.34.2 → projectdavid-1.34.3}/src/projectdavid.egg-info/top_level.txt +0 -0
  72. {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.2
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "projectdavid"
7
- version = "1.34.2"
7
+ version = "1.34.3"
8
8
  description = "Python SDK for interacting with the Entities Assistant API."
9
9
  readme = "README.md"
10
10
  authors = [
@@ -609,18 +609,17 @@ class RunsClient(BaseAPIClient):
609
609
  t.join()
610
610
 
611
611
  # ------------------------------------------------------------
612
- # These are helpers that build the run lists
612
+ # List all runs by thread_id
613
613
  # ------------------------------------------------------------
614
- def list_runs_enveloped(
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
- def list_runs_for_thread_enveloped(
634
- self, thread_id: str, limit: int = 20, order: str = "asc"
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(f"/v1/threads/{thread_id}/runs", params=params)
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.2
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