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,134 @@
|
|
|
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.ocr_llm_model_catalog_entry_reasoning_type_0_default_effort_type_0 import OcrLlmModelCatalogEntryReasoningType0DefaultEffortType0
|
|
12
|
+
from ..models.ocr_llm_model_catalog_entry_reasoning_type_0_supported_efforts_type_0_item import OcrLlmModelCatalogEntryReasoningType0SupportedEffortsType0Item
|
|
13
|
+
from typing import cast
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
T = TypeVar("T", bound="OcrLlmModelCatalogEntryReasoningType0")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@_attrs_define
|
|
25
|
+
class OcrLlmModelCatalogEntryReasoningType0:
|
|
26
|
+
"""
|
|
27
|
+
Attributes:
|
|
28
|
+
supported_efforts (list[OcrLlmModelCatalogEntryReasoningType0SupportedEffortsType0Item] | None):
|
|
29
|
+
default_effort (None | OcrLlmModelCatalogEntryReasoningType0DefaultEffortType0):
|
|
30
|
+
mandatory (bool):
|
|
31
|
+
supports_max_tokens (bool):
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
supported_efforts: list[OcrLlmModelCatalogEntryReasoningType0SupportedEffortsType0Item] | None
|
|
35
|
+
default_effort: None | OcrLlmModelCatalogEntryReasoningType0DefaultEffortType0
|
|
36
|
+
mandatory: bool
|
|
37
|
+
supports_max_tokens: bool
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def to_dict(self) -> dict[str, Any]:
|
|
44
|
+
supported_efforts: list[str] | None
|
|
45
|
+
if isinstance(self.supported_efforts, list):
|
|
46
|
+
supported_efforts = []
|
|
47
|
+
for supported_efforts_type_0_item_data in self.supported_efforts:
|
|
48
|
+
supported_efforts_type_0_item = supported_efforts_type_0_item_data.value
|
|
49
|
+
supported_efforts.append(supported_efforts_type_0_item)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
else:
|
|
53
|
+
supported_efforts = self.supported_efforts
|
|
54
|
+
|
|
55
|
+
default_effort: None | str
|
|
56
|
+
if isinstance(self.default_effort, OcrLlmModelCatalogEntryReasoningType0DefaultEffortType0):
|
|
57
|
+
default_effort = self.default_effort.value
|
|
58
|
+
else:
|
|
59
|
+
default_effort = self.default_effort
|
|
60
|
+
|
|
61
|
+
mandatory = self.mandatory
|
|
62
|
+
|
|
63
|
+
supports_max_tokens = self.supports_max_tokens
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
field_dict: dict[str, Any] = {}
|
|
67
|
+
|
|
68
|
+
field_dict.update({
|
|
69
|
+
"supported_efforts": supported_efforts,
|
|
70
|
+
"default_effort": default_effort,
|
|
71
|
+
"mandatory": mandatory,
|
|
72
|
+
"supports_max_tokens": supports_max_tokens,
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
return field_dict
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
@classmethod
|
|
80
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
81
|
+
d = dict(src_dict)
|
|
82
|
+
def _parse_supported_efforts(data: object) -> list[OcrLlmModelCatalogEntryReasoningType0SupportedEffortsType0Item] | None:
|
|
83
|
+
if data is None:
|
|
84
|
+
return data
|
|
85
|
+
try:
|
|
86
|
+
if not isinstance(data, list):
|
|
87
|
+
raise TypeError()
|
|
88
|
+
supported_efforts_type_0 = []
|
|
89
|
+
_supported_efforts_type_0 = data
|
|
90
|
+
for supported_efforts_type_0_item_data in (_supported_efforts_type_0):
|
|
91
|
+
supported_efforts_type_0_item = OcrLlmModelCatalogEntryReasoningType0SupportedEffortsType0Item(supported_efforts_type_0_item_data)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
supported_efforts_type_0.append(supported_efforts_type_0_item)
|
|
96
|
+
|
|
97
|
+
return supported_efforts_type_0
|
|
98
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
99
|
+
pass
|
|
100
|
+
return cast(list[OcrLlmModelCatalogEntryReasoningType0SupportedEffortsType0Item] | None, data)
|
|
101
|
+
|
|
102
|
+
supported_efforts = _parse_supported_efforts(d.pop("supported_efforts"))
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
def _parse_default_effort(data: object) -> None | OcrLlmModelCatalogEntryReasoningType0DefaultEffortType0:
|
|
106
|
+
if data is None:
|
|
107
|
+
return data
|
|
108
|
+
try:
|
|
109
|
+
if not isinstance(data, str):
|
|
110
|
+
raise TypeError()
|
|
111
|
+
default_effort_type_0 = OcrLlmModelCatalogEntryReasoningType0DefaultEffortType0(data)
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
return default_effort_type_0
|
|
116
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
117
|
+
pass
|
|
118
|
+
return cast(None | OcrLlmModelCatalogEntryReasoningType0DefaultEffortType0, data)
|
|
119
|
+
|
|
120
|
+
default_effort = _parse_default_effort(d.pop("default_effort"))
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
mandatory = d.pop("mandatory")
|
|
124
|
+
|
|
125
|
+
supports_max_tokens = d.pop("supports_max_tokens")
|
|
126
|
+
|
|
127
|
+
ocr_llm_model_catalog_entry_reasoning_type_0 = cls(
|
|
128
|
+
supported_efforts=supported_efforts,
|
|
129
|
+
default_effort=default_effort,
|
|
130
|
+
mandatory=mandatory,
|
|
131
|
+
supports_max_tokens=supports_max_tokens,
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
return ocr_llm_model_catalog_entry_reasoning_type_0
|
openparser/_generated/models/ocr_llm_model_catalog_entry_reasoning_type_0_default_effort_type_0.py
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
class OcrLlmModelCatalogEntryReasoningType0DefaultEffortType0(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,13 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
class OcrLlmModelCatalogEntryReasoningType0SupportedEffortsType0Item(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,150 @@
|
|
|
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.ocr_llm_models_response_mode import OcrLlmModelsResponseMode
|
|
12
|
+
from dateutil.parser import isoparse
|
|
13
|
+
from typing import cast
|
|
14
|
+
import datetime
|
|
15
|
+
|
|
16
|
+
if TYPE_CHECKING:
|
|
17
|
+
from ..models.ocr_llm_model_catalog_entry import OcrLlmModelCatalogEntry
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
T = TypeVar("T", bound="OcrLlmModelsResponse")
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@_attrs_define
|
|
28
|
+
class OcrLlmModelsResponse:
|
|
29
|
+
""" Normalized OpenRouter LLM catalog for OpenParser extraction. Includes catalog version,
|
|
30
|
+
stale flag, and pagination metadata for search mode.
|
|
31
|
+
|
|
32
|
+
Attributes:
|
|
33
|
+
mode (OcrLlmModelsResponseMode):
|
|
34
|
+
catalog_version (str):
|
|
35
|
+
fetched_at (datetime.datetime):
|
|
36
|
+
stale (bool):
|
|
37
|
+
data (list[OcrLlmModelCatalogEntry]):
|
|
38
|
+
page (int):
|
|
39
|
+
limit (int):
|
|
40
|
+
total (int):
|
|
41
|
+
has_more (bool):
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
mode: OcrLlmModelsResponseMode
|
|
45
|
+
catalog_version: str
|
|
46
|
+
fetched_at: datetime.datetime
|
|
47
|
+
stale: bool
|
|
48
|
+
data: list[OcrLlmModelCatalogEntry]
|
|
49
|
+
page: int
|
|
50
|
+
limit: int
|
|
51
|
+
total: int
|
|
52
|
+
has_more: bool
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def to_dict(self) -> dict[str, Any]:
|
|
59
|
+
from ..models.ocr_llm_model_catalog_entry import OcrLlmModelCatalogEntry
|
|
60
|
+
mode = self.mode.value
|
|
61
|
+
|
|
62
|
+
catalog_version = self.catalog_version
|
|
63
|
+
|
|
64
|
+
fetched_at = self.fetched_at.isoformat()
|
|
65
|
+
|
|
66
|
+
stale = self.stale
|
|
67
|
+
|
|
68
|
+
data = []
|
|
69
|
+
for data_item_data in self.data:
|
|
70
|
+
data_item = data_item_data.to_dict()
|
|
71
|
+
data.append(data_item)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
page = self.page
|
|
76
|
+
|
|
77
|
+
limit = self.limit
|
|
78
|
+
|
|
79
|
+
total = self.total
|
|
80
|
+
|
|
81
|
+
has_more = self.has_more
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
field_dict: dict[str, Any] = {}
|
|
85
|
+
|
|
86
|
+
field_dict.update({
|
|
87
|
+
"mode": mode,
|
|
88
|
+
"catalog_version": catalog_version,
|
|
89
|
+
"fetched_at": fetched_at,
|
|
90
|
+
"stale": stale,
|
|
91
|
+
"data": data,
|
|
92
|
+
"page": page,
|
|
93
|
+
"limit": limit,
|
|
94
|
+
"total": total,
|
|
95
|
+
"has_more": has_more,
|
|
96
|
+
})
|
|
97
|
+
|
|
98
|
+
return field_dict
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
@classmethod
|
|
103
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
104
|
+
from ..models.ocr_llm_model_catalog_entry import OcrLlmModelCatalogEntry
|
|
105
|
+
d = dict(src_dict)
|
|
106
|
+
mode = OcrLlmModelsResponseMode(d.pop("mode"))
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
catalog_version = d.pop("catalog_version")
|
|
112
|
+
|
|
113
|
+
fetched_at = isoparse(d.pop("fetched_at"))
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
stale = d.pop("stale")
|
|
119
|
+
|
|
120
|
+
data = []
|
|
121
|
+
_data = d.pop("data")
|
|
122
|
+
for data_item_data in (_data):
|
|
123
|
+
data_item = OcrLlmModelCatalogEntry.from_dict(data_item_data)
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
data.append(data_item)
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
page = d.pop("page")
|
|
131
|
+
|
|
132
|
+
limit = d.pop("limit")
|
|
133
|
+
|
|
134
|
+
total = d.pop("total")
|
|
135
|
+
|
|
136
|
+
has_more = d.pop("has_more")
|
|
137
|
+
|
|
138
|
+
ocr_llm_models_response = cls(
|
|
139
|
+
mode=mode,
|
|
140
|
+
catalog_version=catalog_version,
|
|
141
|
+
fetched_at=fetched_at,
|
|
142
|
+
stale=stale,
|
|
143
|
+
data=data,
|
|
144
|
+
page=page,
|
|
145
|
+
limit=limit,
|
|
146
|
+
total=total,
|
|
147
|
+
has_more=has_more,
|
|
148
|
+
)
|
|
149
|
+
|
|
150
|
+
return ocr_llm_models_response
|
|
@@ -0,0 +1,131 @@
|
|
|
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.ocr_model_catalog_entry_availability import OcrModelCatalogEntryAvailability
|
|
12
|
+
from typing import cast
|
|
13
|
+
|
|
14
|
+
if TYPE_CHECKING:
|
|
15
|
+
from ..models.ocr_model_catalog_entry_capabilities import OcrModelCatalogEntryCapabilities
|
|
16
|
+
from ..models.ocr_model_catalog_entry_option_defaults import OcrModelCatalogEntryOptionDefaults
|
|
17
|
+
from ..models.ocr_model_catalog_entry_pricing import OcrModelCatalogEntryPricing
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
T = TypeVar("T", bound="OcrModelCatalogEntry")
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@_attrs_define
|
|
28
|
+
class OcrModelCatalogEntry:
|
|
29
|
+
""" Public OCR model registry entry. `pricing.usd_per_page` is the
|
|
30
|
+
customer retail page price (`basis: customer_retail`).
|
|
31
|
+
|
|
32
|
+
Attributes:
|
|
33
|
+
id (str):
|
|
34
|
+
label (str):
|
|
35
|
+
is_default (bool):
|
|
36
|
+
capabilities (OcrModelCatalogEntryCapabilities):
|
|
37
|
+
option_defaults (OcrModelCatalogEntryOptionDefaults):
|
|
38
|
+
pricing (OcrModelCatalogEntryPricing):
|
|
39
|
+
availability (OcrModelCatalogEntryAvailability):
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
id: str
|
|
43
|
+
label: str
|
|
44
|
+
is_default: bool
|
|
45
|
+
capabilities: OcrModelCatalogEntryCapabilities
|
|
46
|
+
option_defaults: OcrModelCatalogEntryOptionDefaults
|
|
47
|
+
pricing: OcrModelCatalogEntryPricing
|
|
48
|
+
availability: OcrModelCatalogEntryAvailability
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def to_dict(self) -> dict[str, Any]:
|
|
55
|
+
from ..models.ocr_model_catalog_entry_capabilities import OcrModelCatalogEntryCapabilities
|
|
56
|
+
from ..models.ocr_model_catalog_entry_option_defaults import OcrModelCatalogEntryOptionDefaults
|
|
57
|
+
from ..models.ocr_model_catalog_entry_pricing import OcrModelCatalogEntryPricing
|
|
58
|
+
id = self.id
|
|
59
|
+
|
|
60
|
+
label = self.label
|
|
61
|
+
|
|
62
|
+
is_default = self.is_default
|
|
63
|
+
|
|
64
|
+
capabilities = self.capabilities.to_dict()
|
|
65
|
+
|
|
66
|
+
option_defaults = self.option_defaults.to_dict()
|
|
67
|
+
|
|
68
|
+
pricing = self.pricing.to_dict()
|
|
69
|
+
|
|
70
|
+
availability = self.availability.value
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
field_dict: dict[str, Any] = {}
|
|
74
|
+
|
|
75
|
+
field_dict.update({
|
|
76
|
+
"id": id,
|
|
77
|
+
"label": label,
|
|
78
|
+
"is_default": is_default,
|
|
79
|
+
"capabilities": capabilities,
|
|
80
|
+
"option_defaults": option_defaults,
|
|
81
|
+
"pricing": pricing,
|
|
82
|
+
"availability": availability,
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
return field_dict
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
@classmethod
|
|
90
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
91
|
+
from ..models.ocr_model_catalog_entry_capabilities import OcrModelCatalogEntryCapabilities
|
|
92
|
+
from ..models.ocr_model_catalog_entry_option_defaults import OcrModelCatalogEntryOptionDefaults
|
|
93
|
+
from ..models.ocr_model_catalog_entry_pricing import OcrModelCatalogEntryPricing
|
|
94
|
+
d = dict(src_dict)
|
|
95
|
+
id = d.pop("id")
|
|
96
|
+
|
|
97
|
+
label = d.pop("label")
|
|
98
|
+
|
|
99
|
+
is_default = d.pop("is_default")
|
|
100
|
+
|
|
101
|
+
capabilities = OcrModelCatalogEntryCapabilities.from_dict(d.pop("capabilities"))
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
option_defaults = OcrModelCatalogEntryOptionDefaults.from_dict(d.pop("option_defaults"))
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
pricing = OcrModelCatalogEntryPricing.from_dict(d.pop("pricing"))
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
availability = OcrModelCatalogEntryAvailability(d.pop("availability"))
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
ocr_model_catalog_entry = cls(
|
|
122
|
+
id=id,
|
|
123
|
+
label=label,
|
|
124
|
+
is_default=is_default,
|
|
125
|
+
capabilities=capabilities,
|
|
126
|
+
option_defaults=option_defaults,
|
|
127
|
+
pricing=pricing,
|
|
128
|
+
availability=availability,
|
|
129
|
+
)
|
|
130
|
+
|
|
131
|
+
return ocr_model_catalog_entry
|
|
@@ -0,0 +1,97 @@
|
|
|
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 typing import cast
|
|
12
|
+
|
|
13
|
+
if TYPE_CHECKING:
|
|
14
|
+
from ..models.ocr_model_catalog_entry_capabilities_options import OcrModelCatalogEntryCapabilitiesOptions
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
T = TypeVar("T", bound="OcrModelCatalogEntryCapabilities")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@_attrs_define
|
|
25
|
+
class OcrModelCatalogEntryCapabilities:
|
|
26
|
+
"""
|
|
27
|
+
Attributes:
|
|
28
|
+
parse (bool):
|
|
29
|
+
extract_source (bool):
|
|
30
|
+
markdown (bool):
|
|
31
|
+
regions (bool):
|
|
32
|
+
options (OcrModelCatalogEntryCapabilitiesOptions):
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
parse: bool
|
|
36
|
+
extract_source: bool
|
|
37
|
+
markdown: bool
|
|
38
|
+
regions: bool
|
|
39
|
+
options: OcrModelCatalogEntryCapabilitiesOptions
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def to_dict(self) -> dict[str, Any]:
|
|
46
|
+
from ..models.ocr_model_catalog_entry_capabilities_options import OcrModelCatalogEntryCapabilitiesOptions
|
|
47
|
+
parse = self.parse
|
|
48
|
+
|
|
49
|
+
extract_source = self.extract_source
|
|
50
|
+
|
|
51
|
+
markdown = self.markdown
|
|
52
|
+
|
|
53
|
+
regions = self.regions
|
|
54
|
+
|
|
55
|
+
options = self.options.to_dict()
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
field_dict: dict[str, Any] = {}
|
|
59
|
+
|
|
60
|
+
field_dict.update({
|
|
61
|
+
"parse": parse,
|
|
62
|
+
"extract_source": extract_source,
|
|
63
|
+
"markdown": markdown,
|
|
64
|
+
"regions": regions,
|
|
65
|
+
"options": options,
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
return field_dict
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
@classmethod
|
|
73
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
74
|
+
from ..models.ocr_model_catalog_entry_capabilities_options import OcrModelCatalogEntryCapabilitiesOptions
|
|
75
|
+
d = dict(src_dict)
|
|
76
|
+
parse = d.pop("parse")
|
|
77
|
+
|
|
78
|
+
extract_source = d.pop("extract_source")
|
|
79
|
+
|
|
80
|
+
markdown = d.pop("markdown")
|
|
81
|
+
|
|
82
|
+
regions = d.pop("regions")
|
|
83
|
+
|
|
84
|
+
options = OcrModelCatalogEntryCapabilitiesOptions.from_dict(d.pop("options"))
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
ocr_model_catalog_entry_capabilities = cls(
|
|
90
|
+
parse=parse,
|
|
91
|
+
extract_source=extract_source,
|
|
92
|
+
markdown=markdown,
|
|
93
|
+
regions=regions,
|
|
94
|
+
options=options,
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
return ocr_model_catalog_entry_capabilities
|
|
@@ -0,0 +1,73 @@
|
|
|
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="OcrModelCatalogEntryCapabilitiesOptions")
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@_attrs_define
|
|
22
|
+
class OcrModelCatalogEntryCapabilitiesOptions:
|
|
23
|
+
"""
|
|
24
|
+
Attributes:
|
|
25
|
+
image_block_ocr (bool):
|
|
26
|
+
chart_recognition (bool):
|
|
27
|
+
merge_layout_blocks (bool):
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
image_block_ocr: bool
|
|
31
|
+
chart_recognition: bool
|
|
32
|
+
merge_layout_blocks: bool
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def to_dict(self) -> dict[str, Any]:
|
|
39
|
+
image_block_ocr = self.image_block_ocr
|
|
40
|
+
|
|
41
|
+
chart_recognition = self.chart_recognition
|
|
42
|
+
|
|
43
|
+
merge_layout_blocks = self.merge_layout_blocks
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
field_dict: dict[str, Any] = {}
|
|
47
|
+
|
|
48
|
+
field_dict.update({
|
|
49
|
+
"image_block_ocr": image_block_ocr,
|
|
50
|
+
"chart_recognition": chart_recognition,
|
|
51
|
+
"merge_layout_blocks": merge_layout_blocks,
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
return field_dict
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
@classmethod
|
|
59
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
60
|
+
d = dict(src_dict)
|
|
61
|
+
image_block_ocr = d.pop("image_block_ocr")
|
|
62
|
+
|
|
63
|
+
chart_recognition = d.pop("chart_recognition")
|
|
64
|
+
|
|
65
|
+
merge_layout_blocks = d.pop("merge_layout_blocks")
|
|
66
|
+
|
|
67
|
+
ocr_model_catalog_entry_capabilities_options = cls(
|
|
68
|
+
image_block_ocr=image_block_ocr,
|
|
69
|
+
chart_recognition=chart_recognition,
|
|
70
|
+
merge_layout_blocks=merge_layout_blocks,
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
return ocr_model_catalog_entry_capabilities_options
|