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.
- openparser/__init__.py +54 -0
- openparser/_files.py +43 -0
- openparser/_generated/__init__.py +8 -0
- openparser/_generated/api/__init__.py +1 -0
- openparser/_generated/api/extract/__init__.py +1 -0
- openparser/_generated/api/extract/extract_async.py +280 -0
- openparser/_generated/api/extract/extract_batch.py +284 -0
- openparser/_generated/api/extract/extract_sync.py +315 -0
- openparser/_generated/api/extract/suggest_schema.py +260 -0
- openparser/_generated/api/files/__init__.py +1 -0
- openparser/_generated/api/files/create_file.py +237 -0
- openparser/_generated/api/files/delete_file.py +200 -0
- openparser/_generated/api/files/get_file.py +200 -0
- openparser/_generated/api/files/get_file_content.py +198 -0
- openparser/_generated/api/jobs/__init__.py +1 -0
- openparser/_generated/api/jobs/get_job.py +261 -0
- openparser/_generated/api/jobs/get_job_result.py +305 -0
- openparser/_generated/api/jobs/get_job_source.py +233 -0
- openparser/_generated/api/jobs/list_jobs.py +340 -0
- openparser/_generated/api/models/__init__.py +1 -0
- openparser/_generated/api/models/list_llm_models.py +288 -0
- openparser/_generated/api/models/list_ocr_models.py +184 -0
- openparser/_generated/api/parse/__init__.py +1 -0
- openparser/_generated/api/parse/parse_async.py +316 -0
- openparser/_generated/api/parse/parse_batch.py +280 -0
- openparser/_generated/api/parse/parse_sync.py +369 -0
- openparser/_generated/api/pipelines/__init__.py +1 -0
- openparser/_generated/api/pipelines/create_extraction_pipeline.py +242 -0
- openparser/_generated/api/pipelines/delete_extraction_pipeline.py +212 -0
- openparser/_generated/api/pipelines/get_extraction_pipeline.py +212 -0
- openparser/_generated/api/pipelines/list_extraction_pipelines.py +180 -0
- openparser/_generated/api/pipelines/update_extraction_pipeline.py +258 -0
- openparser/_generated/client.py +270 -0
- openparser/_generated/errors.py +14 -0
- openparser/_generated/models/__init__.py +261 -0
- openparser/_generated/models/batch_child_page.py +97 -0
- openparser/_generated/models/batch_child_summary.py +195 -0
- openparser/_generated/models/batch_job_accepted.py +139 -0
- openparser/_generated/models/batch_job_accepted_operation.py +8 -0
- openparser/_generated/models/batch_summary_counts.py +97 -0
- openparser/_generated/models/bounding_box.py +82 -0
- openparser/_generated/models/chunk_provenance_span.py +97 -0
- openparser/_generated/models/content_kind.py +10 -0
- openparser/_generated/models/create_extraction_pipeline_request.py +177 -0
- openparser/_generated/models/create_extraction_pipeline_request_grounding.py +8 -0
- openparser/_generated/models/create_extraction_pipeline_request_llm_options.py +84 -0
- openparser/_generated/models/create_extraction_pipeline_request_llm_options_reasoning_effort_type_1.py +13 -0
- openparser/_generated/models/create_extraction_pipeline_request_ocr_options.py +78 -0
- openparser/_generated/models/create_extraction_pipeline_request_schema.py +68 -0
- openparser/_generated/models/create_file_body.py +78 -0
- openparser/_generated/models/delete_extraction_pipeline_response.py +66 -0
- openparser/_generated/models/delete_file_response.py +57 -0
- openparser/_generated/models/error_body.py +106 -0
- openparser/_generated/models/error_body_details.py +65 -0
- openparser/_generated/models/error_response.py +65 -0
- openparser/_generated/models/extract_async_body.py +136 -0
- openparser/_generated/models/extract_batch_body.py +143 -0
- openparser/_generated/models/extract_batch_item.py +207 -0
- openparser/_generated/models/extract_batch_item_grounding.py +8 -0
- openparser/_generated/models/extract_batch_item_llm_options.py +84 -0
- openparser/_generated/models/extract_batch_item_llm_options_reasoning_effort_type_1.py +13 -0
- openparser/_generated/models/extract_batch_item_ocr_options.py +78 -0
- openparser/_generated/models/extract_batch_item_schema.py +65 -0
- openparser/_generated/models/extract_batch_request.py +99 -0
- openparser/_generated/models/extract_batch_request_items_item.py +201 -0
- openparser/_generated/models/extract_batch_request_items_item_grounding.py +8 -0
- openparser/_generated/models/extract_batch_request_items_item_llm_options.py +84 -0
- openparser/_generated/models/extract_batch_request_items_item_llm_options_reasoning_effort_type_1.py +13 -0
- openparser/_generated/models/extract_batch_request_items_item_ocr_options.py +78 -0
- openparser/_generated/models/extract_batch_request_items_item_schema.py +65 -0
- openparser/_generated/models/extract_batch_request_output_format.py +8 -0
- openparser/_generated/models/extract_request.py +226 -0
- openparser/_generated/models/extract_request_grounding.py +8 -0
- openparser/_generated/models/extract_request_llm_options.py +84 -0
- openparser/_generated/models/extract_request_llm_options_reasoning_effort_type_1.py +13 -0
- openparser/_generated/models/extract_request_ocr_options.py +78 -0
- openparser/_generated/models/extract_request_output_format.py +8 -0
- openparser/_generated/models/extract_request_schema.py +65 -0
- openparser/_generated/models/extract_sync_body.py +136 -0
- openparser/_generated/models/extraction_attempt.py +122 -0
- openparser/_generated/models/extraction_attempt_kind.py +8 -0
- openparser/_generated/models/extraction_attempt_status.py +9 -0
- openparser/_generated/models/extraction_chunk.py +184 -0
- openparser/_generated/models/extraction_citation.py +169 -0
- openparser/_generated/models/extraction_citation_granularity.py +8 -0
- openparser/_generated/models/extraction_citation_source_type.py +16 -0
- openparser/_generated/models/extraction_grounding_field.py +102 -0
- openparser/_generated/models/extraction_grounding_mode.py +8 -0
- openparser/_generated/models/extraction_grounding_result.py +87 -0
- openparser/_generated/models/extraction_pipeline.py +201 -0
- openparser/_generated/models/extraction_pipeline_list_response.py +76 -0
- openparser/_generated/models/extraction_pipeline_llm_options.py +84 -0
- openparser/_generated/models/extraction_pipeline_llm_options_reasoning_effort_type_0_type_1.py +13 -0
- openparser/_generated/models/extraction_pipeline_ocr_options.py +73 -0
- openparser/_generated/models/extraction_pipeline_schema.py +67 -0
- openparser/_generated/models/extraction_terminal_result.py +206 -0
- openparser/_generated/models/extraction_terminal_result_reasoning_effort_type_0.py +13 -0
- openparser/_generated/models/extraction_usage_totals.py +80 -0
- openparser/_generated/models/job.py +437 -0
- openparser/_generated/models/job_accepted.py +131 -0
- openparser/_generated/models/job_accepted_operation.py +8 -0
- openparser/_generated/models/job_extraction_schema.py +65 -0
- openparser/_generated/models/job_failure.py +98 -0
- openparser/_generated/models/job_failure_details.py +65 -0
- openparser/_generated/models/job_list_response.py +91 -0
- openparser/_generated/models/job_operation.py +10 -0
- openparser/_generated/models/job_progress.py +68 -0
- openparser/_generated/models/job_related_extractions_item.py +145 -0
- openparser/_generated/models/job_status.py +11 -0
- openparser/_generated/models/job_summary.py +264 -0
- openparser/_generated/models/json_schema_object.py +66 -0
- openparser/_generated/models/list_llm_models_mode.py +8 -0
- openparser/_generated/models/ocr_llm_model_catalog_entry.py +257 -0
- openparser/_generated/models/ocr_llm_model_catalog_entry_pricing.py +76 -0
- openparser/_generated/models/ocr_llm_model_catalog_entry_reasoning_type_0.py +134 -0
- openparser/_generated/models/ocr_llm_model_catalog_entry_reasoning_type_0_default_effort_type_0.py +13 -0
- openparser/_generated/models/ocr_llm_model_catalog_entry_reasoning_type_0_supported_efforts_type_0_item.py +13 -0
- openparser/_generated/models/ocr_llm_model_catalog_entry_recommendation.py +8 -0
- openparser/_generated/models/ocr_llm_models_response.py +150 -0
- openparser/_generated/models/ocr_llm_models_response_mode.py +8 -0
- openparser/_generated/models/ocr_model.py +7 -0
- openparser/_generated/models/ocr_model_catalog_entry.py +131 -0
- openparser/_generated/models/ocr_model_catalog_entry_availability.py +9 -0
- openparser/_generated/models/ocr_model_catalog_entry_capabilities.py +97 -0
- openparser/_generated/models/ocr_model_catalog_entry_capabilities_options.py +73 -0
- openparser/_generated/models/ocr_model_catalog_entry_option_defaults.py +73 -0
- openparser/_generated/models/ocr_model_catalog_entry_pricing.py +68 -0
- openparser/_generated/models/ocr_models_response.py +76 -0
- openparser/_generated/models/ocr_output_format.py +8 -0
- openparser/_generated/models/paddle_raw_profile.py +76 -0
- openparser/_generated/models/paddle_raw_profile_options.py +115 -0
- openparser/_generated/models/page_block.py +332 -0
- openparser/_generated/models/page_block_kind.py +9 -0
- openparser/_generated/models/page_block_polygon_type_0_item.py +65 -0
- openparser/_generated/models/parse_async_body.py +133 -0
- openparser/_generated/models/parse_batch_body.py +143 -0
- openparser/_generated/models/parse_batch_item.py +109 -0
- openparser/_generated/models/parse_batch_item_ocr_options.py +78 -0
- openparser/_generated/models/parse_batch_request.py +100 -0
- openparser/_generated/models/parse_batch_request_items_item.py +108 -0
- openparser/_generated/models/parse_batch_request_items_item_ocr_options.py +78 -0
- openparser/_generated/models/parse_batch_request_output_format.py +8 -0
- openparser/_generated/models/parse_request.py +112 -0
- openparser/_generated/models/parse_request_ocr_options.py +78 -0
- openparser/_generated/models/parse_request_output_format.py +8 -0
- openparser/_generated/models/parse_sync_body.py +133 -0
- openparser/_generated/models/parsed_document.py +187 -0
- openparser/_generated/models/public_file.py +117 -0
- openparser/_generated/models/raw_parse_result.py +110 -0
- openparser/_generated/models/raw_parse_result_result.py +65 -0
- openparser/_generated/models/region.py +224 -0
- openparser/_generated/models/region_content.py +155 -0
- openparser/_generated/models/region_polygon_type_0_item.py +65 -0
- openparser/_generated/models/region_type.py +16 -0
- openparser/_generated/models/suggest_schema_request.py +69 -0
- openparser/_generated/models/suggest_schema_response.py +74 -0
- openparser/_generated/models/suggest_schema_response_schema.py +66 -0
- openparser/_generated/models/update_extraction_pipeline_request.py +227 -0
- openparser/_generated/models/update_extraction_pipeline_request_grounding.py +8 -0
- openparser/_generated/models/update_extraction_pipeline_request_llm_options_type_0.py +84 -0
- openparser/_generated/models/update_extraction_pipeline_request_llm_options_type_0_reasoning_effort_type_1.py +13 -0
- openparser/_generated/models/update_extraction_pipeline_request_ocr_options_type_0.py +78 -0
- openparser/_generated/models/update_extraction_pipeline_request_schema.py +67 -0
- openparser/_generated/py.typed +1 -0
- openparser/_generated/types.py +53 -0
- openparser/_telemetry.py +34 -0
- openparser/client.py +541 -0
- openparser/errors.py +172 -0
- openparser/py.typed +0 -0
- openparser_sdk-0.0.1.dist-info/METADATA +178 -0
- openparser_sdk-0.0.1.dist-info/RECORD +173 -0
- openparser_sdk-0.0.1.dist-info/WHEEL +4 -0
- openparser_sdk-0.0.1.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,109 @@
|
|
|
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
|
+
from typing import cast
|
|
13
|
+
|
|
14
|
+
if TYPE_CHECKING:
|
|
15
|
+
from ..models.parse_batch_item_ocr_options import ParseBatchItemOcrOptions
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
T = TypeVar("T", bound="ParseBatchItem")
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
@_attrs_define
|
|
26
|
+
class ParseBatchItem:
|
|
27
|
+
"""
|
|
28
|
+
Attributes:
|
|
29
|
+
client_item_id (str): Caller-supplied stable identifier for this batch item.
|
|
30
|
+
ocr_model (str):
|
|
31
|
+
file_index (int | Unset): Zero-based index into the uploaded `files` array. Exactly one of `file_index` or
|
|
32
|
+
`file_id` is required per item.
|
|
33
|
+
file_id (str | Unset):
|
|
34
|
+
ocr_options (ParseBatchItemOcrOptions | Unset):
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
client_item_id: str
|
|
38
|
+
ocr_model: str
|
|
39
|
+
file_index: int | Unset = UNSET
|
|
40
|
+
file_id: str | Unset = UNSET
|
|
41
|
+
ocr_options: ParseBatchItemOcrOptions | Unset = UNSET
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def to_dict(self) -> dict[str, Any]:
|
|
48
|
+
from ..models.parse_batch_item_ocr_options import ParseBatchItemOcrOptions
|
|
49
|
+
client_item_id = self.client_item_id
|
|
50
|
+
|
|
51
|
+
ocr_model = self.ocr_model
|
|
52
|
+
|
|
53
|
+
file_index = self.file_index
|
|
54
|
+
|
|
55
|
+
file_id = self.file_id
|
|
56
|
+
|
|
57
|
+
ocr_options: dict[str, Any] | Unset = UNSET
|
|
58
|
+
if not isinstance(self.ocr_options, Unset):
|
|
59
|
+
ocr_options = self.ocr_options.to_dict()
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
field_dict: dict[str, Any] = {}
|
|
63
|
+
|
|
64
|
+
field_dict.update({
|
|
65
|
+
"client_item_id": client_item_id,
|
|
66
|
+
"ocr_model": ocr_model,
|
|
67
|
+
})
|
|
68
|
+
if file_index is not UNSET:
|
|
69
|
+
field_dict["file_index"] = file_index
|
|
70
|
+
if file_id is not UNSET:
|
|
71
|
+
field_dict["file_id"] = file_id
|
|
72
|
+
if ocr_options is not UNSET:
|
|
73
|
+
field_dict["ocr_options"] = ocr_options
|
|
74
|
+
|
|
75
|
+
return field_dict
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
@classmethod
|
|
80
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
81
|
+
from ..models.parse_batch_item_ocr_options import ParseBatchItemOcrOptions
|
|
82
|
+
d = dict(src_dict)
|
|
83
|
+
client_item_id = d.pop("client_item_id")
|
|
84
|
+
|
|
85
|
+
ocr_model = d.pop("ocr_model")
|
|
86
|
+
|
|
87
|
+
file_index = d.pop("file_index", UNSET)
|
|
88
|
+
|
|
89
|
+
file_id = d.pop("file_id", UNSET)
|
|
90
|
+
|
|
91
|
+
_ocr_options = d.pop("ocr_options", UNSET)
|
|
92
|
+
ocr_options: ParseBatchItemOcrOptions | Unset
|
|
93
|
+
if isinstance(_ocr_options, Unset):
|
|
94
|
+
ocr_options = UNSET
|
|
95
|
+
else:
|
|
96
|
+
ocr_options = ParseBatchItemOcrOptions.from_dict(_ocr_options)
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
parse_batch_item = cls(
|
|
102
|
+
client_item_id=client_item_id,
|
|
103
|
+
ocr_model=ocr_model,
|
|
104
|
+
file_index=file_index,
|
|
105
|
+
file_id=file_id,
|
|
106
|
+
ocr_options=ocr_options,
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
return parse_batch_item
|
|
@@ -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="ParseBatchItemOcrOptions")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@_attrs_define
|
|
23
|
+
class ParseBatchItemOcrOptions:
|
|
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
|
+
parse_batch_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 parse_batch_item_ocr_options
|
|
@@ -0,0 +1,100 @@
|
|
|
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.parse_batch_request_output_format import ParseBatchRequestOutputFormat
|
|
12
|
+
from ..types import UNSET, Unset
|
|
13
|
+
from typing import cast
|
|
14
|
+
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from ..models.parse_batch_request_items_item import ParseBatchRequestItemsItem
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
T = TypeVar("T", bound="ParseBatchRequest")
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@_attrs_define
|
|
27
|
+
class ParseBatchRequest:
|
|
28
|
+
"""
|
|
29
|
+
Attributes:
|
|
30
|
+
items (list[ParseBatchRequestItemsItem]): Ordered batch items. Each item references either an uploaded `files`
|
|
31
|
+
entry via
|
|
32
|
+
`file_index` or an Eigenpal reusable `file_id`. Uploaded files must be covered by
|
|
33
|
+
exactly one unique `file_index` in `[0, files.length)`.
|
|
34
|
+
output_format (ParseBatchRequestOutputFormat | Unset): Default: ParseBatchRequestOutputFormat.OPENPARSER1.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
items: list[ParseBatchRequestItemsItem]
|
|
38
|
+
output_format: ParseBatchRequestOutputFormat | Unset = ParseBatchRequestOutputFormat.OPENPARSER1
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def to_dict(self) -> dict[str, Any]:
|
|
45
|
+
from ..models.parse_batch_request_items_item import ParseBatchRequestItemsItem
|
|
46
|
+
items = []
|
|
47
|
+
for items_item_data in self.items:
|
|
48
|
+
items_item = items_item_data.to_dict()
|
|
49
|
+
items.append(items_item)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
output_format: str | Unset = UNSET
|
|
54
|
+
if not isinstance(self.output_format, Unset):
|
|
55
|
+
output_format = self.output_format.value
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
field_dict: dict[str, Any] = {}
|
|
60
|
+
|
|
61
|
+
field_dict.update({
|
|
62
|
+
"items": items,
|
|
63
|
+
})
|
|
64
|
+
if output_format is not UNSET:
|
|
65
|
+
field_dict["output_format"] = output_format
|
|
66
|
+
|
|
67
|
+
return field_dict
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
@classmethod
|
|
72
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
73
|
+
from ..models.parse_batch_request_items_item import ParseBatchRequestItemsItem
|
|
74
|
+
d = dict(src_dict)
|
|
75
|
+
items = []
|
|
76
|
+
_items = d.pop("items")
|
|
77
|
+
for items_item_data in (_items):
|
|
78
|
+
items_item = ParseBatchRequestItemsItem.from_dict(items_item_data)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
items.append(items_item)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
_output_format = d.pop("output_format", UNSET)
|
|
86
|
+
output_format: ParseBatchRequestOutputFormat | Unset
|
|
87
|
+
if isinstance(_output_format, Unset):
|
|
88
|
+
output_format = UNSET
|
|
89
|
+
else:
|
|
90
|
+
output_format = ParseBatchRequestOutputFormat(_output_format)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
parse_batch_request = cls(
|
|
96
|
+
items=items,
|
|
97
|
+
output_format=output_format,
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
return parse_batch_request
|
|
@@ -0,0 +1,108 @@
|
|
|
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
|
+
from typing import cast
|
|
13
|
+
|
|
14
|
+
if TYPE_CHECKING:
|
|
15
|
+
from ..models.parse_batch_request_items_item_ocr_options import ParseBatchRequestItemsItemOcrOptions
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
T = TypeVar("T", bound="ParseBatchRequestItemsItem")
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
@_attrs_define
|
|
26
|
+
class ParseBatchRequestItemsItem:
|
|
27
|
+
"""
|
|
28
|
+
Attributes:
|
|
29
|
+
client_item_id (str):
|
|
30
|
+
ocr_model (str):
|
|
31
|
+
file_index (int | Unset):
|
|
32
|
+
file_id (str | Unset):
|
|
33
|
+
ocr_options (ParseBatchRequestItemsItemOcrOptions | Unset):
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
client_item_id: str
|
|
37
|
+
ocr_model: str
|
|
38
|
+
file_index: int | Unset = UNSET
|
|
39
|
+
file_id: str | Unset = UNSET
|
|
40
|
+
ocr_options: ParseBatchRequestItemsItemOcrOptions | Unset = UNSET
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def to_dict(self) -> dict[str, Any]:
|
|
47
|
+
from ..models.parse_batch_request_items_item_ocr_options import ParseBatchRequestItemsItemOcrOptions
|
|
48
|
+
client_item_id = self.client_item_id
|
|
49
|
+
|
|
50
|
+
ocr_model = self.ocr_model
|
|
51
|
+
|
|
52
|
+
file_index = self.file_index
|
|
53
|
+
|
|
54
|
+
file_id = self.file_id
|
|
55
|
+
|
|
56
|
+
ocr_options: dict[str, Any] | Unset = UNSET
|
|
57
|
+
if not isinstance(self.ocr_options, Unset):
|
|
58
|
+
ocr_options = self.ocr_options.to_dict()
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
field_dict: dict[str, Any] = {}
|
|
62
|
+
|
|
63
|
+
field_dict.update({
|
|
64
|
+
"client_item_id": client_item_id,
|
|
65
|
+
"ocr_model": ocr_model,
|
|
66
|
+
})
|
|
67
|
+
if file_index is not UNSET:
|
|
68
|
+
field_dict["file_index"] = file_index
|
|
69
|
+
if file_id is not UNSET:
|
|
70
|
+
field_dict["file_id"] = file_id
|
|
71
|
+
if ocr_options is not UNSET:
|
|
72
|
+
field_dict["ocr_options"] = ocr_options
|
|
73
|
+
|
|
74
|
+
return field_dict
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
@classmethod
|
|
79
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
80
|
+
from ..models.parse_batch_request_items_item_ocr_options import ParseBatchRequestItemsItemOcrOptions
|
|
81
|
+
d = dict(src_dict)
|
|
82
|
+
client_item_id = d.pop("client_item_id")
|
|
83
|
+
|
|
84
|
+
ocr_model = d.pop("ocr_model")
|
|
85
|
+
|
|
86
|
+
file_index = d.pop("file_index", UNSET)
|
|
87
|
+
|
|
88
|
+
file_id = d.pop("file_id", UNSET)
|
|
89
|
+
|
|
90
|
+
_ocr_options = d.pop("ocr_options", UNSET)
|
|
91
|
+
ocr_options: ParseBatchRequestItemsItemOcrOptions | Unset
|
|
92
|
+
if isinstance(_ocr_options, Unset):
|
|
93
|
+
ocr_options = UNSET
|
|
94
|
+
else:
|
|
95
|
+
ocr_options = ParseBatchRequestItemsItemOcrOptions.from_dict(_ocr_options)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
parse_batch_request_items_item = cls(
|
|
101
|
+
client_item_id=client_item_id,
|
|
102
|
+
ocr_model=ocr_model,
|
|
103
|
+
file_index=file_index,
|
|
104
|
+
file_id=file_id,
|
|
105
|
+
ocr_options=ocr_options,
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
return parse_batch_request_items_item
|
|
@@ -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="ParseBatchRequestItemsItemOcrOptions")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@_attrs_define
|
|
23
|
+
class ParseBatchRequestItemsItemOcrOptions:
|
|
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
|
+
parse_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 parse_batch_request_items_item_ocr_options
|
|
@@ -0,0 +1,112 @@
|
|
|
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.parse_request_output_format import ParseRequestOutputFormat
|
|
12
|
+
from ..types import UNSET, Unset
|
|
13
|
+
from typing import cast
|
|
14
|
+
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from ..models.parse_request_ocr_options import ParseRequestOcrOptions
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
T = TypeVar("T", bound="ParseRequest")
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@_attrs_define
|
|
27
|
+
class ParseRequest:
|
|
28
|
+
"""
|
|
29
|
+
Attributes:
|
|
30
|
+
ocr_model (str):
|
|
31
|
+
ocr_options (ParseRequestOcrOptions | Unset):
|
|
32
|
+
file_id (str | Unset):
|
|
33
|
+
output_format (ParseRequestOutputFormat | Unset): Default: ParseRequestOutputFormat.OPENPARSER1.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
ocr_model: str
|
|
37
|
+
ocr_options: ParseRequestOcrOptions | Unset = UNSET
|
|
38
|
+
file_id: str | Unset = UNSET
|
|
39
|
+
output_format: ParseRequestOutputFormat | Unset = ParseRequestOutputFormat.OPENPARSER1
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def to_dict(self) -> dict[str, Any]:
|
|
46
|
+
from ..models.parse_request_ocr_options import ParseRequestOcrOptions
|
|
47
|
+
ocr_model = self.ocr_model
|
|
48
|
+
|
|
49
|
+
ocr_options: dict[str, Any] | Unset = UNSET
|
|
50
|
+
if not isinstance(self.ocr_options, Unset):
|
|
51
|
+
ocr_options = self.ocr_options.to_dict()
|
|
52
|
+
|
|
53
|
+
file_id = self.file_id
|
|
54
|
+
|
|
55
|
+
output_format: str | Unset = UNSET
|
|
56
|
+
if not isinstance(self.output_format, Unset):
|
|
57
|
+
output_format = self.output_format.value
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
field_dict: dict[str, Any] = {}
|
|
62
|
+
|
|
63
|
+
field_dict.update({
|
|
64
|
+
"ocr_model": ocr_model,
|
|
65
|
+
})
|
|
66
|
+
if ocr_options is not UNSET:
|
|
67
|
+
field_dict["ocr_options"] = ocr_options
|
|
68
|
+
if file_id is not UNSET:
|
|
69
|
+
field_dict["file_id"] = file_id
|
|
70
|
+
if output_format is not UNSET:
|
|
71
|
+
field_dict["output_format"] = output_format
|
|
72
|
+
|
|
73
|
+
return field_dict
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
@classmethod
|
|
78
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
79
|
+
from ..models.parse_request_ocr_options import ParseRequestOcrOptions
|
|
80
|
+
d = dict(src_dict)
|
|
81
|
+
ocr_model = d.pop("ocr_model")
|
|
82
|
+
|
|
83
|
+
_ocr_options = d.pop("ocr_options", UNSET)
|
|
84
|
+
ocr_options: ParseRequestOcrOptions | Unset
|
|
85
|
+
if isinstance(_ocr_options, Unset):
|
|
86
|
+
ocr_options = UNSET
|
|
87
|
+
else:
|
|
88
|
+
ocr_options = ParseRequestOcrOptions.from_dict(_ocr_options)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
file_id = d.pop("file_id", UNSET)
|
|
94
|
+
|
|
95
|
+
_output_format = d.pop("output_format", UNSET)
|
|
96
|
+
output_format: ParseRequestOutputFormat | Unset
|
|
97
|
+
if isinstance(_output_format, Unset):
|
|
98
|
+
output_format = UNSET
|
|
99
|
+
else:
|
|
100
|
+
output_format = ParseRequestOutputFormat(_output_format)
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
parse_request = cls(
|
|
106
|
+
ocr_model=ocr_model,
|
|
107
|
+
ocr_options=ocr_options,
|
|
108
|
+
file_id=file_id,
|
|
109
|
+
output_format=output_format,
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
return parse_request
|
|
@@ -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="ParseRequestOcrOptions")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@_attrs_define
|
|
23
|
+
class ParseRequestOcrOptions:
|
|
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
|
+
parse_request_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 parse_request_ocr_options
|