clerk-sdk 0.4.1__py3-none-any.whl → 0.4.3__py3-none-any.whl

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.
clerk/client.py CHANGED
@@ -1,7 +1,7 @@
1
1
  from typing import Any, Dict, List, Literal
2
2
 
3
3
  from clerk.base import BaseClerk
4
- from clerk.models.document import Document, UploadDocumentRequest
4
+ from clerk.models.document import Document, GetDocumentsRequest, UploadDocumentRequest
5
5
  from .models.file import ParsedFile, UploadFile
6
6
 
7
7
 
@@ -28,6 +28,27 @@ class Clerk(BaseClerk):
28
28
  res = self.get_request(endpoint=endpoint)
29
29
  return Document(**res.data[0])
30
30
 
31
+ def get_documents(self, request: GetDocumentsRequest) -> List[Document]:
32
+ if not any(
33
+ [
34
+ request.organization_id,
35
+ request.project_id,
36
+ request.start_date,
37
+ request.end_date,
38
+ request.query,
39
+ request.include_statuses,
40
+ ]
41
+ ):
42
+ raise ValueError(
43
+ "At least one query parameter (organization_id, project_id, start_date, end_date, query, or include_statuses) must be provided."
44
+ )
45
+
46
+ endpoint = f"/documents"
47
+ params = request.model_dump(mode="json")
48
+ res = self.get_request(endpoint, params=params)
49
+
50
+ return [Document(**d) for d in res.data]
51
+
31
52
  def get_files_document(self, document_id: str) -> List[ParsedFile]:
32
53
  endpoint = f"/document/{document_id}/files"
33
54
  res = self.get_request(endpoint=endpoint)
clerk/models/document.py CHANGED
@@ -1,4 +1,5 @@
1
1
  from datetime import datetime
2
+ import json
2
3
  import mimetypes
3
4
  import os
4
5
  from typing import Any, Dict, List, Optional
@@ -28,6 +29,7 @@ class UploadDocumentRequest(BaseModel):
28
29
  message_subject: Optional[str] = None
29
30
  message_content: Optional[str] = None
30
31
  files: List[str | ParsedFile] = []
32
+ input_structured_data: Dict[str, Any] | None = None
31
33
 
32
34
  def _define_files(self):
