openparser-sdk 0.0.1__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.
Files changed (173) hide show
  1. openparser/__init__.py +54 -0
  2. openparser/_files.py +43 -0
  3. openparser/_generated/__init__.py +8 -0
  4. openparser/_generated/api/__init__.py +1 -0
  5. openparser/_generated/api/extract/__init__.py +1 -0
  6. openparser/_generated/api/extract/extract_async.py +280 -0
  7. openparser/_generated/api/extract/extract_batch.py +284 -0
  8. openparser/_generated/api/extract/extract_sync.py +315 -0
  9. openparser/_generated/api/extract/suggest_schema.py +260 -0
  10. openparser/_generated/api/files/__init__.py +1 -0
  11. openparser/_generated/api/files/create_file.py +237 -0
  12. openparser/_generated/api/files/delete_file.py +200 -0
  13. openparser/_generated/api/files/get_file.py +200 -0
  14. openparser/_generated/api/files/get_file_content.py +198 -0
  15. openparser/_generated/api/jobs/__init__.py +1 -0
  16. openparser/_generated/api/jobs/get_job.py +261 -0
  17. openparser/_generated/api/jobs/get_job_result.py +305 -0
  18. openparser/_generated/api/jobs/get_job_source.py +233 -0
  19. openparser/_generated/api/jobs/list_jobs.py +340 -0
  20. openparser/_generated/api/models/__init__.py +1 -0
  21. openparser/_generated/api/models/list_llm_models.py +288 -0
  22. openparser/_generated/api/models/list_ocr_models.py +184 -0
  23. openparser/_generated/api/parse/__init__.py +1 -0
  24. openparser/_generated/api/parse/parse_async.py +316 -0
  25. openparser/_generated/api/parse/parse_batch.py +280 -0
  26. openparser/_generated/api/parse/parse_sync.py +369 -0
  27. openparser/_generated/api/pipelines/__init__.py +1 -0
  28. openparser/_generated/api/pipelines/create_extraction_pipeline.py +242 -0
  29. openparser/_generated/api/pipelines/delete_extraction_pipeline.py +212 -0
  30. openparser/_generated/api/pipelines/get_extraction_pipeline.py +212 -0
  31. openparser/_generated/api/pipelines/list_extraction_pipelines.py +180 -0
  32. openparser/_generated/api/pipelines/update_extraction_pipeline.py +258 -0
  33. openparser/_generated/client.py +270 -0
  34. openparser/_generated/errors.py +14 -0
  35. openparser/_generated/models/__init__.py +261 -0
  36. openparser/_generated/models/batch_child_page.py +97 -0
  37. openparser/_generated/models/batch_child_summary.py +195 -0
  38. openparser/_generated/models/batch_job_accepted.py +139 -0
  39. openparser/_generated/models/batch_job_accepted_operation.py +8 -0
  40. openparser/_generated/models/batch_summary_counts.py +97 -0
  41. openparser/_generated/models/bounding_box.py +82 -0
  42. openparser/_generated/models/chunk_provenance_span.py +97 -0
  43. openparser/_generated/models/content_kind.py +10 -0
  44. openparser/_generated/models/create_extraction_pipeline_request.py +177 -0
  45. openparser/_generated/models/create_extraction_pipeline_request_grounding.py +8 -0
  46. openparser/_generated/models/create_extraction_pipeline_request_llm_options.py +84 -0
  47. openparser/_generated/models/create_extraction_pipeline_request_llm_options_reasoning_effort_type_1.py +13 -0
  48. openparser/_generated/models/create_extraction_pipeline_request_ocr_options.py +78 -0
  49. openparser/_generated/models/create_extraction_pipeline_request_schema.py +68 -0
  50. openparser/_generated/models/create_file_body.py +78 -0
  51. openparser/_generated/models/delete_extraction_pipeline_response.py +66 -0
  52. openparser/_generated/models/delete_file_response.py +57 -0
  53. openparser/_generated/models/error_body.py +106 -0
  54. openparser/_generated/models/error_body_details.py +65 -0
  55. openparser/_generated/models/error_response.py +65 -0
  56. openparser/_generated/models/extract_async_body.py +136 -0
  57. openparser/_generated/models/extract_batch_body.py +143 -0
  58. openparser/_generated/models/extract_batch_item.py +207 -0
  59. openparser/_generated/models/extract_batch_item_grounding.py +8 -0
  60. openparser/_generated/models/extract_batch_item_llm_options.py +84 -0
  61. openparser/_generated/models/extract_batch_item_llm_options_reasoning_effort_type_1.py +13 -0
  62. openparser/_generated/models/extract_batch_item_ocr_options.py +78 -0
  63. openparser/_generated/models/extract_batch_item_schema.py +65 -0
  64. openparser/_generated/models/extract_batch_request.py +99 -0
  65. openparser/_generated/models/extract_batch_request_items_item.py +201 -0
  66. openparser/_generated/models/extract_batch_request_items_item_grounding.py +8 -0
  67. openparser/_generated/models/extract_batch_request_items_item_llm_options.py +84 -0
  68. openparser/_generated/models/extract_batch_request_items_item_llm_options_reasoning_effort_type_1.py +13 -0
  69. openparser/_generated/models/extract_batch_request_items_item_ocr_options.py +78 -0
  70. openparser/_generated/models/extract_batch_request_items_item_schema.py +65 -0
  71. openparser/_generated/models/extract_batch_request_output_format.py +8 -0
  72. openparser/_generated/models/extract_request.py +226 -0
  73. openparser/_generated/models/extract_request_grounding.py +8 -0
  74. openparser/_generated/models/extract_request_llm_options.py +84 -0
  75. openparser/_generated/models/extract_request_llm_options_reasoning_effort_type_1.py +13 -0
  76. openparser/_generated/models/extract_request_ocr_options.py +78 -0
  77. openparser/_generated/models/extract_request_output_format.py +8 -0
  78. openparser/_generated/models/extract_request_schema.py +65 -0
  79. openparser/_generated/models/extract_sync_body.py +136 -0
  80. openparser/_generated/models/extraction_attempt.py +122 -0
  81. openparser/_generated/models/extraction_attempt_kind.py +8 -0
  82. openparser/_generated/models/extraction_attempt_status.py +9 -0
  83. openparser/_generated/models/extraction_chunk.py +184 -0
  84. openparser/_generated/models/extraction_citation.py +169 -0
  85. openparser/_generated/models/extraction_citation_granularity.py +8 -0
  86. openparser/_generated/models/extraction_citation_source_type.py +16 -0
  87. openparser/_generated/models/extraction_grounding_field.py +102 -0
  88. openparser/_generated/models/extraction_grounding_mode.py +8 -0
  89. openparser/_generated/models/extraction_grounding_result.py +87 -0
  90. openparser/_generated/models/extraction_pipeline.py +201 -0
  91. openparser/_generated/models/extraction_pipeline_list_response.py +76 -0
  92. openparser/_generated/models/extraction_pipeline_llm_options.py +84 -0
  93. openparser/_generated/models/extraction_pipeline_llm_options_reasoning_effort_type_0_type_1.py +13 -0
  94. openparser/_generated/models/extraction_pipeline_ocr_options.py +73 -0
  95. openparser/_generated/models/extraction_pipeline_schema.py +67 -0
  96. openparser/_generated/models/extraction_terminal_result.py +206 -0
  97. openparser/_generated/models/extraction_terminal_result_reasoning_effort_type_0.py +13 -0
  98. openparser/_generated/models/extraction_usage_totals.py +80 -0
  99. openparser/_generated/models/job.py +437 -0
  100. openparser/_generated/models/job_accepted.py +131 -0
  101. openparser/_generated/models/job_accepted_operation.py +8 -0
  102. openparser/_generated/models/job_extraction_schema.py +65 -0
  103. openparser/_generated/models/job_failure.py +98 -0
  104. openparser/_generated/models/job_failure_details.py +65 -0
  105. openparser/_generated/models/job_list_response.py +91 -0
  106. openparser/_generated/models/job_operation.py +10 -0
  107. openparser/_generated/models/job_progress.py +68 -0
  108. openparser/_generated/models/job_related_extractions_item.py +145 -0
  109. openparser/_generated/models/job_status.py +11 -0
  110. openparser/_generated/models/job_summary.py +264 -0
  111. openparser/_generated/models/json_schema_object.py +66 -0
  112. openparser/_generated/models/list_llm_models_mode.py +8 -0
  113. openparser/_generated/models/ocr_llm_model_catalog_entry.py +257 -0
  114. openparser/_generated/models/ocr_llm_model_catalog_entry_pricing.py +76 -0
  115. openparser/_generated/models/ocr_llm_model_catalog_entry_reasoning_type_0.py +134 -0
  116. openparser/_generated/models/ocr_llm_model_catalog_entry_reasoning_type_0_default_effort_type_0.py +13 -0
  117. openparser/_generated/models/ocr_llm_model_catalog_entry_reasoning_type_0_supported_efforts_type_0_item.py +13 -0
  118. openparser/_generated/models/ocr_llm_model_catalog_entry_recommendation.py +8 -0
  119. openparser/_generated/models/ocr_llm_models_response.py +150 -0
  120. openparser/_generated/models/ocr_llm_models_response_mode.py +8 -0
  121. openparser/_generated/models/ocr_model.py +7 -0
  122. openparser/_generated/models/ocr_model_catalog_entry.py +131 -0
  123. openparser/_generated/models/ocr_model_catalog_entry_availability.py +9 -0
  124. openparser/_generated/models/ocr_model_catalog_entry_capabilities.py +97 -0
  125. openparser/_generated/models/ocr_model_catalog_entry_capabilities_options.py +73 -0
  126. openparser/_generated/models/ocr_model_catalog_entry_option_defaults.py +73 -0
  127. openparser/_generated/models/ocr_model_catalog_entry_pricing.py +68 -0
  128. openparser/_generated/models/ocr_models_response.py +76 -0
  129. openparser/_generated/models/ocr_output_format.py +8 -0
  130. openparser/_generated/models/paddle_raw_profile.py +76 -0
  131. openparser/_generated/models/paddle_raw_profile_options.py +115 -0
  132. openparser/_generated/models/page_block.py +332 -0
  133. openparser/_generated/models/page_block_kind.py +9 -0
  134. openparser/_generated/models/page_block_polygon_type_0_item.py +65 -0
  135. openparser/_generated/models/parse_async_body.py +133 -0
  136. openparser/_generated/models/parse_batch_body.py +143 -0
  137. openparser/_generated/models/parse_batch_item.py +109 -0
  138. openparser/_generated/models/parse_batch_item_ocr_options.py +78 -0
  139. openparser/_generated/models/parse_batch_request.py +100 -0
  140. openparser/_generated/models/parse_batch_request_items_item.py +108 -0
  141. openparser/_generated/models/parse_batch_request_items_item_ocr_options.py +78 -0
  142. openparser/_generated/models/parse_batch_request_output_format.py +8 -0
  143. openparser/_generated/models/parse_request.py +112 -0
  144. openparser/_generated/models/parse_request_ocr_options.py +78 -0
  145. openparser/_generated/models/parse_request_output_format.py +8 -0
  146. openparser/_generated/models/parse_sync_body.py +133 -0
  147. openparser/_generated/models/parsed_document.py +187 -0
  148. openparser/_generated/models/public_file.py +117 -0
  149. openparser/_generated/models/raw_parse_result.py +110 -0
  150. openparser/_generated/models/raw_parse_result_result.py +65 -0
  151. openparser/_generated/models/region.py +224 -0
  152. openparser/_generated/models/region_content.py +155 -0
  153. openparser/_generated/models/region_polygon_type_0_item.py +65 -0
  154. openparser/_generated/models/region_type.py +16 -0
  155. openparser/_generated/models/suggest_schema_request.py +69 -0
  156. openparser/_generated/models/suggest_schema_response.py +74 -0
  157. openparser/_generated/models/suggest_schema_response_schema.py +66 -0
  158. openparser/_generated/models/update_extraction_pipeline_request.py +227 -0
  159. openparser/_generated/models/update_extraction_pipeline_request_grounding.py +8 -0
  160. openparser/_generated/models/update_extraction_pipeline_request_llm_options_type_0.py +84 -0
  161. openparser/_generated/models/update_extraction_pipeline_request_llm_options_type_0_reasoning_effort_type_1.py +13 -0
  162. openparser/_generated/models/update_extraction_pipeline_request_ocr_options_type_0.py +78 -0
  163. openparser/_generated/models/update_extraction_pipeline_request_schema.py +67 -0
  164. openparser/_generated/py.typed +1 -0
  165. openparser/_generated/types.py +53 -0
  166. openparser/_telemetry.py +34 -0
  167. openparser/client.py +541 -0
  168. openparser/errors.py +172 -0
  169. openparser/py.typed +0 -0
  170. openparser_sdk-0.0.1.dist-info/METADATA +178 -0
  171. openparser_sdk-0.0.1.dist-info/RECORD +173 -0
  172. openparser_sdk-0.0.1.dist-info/WHEEL +4 -0
  173. openparser_sdk-0.0.1.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,65 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, BinaryIO, TextIO, TYPE_CHECKING, Generator
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+ T = TypeVar("T", bound="ExtractBatchItemSchema")
18
+
19
+
20
+
21
+ @_attrs_define
22
+ class ExtractBatchItemSchema:
23
+ """
24
+ """
25
+
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+
29
+
30
+
31
+
32
+ def to_dict(self) -> dict[str, Any]:
33
+
34
+ field_dict: dict[str, Any] = {}
35
+ field_dict.update(self.additional_properties)
36
+
37
+ return field_dict
38
+
39
+
40
+
41
+ @classmethod
42
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
43
+ d = dict(src_dict)
44
+ extract_batch_item_schema = cls(
45
+ )
46
+
47
+
48
+ extract_batch_item_schema.additional_properties = d
49
+ return extract_batch_item_schema
50
+
51
+ @property
52
+ def additional_keys(self) -> list[str]:
53
+ return list(self.additional_properties.keys())
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ return self.additional_properties[key]
57
+
58
+ def __setitem__(self, key: str, value: Any) -> None:
59
+ self.additional_properties[key] = value
60
+
61
+ def __delitem__(self, key: str) -> None:
62
+ del self.additional_properties[key]
63
+
64
+ def __contains__(self, key: str) -> bool:
65
+ return key in self.additional_properties
@@ -0,0 +1,99 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, BinaryIO, TextIO, TYPE_CHECKING, Generator
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ from ..models.extract_batch_request_output_format import ExtractBatchRequestOutputFormat
12
+ from ..types import UNSET, Unset
13
+ from typing import cast
14
+
15
+ if TYPE_CHECKING:
16
+ from ..models.extract_batch_request_items_item import ExtractBatchRequestItemsItem
17
+
18
+
19
+
20
+
21
+
22
+ T = TypeVar("T", bound="ExtractBatchRequest")
23
+
24
+
25
+
26
+ @_attrs_define
27
+ class ExtractBatchRequest:
28
+ """
29
+ Attributes:
30
+ items (list[ExtractBatchRequestItemsItem]): Ordered batch items. Each item references either an uploaded `files`
31
+ entry via
32
+ `file_index` or an Eigenpal reusable `file_id`.
33
+ output_format (ExtractBatchRequestOutputFormat | Unset): Default: ExtractBatchRequestOutputFormat.OPENPARSER1.
34
+ """
35
+
36
+ items: list[ExtractBatchRequestItemsItem]
37
+ output_format: ExtractBatchRequestOutputFormat | Unset = ExtractBatchRequestOutputFormat.OPENPARSER1
38
+
39
+
40
+
41
+
42
+
43
+ def to_dict(self) -> dict[str, Any]:
44
+ from ..models.extract_batch_request_items_item import ExtractBatchRequestItemsItem
45
+ items = []
46
+ for items_item_data in self.items:
47
+ items_item = items_item_data.to_dict()
48
+ items.append(items_item)
49
+
50
+
51
+
52
+ output_format: str | Unset = UNSET
53
+ if not isinstance(self.output_format, Unset):
54
+ output_format = self.output_format.value
55
+
56
+
57
+
58
+ field_dict: dict[str, Any] = {}
59
+
60
+ field_dict.update({
61
+ "items": items,
62
+ })
63
+ if output_format is not UNSET:
64
+ field_dict["output_format"] = output_format
65
+
66
+ return field_dict
67
+
68
+
69
+
70
+ @classmethod
71
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
72
+ from ..models.extract_batch_request_items_item import ExtractBatchRequestItemsItem
73
+ d = dict(src_dict)
74
+ items = []
75
+ _items = d.pop("items")
76
+ for items_item_data in (_items):
77
+ items_item = ExtractBatchRequestItemsItem.from_dict(items_item_data)
78
+
79
+
80
+
81
+ items.append(items_item)
82
+
83
+
84
+ _output_format = d.pop("output_format", UNSET)
85
+ output_format: ExtractBatchRequestOutputFormat | Unset
86
+ if isinstance(_output_format, Unset):
87
+ output_format = UNSET
88
+ else:
89
+ output_format = ExtractBatchRequestOutputFormat(_output_format)
90
+
91
+
92
+
93
+
94
+ extract_batch_request = cls(
95
+ items=items,
96
+ output_format=output_format,
97
+ )
98
+
99
+ return extract_batch_request
@@ -0,0 +1,201 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, BinaryIO, TextIO, TYPE_CHECKING, Generator
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ from ..models.extract_batch_request_items_item_grounding import ExtractBatchRequestItemsItemGrounding
12
+ from ..types import UNSET, Unset
13
+ from typing import cast
14
+
15
+ if TYPE_CHECKING:
16
+ from ..models.extract_batch_request_items_item_llm_options import ExtractBatchRequestItemsItemLlmOptions
17
+ from ..models.extract_batch_request_items_item_ocr_options import ExtractBatchRequestItemsItemOcrOptions
18
+ from ..models.extract_batch_request_items_item_schema import ExtractBatchRequestItemsItemSchema
19
+
20
+
21
+
22
+
23
+
24
+ T = TypeVar("T", bound="ExtractBatchRequestItemsItem")
25
+
26
+
27
+
28
+ @_attrs_define
29
+ class ExtractBatchRequestItemsItem:
30
+ """
31
+ Attributes:
32
+ client_item_id (str):
33
+ file_index (int | Unset):
34
+ file_id (str | Unset):
35
+ pipeline_id (str | Unset):
36
+ ocr_model (str | Unset):
37
+ ocr_options (ExtractBatchRequestItemsItemOcrOptions | Unset):
38
+ llm_model (str | Unset):
39
+ llm_options (ExtractBatchRequestItemsItemLlmOptions | Unset):
40
+ schema (ExtractBatchRequestItemsItemSchema | Unset):
41
+ repair_attempts (int | Unset):
42
+ grounding (ExtractBatchRequestItemsItemGrounding | Unset):
43
+ """
44
+
45
+ client_item_id: str
46
+ file_index: int | Unset = UNSET
47
+ file_id: str | Unset = UNSET
48
+ pipeline_id: str | Unset = UNSET
49
+ ocr_model: str | Unset = UNSET
50
+ ocr_options: ExtractBatchRequestItemsItemOcrOptions | Unset = UNSET
51
+ llm_model: str | Unset = UNSET
52
+ llm_options: ExtractBatchRequestItemsItemLlmOptions | Unset = UNSET
53
+ schema: ExtractBatchRequestItemsItemSchema | Unset = UNSET
54
+ repair_attempts: int | Unset = UNSET
55
+ grounding: ExtractBatchRequestItemsItemGrounding | Unset = UNSET
56
+
57
+
58
+
59
+
60
+
61
+ def to_dict(self) -> dict[str, Any]:
62
+ from ..models.extract_batch_request_items_item_llm_options import ExtractBatchRequestItemsItemLlmOptions
63
+ from ..models.extract_batch_request_items_item_ocr_options import ExtractBatchRequestItemsItemOcrOptions
64
+ from ..models.extract_batch_request_items_item_schema import ExtractBatchRequestItemsItemSchema
65
+ client_item_id = self.client_item_id
66
+
67
+ file_index = self.file_index
68
+
69
+ file_id = self.file_id
70
+
71
+ pipeline_id = self.pipeline_id
72
+
73
+ ocr_model = self.ocr_model
74
+
75
+ ocr_options: dict[str, Any] | Unset = UNSET
76
+ if not isinstance(self.ocr_options, Unset):
77
+ ocr_options = self.ocr_options.to_dict()
78
+
79
+ llm_model = self.llm_model
80
+
81
+ llm_options: dict[str, Any] | Unset = UNSET
82
+ if not isinstance(self.llm_options, Unset):
83
+ llm_options = self.llm_options.to_dict()
84
+
85
+ schema: dict[str, Any] | Unset = UNSET
86
+ if not isinstance(self.schema, Unset):
87
+ schema = self.schema.to_dict()
88
+
89
+ repair_attempts = self.repair_attempts
90
+
91
+ grounding: str | Unset = UNSET
92
+ if not isinstance(self.grounding, Unset):
93
+ grounding = self.grounding.value
94
+
95
+
96
+
97
+ field_dict: dict[str, Any] = {}
98
+
99
+ field_dict.update({
100
+ "client_item_id": client_item_id,
101
+ })
102
+ if file_index is not UNSET:
103
+ field_dict["file_index"] = file_index
104
+ if file_id is not UNSET:
105
+ field_dict["file_id"] = file_id
106
+ if pipeline_id is not UNSET:
107
+ field_dict["pipeline_id"] = pipeline_id
108
+ if ocr_model is not UNSET:
109
+ field_dict["ocr_model"] = ocr_model
110
+ if ocr_options is not UNSET:
111
+ field_dict["ocr_options"] = ocr_options
112
+ if llm_model is not UNSET:
113
+ field_dict["llm_model"] = llm_model
114
+ if llm_options is not UNSET:
115
+ field_dict["llm_options"] = llm_options
116
+ if schema is not UNSET:
117
+ field_dict["schema"] = schema
118
+ if repair_attempts is not UNSET:
119
+ field_dict["repair_attempts"] = repair_attempts
120
+ if grounding is not UNSET:
121
+ field_dict["grounding"] = grounding
122
+
123
+ return field_dict
124
+
125
+
126
+
127
+ @classmethod
128
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
129
+ from ..models.extract_batch_request_items_item_llm_options import ExtractBatchRequestItemsItemLlmOptions
130
+ from ..models.extract_batch_request_items_item_ocr_options import ExtractBatchRequestItemsItemOcrOptions
131
+ from ..models.extract_batch_request_items_item_schema import ExtractBatchRequestItemsItemSchema
132
+ d = dict(src_dict)
133
+ client_item_id = d.pop("client_item_id")
134
+
135
+ file_index = d.pop("file_index", UNSET)
136
+
137
+ file_id = d.pop("file_id", UNSET)
138
+
139
+ pipeline_id = d.pop("pipeline_id", UNSET)
140
+
141
+ ocr_model = d.pop("ocr_model", UNSET)
142
+
143
+ _ocr_options = d.pop("ocr_options", UNSET)
144
+ ocr_options: ExtractBatchRequestItemsItemOcrOptions | Unset
145
+ if isinstance(_ocr_options, Unset):
146
+ ocr_options = UNSET
147
+ else:
148
+ ocr_options = ExtractBatchRequestItemsItemOcrOptions.from_dict(_ocr_options)
149
+
150
+
151
+
152
+
153
+ llm_model = d.pop("llm_model", UNSET)
154
+
155
+ _llm_options = d.pop("llm_options", UNSET)
156
+ llm_options: ExtractBatchRequestItemsItemLlmOptions | Unset
157
+ if isinstance(_llm_options, Unset):
158
+ llm_options = UNSET
159
+ else:
160
+ llm_options = ExtractBatchRequestItemsItemLlmOptions.from_dict(_llm_options)
161
+
162
+
163
+
164
+
165
+ _schema = d.pop("schema", UNSET)
166
+ schema: ExtractBatchRequestItemsItemSchema | Unset
167
+ if isinstance(_schema, Unset):
168
+ schema = UNSET
169
+ else:
170
+ schema = ExtractBatchRequestItemsItemSchema.from_dict(_schema)
171
+
172
+
173
+
174
+
175
+ repair_attempts = d.pop("repair_attempts", UNSET)
176
+
177
+ _grounding = d.pop("grounding", UNSET)
178
+ grounding: ExtractBatchRequestItemsItemGrounding | Unset
179
+ if isinstance(_grounding, Unset):
180
+ grounding = UNSET
181
+ else:
182
+ grounding = ExtractBatchRequestItemsItemGrounding(_grounding)
183
+
184
+
185
+
186
+
187
+ extract_batch_request_items_item = cls(
188
+ client_item_id=client_item_id,
189
+ file_index=file_index,
190
+ file_id=file_id,
191
+ pipeline_id=pipeline_id,
192
+ ocr_model=ocr_model,
193
+ ocr_options=ocr_options,
194
+ llm_model=llm_model,
195
+ llm_options=llm_options,
196
+ schema=schema,
197
+ repair_attempts=repair_attempts,
198
+ grounding=grounding,
199
+ )
200
+
201
+ return extract_batch_request_items_item
@@ -0,0 +1,8 @@
1
+ from enum import Enum
2
+
3
+ class ExtractBatchRequestItemsItemGrounding(str, Enum):
4
+ FIELD = "field"
5
+ NONE = "none"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -0,0 +1,84 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, BinaryIO, TextIO, TYPE_CHECKING, Generator
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ from ..models.extract_batch_request_items_item_llm_options_reasoning_effort_type_1 import ExtractBatchRequestItemsItemLlmOptionsReasoningEffortType1
12
+ from ..types import UNSET, Unset
13
+ from typing import cast
14
+ from typing import Literal, cast
15
+
16
+
17
+
18
+
19
+
20
+
21
+ T = TypeVar("T", bound="ExtractBatchRequestItemsItemLlmOptions")
22
+
23
+
24
+
25
+ @_attrs_define
26
+ class ExtractBatchRequestItemsItemLlmOptions:
27
+ """
28
+ Attributes:
29
+ reasoning_effort (ExtractBatchRequestItemsItemLlmOptionsReasoningEffortType1 | Literal['auto'] | Unset):
30
+ """
31
+
32
+ reasoning_effort: ExtractBatchRequestItemsItemLlmOptionsReasoningEffortType1 | Literal['auto'] | Unset = UNSET
33
+
34
+
35
+
36
+
37
+
38
+ def to_dict(self) -> dict[str, Any]:
39
+ reasoning_effort: Literal['auto'] | str | Unset
40
+ if isinstance(self.reasoning_effort, Unset):
41
+ reasoning_effort = UNSET
42
+ elif isinstance(self.reasoning_effort, ExtractBatchRequestItemsItemLlmOptionsReasoningEffortType1):
43
+ reasoning_effort = self.reasoning_effort.value
44
+ else:
45
+ reasoning_effort = self.reasoning_effort
46
+
47
+
48
+ field_dict: dict[str, Any] = {}
49
+
50
+ field_dict.update({
51
+ })
52
+ if reasoning_effort is not UNSET:
53
+ field_dict["reasoning_effort"] = reasoning_effort
54
+
55
+ return field_dict
56
+
57
+
58
+
59
+ @classmethod
60
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
61
+ d = dict(src_dict)
62
+ def _parse_reasoning_effort(data: object) -> ExtractBatchRequestItemsItemLlmOptionsReasoningEffortType1 | Literal['auto'] | Unset:
63
+ if isinstance(data, Unset):
64
+ return data
65
+ reasoning_effort_type_0 = cast(Literal['auto'] , data)
66
+ if reasoning_effort_type_0 != 'auto':
67
+ raise ValueError(f"reasoning_effort_type_0 must match const 'auto', got '{reasoning_effort_type_0}'")
68
+ return reasoning_effort_type_0
69
+ if not isinstance(data, str):
70
+ raise TypeError()
71
+ reasoning_effort_type_1 = ExtractBatchRequestItemsItemLlmOptionsReasoningEffortType1(data)
72
+
73
+
74
+
75
+ return reasoning_effort_type_1
76
+
77
+ reasoning_effort = _parse_reasoning_effort(d.pop("reasoning_effort", UNSET))
78
+
79
+
80
+ extract_batch_request_items_item_llm_options = cls(
81
+ reasoning_effort=reasoning_effort,
82
+ )
83
+
84
+ return extract_batch_request_items_item_llm_options
@@ -0,0 +1,13 @@
1
+ from enum import Enum
2
+
3
+ class ExtractBatchRequestItemsItemLlmOptionsReasoningEffortType1(str, Enum):
4
+ HIGH = "high"
5
+ LOW = "low"
6
+ MAX = "max"
7
+ MEDIUM = "medium"
8
+ MINIMAL = "minimal"
9
+ NONE = "none"
10
+ XHIGH = "xhigh"
11
+
12
+ def __str__(self) -> str:
13
+ return str(self.value)
@@ -0,0 +1,78 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, BinaryIO, TextIO, TYPE_CHECKING, Generator
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ from ..types import UNSET, Unset
12
+
13
+
14
+
15
+
16
+
17
+
18
+ T = TypeVar("T", bound="ExtractBatchRequestItemsItemOcrOptions")
19
+
20
+
21
+
22
+ @_attrs_define
23
+ class ExtractBatchRequestItemsItemOcrOptions:
24
+ """
25
+ Attributes:
26
+ image_block_ocr (bool | Unset):
27
+ chart_recognition (bool | Unset):
28
+ merge_layout_blocks (bool | Unset): Merge nearby cross-column or staggered text regions before recognition.
29
+ Defaults to false to preserve one-to-one text and bounding-box alignment.
30
+ """
31
+
32
+ image_block_ocr: bool | Unset = UNSET
33
+ chart_recognition: bool | Unset = UNSET
34
+ merge_layout_blocks: bool | Unset = UNSET
35
+
36
+
37
+
38
+
39
+
40
+ def to_dict(self) -> dict[str, Any]:
41
+ image_block_ocr = self.image_block_ocr
42
+
43
+ chart_recognition = self.chart_recognition
44
+
45
+ merge_layout_blocks = self.merge_layout_blocks
46
+
47
+
48
+ field_dict: dict[str, Any] = {}
49
+
50
+ field_dict.update({
51
+ })
52
+ if image_block_ocr is not UNSET:
53
+ field_dict["image_block_ocr"] = image_block_ocr
54
+ if chart_recognition is not UNSET:
55
+ field_dict["chart_recognition"] = chart_recognition
56
+ if merge_layout_blocks is not UNSET:
57
+ field_dict["merge_layout_blocks"] = merge_layout_blocks
58
+
59
+ return field_dict
60
+
61
+
62
+
63
+ @classmethod
64
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
65
+ d = dict(src_dict)
66
+ image_block_ocr = d.pop("image_block_ocr", UNSET)
67
+
68
+ chart_recognition = d.pop("chart_recognition", UNSET)
69
+
70
+ merge_layout_blocks = d.pop("merge_layout_blocks", UNSET)
71
+
72
+ extract_batch_request_items_item_ocr_options = cls(
73
+ image_block_ocr=image_block_ocr,
74
+ chart_recognition=chart_recognition,
75
+ merge_layout_blocks=merge_layout_blocks,
76
+ )
77
+
78
+ return extract_batch_request_items_item_ocr_options
@@ -0,0 +1,65 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, BinaryIO, TextIO, TYPE_CHECKING, Generator
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+ T = TypeVar("T", bound="ExtractBatchRequestItemsItemSchema")
18
+
19
+
20
+
21
+ @_attrs_define
22
+ class ExtractBatchRequestItemsItemSchema:
23
+ """
24
+ """
25
+
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+
29
+
30
+
31
+
32
+ def to_dict(self) -> dict[str, Any]:
33
+
34
+ field_dict: dict[str, Any] = {}
35
+ field_dict.update(self.additional_properties)
36
+
37
+ return field_dict
38
+
39
+
40
+
41
+ @classmethod
42
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
43
+ d = dict(src_dict)
44
+ extract_batch_request_items_item_schema = cls(
45
+ )
46
+
47
+
48
+ extract_batch_request_items_item_schema.additional_properties = d
49
+ return extract_batch_request_items_item_schema
50
+
51
+ @property
52
+ def additional_keys(self) -> list[str]:
53
+ return list(self.additional_properties.keys())
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ return self.additional_properties[key]
57
+
58
+ def __setitem__(self, key: str, value: Any) -> None:
59
+ self.additional_properties[key] = value
60
+
61
+ def __delitem__(self, key: str) -> None:
62
+ del self.additional_properties[key]
63
+
64
+ def __contains__(self, key: str) -> bool:
65
+ return key in self.additional_properties
@@ -0,0 +1,8 @@
1
+ from enum import Enum
2
+
3
+ class ExtractBatchRequestOutputFormat(str, Enum):
4
+ OPENPARSER1 = "openparser@1"
5
+ RAW = "raw"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)