33
35
  formatted_files: List[
@@ -70,12 +72,35 @@ class UploadDocumentRequest(BaseModel):
70
72
 
71
73
  @property
72
74
  def data(self) -> Dict[str, Any]:
75
+
76
+ serialized_input_structured_data: str | None = None
77
+ if self.input_structured_data:
78
+ try:
79
+ serialized_input_structured_data = json.dumps(
80
+ self.input_structured_data
81
+ )
82
+ except Exception as e:
83
+ raise ValueError(
84
+ f"`input_structured_data` is not JSON serializable: {e}"
85
+ )
86
+
73
87
  return dict(
74
88
  project_id=self.project_id,
75
89
  message_subject=self.message_subject,
76
90
  mesasge_content=self.message_content,
91
+ input_structured_data=serialized_input_structured_data,
77
92
  )
78
93
 
79
94
  @property
80
95
  def files_(self):
81
96
  return self._define_files()
97
+
98
+
99
+ class GetDocumentsRequest(BaseModel):
100
+ organization_id: str | None = None
101
+ project_id: str | None = None
102
+ start_date: datetime | None = None
103
+ end_date: datetime | None = None
104
+ query: str | None = None
105
+ include_statuses: List[DocumentStatuses] | None = None
106
+ limit: int = 50
@@ -9,3 +9,4 @@ class DocumentStatuses(str, Enum):
9
9
  REVIEWED_NEGATIVE = "reviewed_negative"
10
10
  EXAMPLE = "example"
11
11
  SUPERSEDED = "superseded"
12
+ REQUIRES_REVIEW = "requires_review"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clerk-sdk
3
- Version: 0.4.1
3
+ Version: 0.4.3
4
4
  Summary: Library for interacting with Clerk
5
5
  Home-page: https://github.com/F-ONE-Group/clerk_pypi
6
6
  Author: F-ONE Group
@@ -1,6 +1,6 @@
1
1
  clerk/__init__.py,sha256=LWpbImG7352mUJYC1tRm_zsn5rnt4sFl5ldoq5f0dlo,26
2
2
  clerk/base.py,sha256=S1RKc2pBw2FPlVjefJzsNtyTDPB0UG46C2K_QVV1opA,4008
3
- clerk/client.py,sha256=cgDOO9fRfJAoV5_r6PCoPWoAY0OwoeEMT3cEkzUSZOI,1612
3
+ clerk/client.py,sha256=Ma6nCICRBjgdcntPaEJv8baMBr7zftKeLcEzfD634eA,2368
4
4
  clerk/decorator/__init__.py,sha256=yGGcS17VsZ7cZ-hVGCm3I3vGDJMiJIAqmDGzriIi0DI,65
5
5
  clerk/decorator/models.py,sha256=PiAugPvX1c6BQBWtfhyh5k9Uau2OJNDIx7T1TLz7ZFY,409
6
6
  clerk/decorator/task_decorator.py,sha256=H8caRvNvvl-IRwyREP66gBGVM-SpQJ1W7oAFImO-6Jw,3769
@@ -37,8 +37,8 @@ clerk/gui_automation/ui_state_machine/exceptions.py,sha256=9KWg20dnCssMdMu632E0n
37
37
  clerk/gui_automation/ui_state_machine/models.py,sha256=oNmfHtjqgRkUAxPnQ8R5-IR-K_FCeg3NU6aqjVSnThI,1407
38
38
  clerk/gui_automation/ui_state_machine/state_machine.py,sha256=u2wJqu5WxmZHkzlIHTgK_icZUw3yv9nNuZkh9IaqmXI,35622
39
39
  clerk/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
- clerk/models/document.py,sha256=m9ccAQdy1G-ZgUT-a44TMgIVAp4he-90uYjVPqwgO98,2193
41
- clerk/models/document_statuses.py,sha256=ytTQhgACs2m22qz51_7Ti0IxzbVyl-fl7uF7CnDEyLA,279
40
+ clerk/models/document.py,sha256=SdHLuX01yQ1std-o25Wso5sq7HQznV7-SN8azVzyczQ,3036
41
+ clerk/models/document_statuses.py,sha256=7C9tTmbeEOahNbT45Mdr9a-yPOk_rQpM12_leHoPjsc,319
42
42
  clerk/models/file.py,sha256=wfMGoNTsIBFxpPUzOTOkUYZ-FGxXg6n2mZhDCBt6Jbc,733
43
43
  clerk/models/remote_device.py,sha256=2jijS-9WWq7y6xIbAaDaPnzZo3-tjp2-dCQvNKP8YSU,109
44
44
  clerk/models/response_model.py,sha256=R62daUN1YVOwgnrh_epvFRsQcOwT7R4u97l73egvm-c,232
@@ -46,8 +46,8 @@ clerk/models/ui_operator.py,sha256=mKTJUFZgv7PeEt5oys28HVZxHOJsofmRQOcRpqj0dbU,2
46
46
  clerk/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
47
  clerk/utils/logger.py,sha256=vHbp-lUK3W3c5fhyPsp05p9LGyDHj95v8XM_XQ_FlLc,3691
48
48
  clerk/utils/save_artifact.py,sha256=94aYkYNVGcSUaSWZmdjiY6Oc-3yCKb2XWCZ56IAXQqk,1158
49
- clerk_sdk-0.4.1.dist-info/licenses/LICENSE,sha256=GTVQl3vH6ht70wJXKC0yMT8CmXKHxv_YyO_utAgm7EA,1065
50
- clerk_sdk-0.4.1.dist-info/METADATA,sha256=50SHt0qwDSsCh5X8ew-k-NBccXZdCyrJ75EuNK7Cm5o,3508
51
- clerk_sdk-0.4.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
52
- clerk_sdk-0.4.1.dist-info/top_level.txt,sha256=99eQiU6d05_-f41tmSFanfI_SIJeAdh7u9m3LNSfcv4,6
53
- clerk_sdk-0.4.1.dist-info/RECORD,,
49
+ clerk_sdk-0.4.3.dist-info/licenses/LICENSE,sha256=GTVQl3vH6ht70wJXKC0yMT8CmXKHxv_YyO_utAgm7EA,1065
50
+ clerk_sdk-0.4.3.dist-info/METADATA,sha256=aEw-kitMM4mBj-R4Jc9JEs8wBQ6et6I9_hGHjP70taw,3508
51
+ clerk_sdk-0.4.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
52
+ clerk_sdk-0.4.3.dist-info/top_level.txt,sha256=99eQiU6d05_-f41tmSFanfI_SIJeAdh7u9m3LNSfcv4,6
53
+ clerk_sdk-0.4.3.dist-info/RECORD,,