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,242 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, cast
3
+ from urllib.parse import quote
4
+
5
+ import httpx
6
+
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...types import Response, UNSET
9
+ from ... import errors
10
+
11
+ from ...models.create_extraction_pipeline_request import CreateExtractionPipelineRequest
12
+ from ...models.error_response import ErrorResponse
13
+ from ...models.extraction_pipeline import ExtractionPipeline
14
+ from typing import cast
15
+
16
+
17
+
18
+ def _get_kwargs(
19
+ *,
20
+ body: CreateExtractionPipelineRequest,
21
+
22
+ ) -> dict[str, Any]:
23
+ headers: dict[str, Any] = {}
24
+
25
+
26
+
27
+
28
+
29
+
30
+ _kwargs: dict[str, Any] = {
31
+ "method": "post",
32
+ "url": "/pipelines",
33
+ }
34
+
35
+ _kwargs["json"] = body.to_dict()
36
+
37
+
38
+ headers["Content-Type"] = "application/json"
39
+
40
+ _kwargs["headers"] = headers
41
+ return _kwargs
42
+
43
+
44
+
45
+ def _parse_response(*, client: AuthenticatedClient | Client, response: httpx.Response) -> ErrorResponse | ExtractionPipeline | None:
46
+ if response.status_code == 200:
47
+ response_200 = ExtractionPipeline.from_dict(response.json())
48
+
49
+
50
+
51
+ return response_200
52
+
53
+ if response.status_code == 400:
54
+ response_400 = ErrorResponse.from_dict(response.json())
55
+
56
+
57
+
58
+ return response_400
59
+
60
+ if response.status_code == 401:
61
+ response_401 = ErrorResponse.from_dict(response.json())
62
+
63
+
64
+
65
+ return response_401
66
+
67
+ if response.status_code == 403:
68
+ response_403 = ErrorResponse.from_dict(response.json())
69
+
70
+
71
+
72
+ return response_403
73
+
74
+ if response.status_code == 409:
75
+ response_409 = ErrorResponse.from_dict(response.json())
76
+
77
+
78
+
79
+ return response_409
80
+
81
+ if response.status_code == 422:
82
+ response_422 = ErrorResponse.from_dict(response.json())
83
+
84
+
85
+
86
+ return response_422
87
+
88
+ if response.status_code == 429:
89
+ response_429 = ErrorResponse.from_dict(response.json())
90
+
91
+
92
+
93
+ return response_429
94
+
95
+ if client.raise_on_unexpected_status:
96
+ raise errors.UnexpectedStatus(response.status_code, response.content)
97
+ else:
98
+ return None
99
+
100
+
101
+ def _build_response(*, client: AuthenticatedClient | Client, response: httpx.Response) -> Response[ErrorResponse | ExtractionPipeline]:
102
+ return Response(
103
+ status_code=HTTPStatus(response.status_code),
104
+ content=response.content,
105
+ headers=response.headers,
106
+ parsed=_parse_response(client=client, response=response),
107
+ )
108
+
109
+
110
+ def sync_detailed(
111
+ *,
112
+ client: AuthenticatedClient | Client,
113
+ body: CreateExtractionPipelineRequest,
114
+
115
+ ) -> Response[ErrorResponse | ExtractionPipeline]:
116
+ """ Create a saved extraction pipeline
117
+
118
+ Persist a tenant-scoped extraction configuration (OCR model, LLM model, schema,
119
+ repair/grounding/reasoning). Validated with the same admission gates as extract.
120
+ Playground tokens and `ocr:full` keys are both accepted.
121
+
122
+ Args:
123
+ body (CreateExtractionPipelineRequest): Create a tenant-scoped saved extraction
124
+ configuration.
125
+
126
+ Raises:
127
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
128
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
129
+
130
+ Returns:
131
+ Response[ErrorResponse | ExtractionPipeline]
132
+ """
133
+
134
+
135
+ kwargs = _get_kwargs(
136
+ body=body,
137
+
138
+ )
139
+
140
+ response = client.get_httpx_client().request(
141
+ **kwargs,
142
+ )
143
+
144
+ return _build_response(client=client, response=response)
145
+
146
+ def sync(
147
+ *,
148
+ client: AuthenticatedClient | Client,
149
+ body: CreateExtractionPipelineRequest,
150
+
151
+ ) -> ErrorResponse | ExtractionPipeline | None:
152
+ """ Create a saved extraction pipeline
153
+
154
+ Persist a tenant-scoped extraction configuration (OCR model, LLM model, schema,
155
+ repair/grounding/reasoning). Validated with the same admission gates as extract.
156
+ Playground tokens and `ocr:full` keys are both accepted.
157
+
158
+ Args:
159
+ body (CreateExtractionPipelineRequest): Create a tenant-scoped saved extraction
160
+ configuration.
161
+
162
+ Raises:
163
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
164
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
165
+
166
+ Returns:
167
+ ErrorResponse | ExtractionPipeline
168
+ """
169
+
170
+
171
+ return sync_detailed(
172
+ client=client,
173
+ body=body,
174
+
175
+ ).parsed
176
+
177
+ async def asyncio_detailed(
178
+ *,
179
+ client: AuthenticatedClient | Client,
180
+ body: CreateExtractionPipelineRequest,
181
+
182
+ ) -> Response[ErrorResponse | ExtractionPipeline]:
183
+ """ Create a saved extraction pipeline
184
+
185
+ Persist a tenant-scoped extraction configuration (OCR model, LLM model, schema,
186
+ repair/grounding/reasoning). Validated with the same admission gates as extract.
187
+ Playground tokens and `ocr:full` keys are both accepted.
188
+
189
+ Args:
190
+ body (CreateExtractionPipelineRequest): Create a tenant-scoped saved extraction
191
+ configuration.
192
+
193
+ Raises:
194
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
195
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
196
+
197
+ Returns:
198
+ Response[ErrorResponse | ExtractionPipeline]
199
+ """
200
+
201
+
202
+ kwargs = _get_kwargs(
203
+ body=body,
204
+
205
+ )
206
+
207
+ response = await client.get_async_httpx_client().request(
208
+ **kwargs
209
+ )
210
+
211
+ return _build_response(client=client, response=response)
212
+
213
+ async def asyncio(
214
+ *,
215
+ client: AuthenticatedClient | Client,
216
+ body: CreateExtractionPipelineRequest,
217
+
218
+ ) -> ErrorResponse | ExtractionPipeline | None:
219
+ """ Create a saved extraction pipeline
220
+
221
+ Persist a tenant-scoped extraction configuration (OCR model, LLM model, schema,
222
+ repair/grounding/reasoning). Validated with the same admission gates as extract.
223
+ Playground tokens and `ocr:full` keys are both accepted.
224
+
225
+ Args:
226
+ body (CreateExtractionPipelineRequest): Create a tenant-scoped saved extraction
227
+ configuration.
228
+
229
+ Raises:
230
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
231
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
232
+
233
+ Returns:
234
+ ErrorResponse | ExtractionPipeline
235
+ """
236
+
237
+
238
+ return (await asyncio_detailed(
239
+ client=client,
240
+ body=body,
241
+
242
+ )).parsed
@@ -0,0 +1,212 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, cast
3
+ from urllib.parse import quote
4
+
5
+ import httpx
6
+
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...types import Response, UNSET
9
+ from ... import errors
10
+
11
+ from ...models.delete_extraction_pipeline_response import DeleteExtractionPipelineResponse
12
+ from ...models.error_response import ErrorResponse
13
+ from typing import cast
14
+
15
+
16
+
17
+ def _get_kwargs(
18
+ id: str,
19
+
20
+ ) -> dict[str, Any]:
21
+
22
+
23
+
24
+
25
+
26
+
27
+ _kwargs: dict[str, Any] = {
28
+ "method": "delete",
29
+ "url": "/pipelines/{id}".format(id=quote(str(id), safe=""),),
30
+ }
31
+
32
+
33
+ return _kwargs
34
+
35
+
36
+
37
+ def _parse_response(*, client: AuthenticatedClient | Client, response: httpx.Response) -> DeleteExtractionPipelineResponse | ErrorResponse | None:
38
+ if response.status_code == 200:
39
+ response_200 = DeleteExtractionPipelineResponse.from_dict(response.json())
40
+
41
+
42
+
43
+ return response_200
44
+
45
+ if response.status_code == 401:
46
+ response_401 = ErrorResponse.from_dict(response.json())
47
+
48
+
49
+
50
+ return response_401
51
+
52
+ if response.status_code == 403:
53
+ response_403 = ErrorResponse.from_dict(response.json())
54
+
55
+
56
+
57
+ return response_403
58
+
59
+ if response.status_code == 404:
60
+ response_404 = ErrorResponse.from_dict(response.json())
61
+
62
+
63
+
64
+ return response_404
65
+
66
+ if response.status_code == 429:
67
+ response_429 = ErrorResponse.from_dict(response.json())
68
+
69
+
70
+
71
+ return response_429
72
+
73
+ if client.raise_on_unexpected_status:
74
+ raise errors.UnexpectedStatus(response.status_code, response.content)
75
+ else:
76
+ return None
77
+
78
+
79
+ def _build_response(*, client: AuthenticatedClient | Client, response: httpx.Response) -> Response[DeleteExtractionPipelineResponse | ErrorResponse]:
80
+ return Response(
81
+ status_code=HTTPStatus(response.status_code),
82
+ content=response.content,
83
+ headers=response.headers,
84
+ parsed=_parse_response(client=client, response=response),
85
+ )
86
+
87
+
88
+ def sync_detailed(
89
+ id: str,
90
+ *,
91
+ client: AuthenticatedClient | Client,
92
+
93
+ ) -> Response[DeleteExtractionPipelineResponse | ErrorResponse]:
94
+ """ Soft-delete a saved extraction pipeline
95
+
96
+ Marks the pipeline deleted. Subsequent extract admits with that id return
97
+ `404 pipeline_not_found`. Historical jobs retain snapshotted config.
98
+
99
+ Args:
100
+ id (str): Prefixed public id for a saved extraction pipeline (`oppl_…`).
101
+
102
+ Raises:
103
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
104
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
105
+
106
+ Returns:
107
+ Response[DeleteExtractionPipelineResponse | ErrorResponse]
108
+ """
109
+
110
+
111
+ kwargs = _get_kwargs(
112
+ id=id,
113
+
114
+ )
115
+
116
+ response = client.get_httpx_client().request(
117
+ **kwargs,
118
+ )
119
+
120
+ return _build_response(client=client, response=response)
121
+
122
+ def sync(
123
+ id: str,
124
+ *,
125
+ client: AuthenticatedClient | Client,
126
+
127
+ ) -> DeleteExtractionPipelineResponse | ErrorResponse | None:
128
+ """ Soft-delete a saved extraction pipeline
129
+
130
+ Marks the pipeline deleted. Subsequent extract admits with that id return
131
+ `404 pipeline_not_found`. Historical jobs retain snapshotted config.
132
+
133
+ Args:
134
+ id (str): Prefixed public id for a saved extraction pipeline (`oppl_…`).
135
+
136
+ Raises:
137
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
138
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
139
+
140
+ Returns:
141
+ DeleteExtractionPipelineResponse | ErrorResponse
142
+ """
143
+
144
+
145
+ return sync_detailed(
146
+ id=id,
147
+ client=client,
148
+
149
+ ).parsed
150
+
151
+ async def asyncio_detailed(
152
+ id: str,
153
+ *,
154
+ client: AuthenticatedClient | Client,
155
+
156
+ ) -> Response[DeleteExtractionPipelineResponse | ErrorResponse]:
157
+ """ Soft-delete a saved extraction pipeline
158
+
159
+ Marks the pipeline deleted. Subsequent extract admits with that id return
160
+ `404 pipeline_not_found`. Historical jobs retain snapshotted config.
161
+
162
+ Args:
163
+ id (str): Prefixed public id for a saved extraction pipeline (`oppl_…`).
164
+
165
+ Raises:
166
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
167
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
168
+
169
+ Returns:
170
+ Response[DeleteExtractionPipelineResponse | ErrorResponse]
171
+ """
172
+
173
+
174
+ kwargs = _get_kwargs(
175
+ id=id,
176
+
177
+ )
178
+
179
+ response = await client.get_async_httpx_client().request(
180
+ **kwargs
181
+ )
182
+
183
+ return _build_response(client=client, response=response)
184
+
185
+ async def asyncio(
186
+ id: str,
187
+ *,
188
+ client: AuthenticatedClient | Client,
189
+
190
+ ) -> DeleteExtractionPipelineResponse | ErrorResponse | None:
191
+ """ Soft-delete a saved extraction pipeline
192
+
193
+ Marks the pipeline deleted. Subsequent extract admits with that id return
194
+ `404 pipeline_not_found`. Historical jobs retain snapshotted config.
195
+
196
+ Args:
197
+ id (str): Prefixed public id for a saved extraction pipeline (`oppl_…`).
198
+
199
+ Raises:
200
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
201
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
202
+
203
+ Returns:
204
+ DeleteExtractionPipelineResponse | ErrorResponse
205
+ """
206
+
207
+
208
+ return (await asyncio_detailed(
209
+ id=id,
210
+ client=client,
211
+
212
+ )).parsed
@@ -0,0 +1,212 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, cast
3
+ from urllib.parse import quote
4
+
5
+ import httpx
6
+
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...types import Response, UNSET
9
+ from ... import errors
10
+
11
+ from ...models.error_response import ErrorResponse
12
+ from ...models.extraction_pipeline import ExtractionPipeline
13
+ from typing import cast
14
+
15
+
16
+
17
+ def _get_kwargs(
18
+ id: str,
19
+
20
+ ) -> dict[str, Any]:
21
+
22
+
23
+
24
+
25
+
26
+
27
+ _kwargs: dict[str, Any] = {
28
+ "method": "get",
29
+ "url": "/pipelines/{id}".format(id=quote(str(id), safe=""),),
30
+ }
31
+
32
+
33
+ return _kwargs
34
+
35
+
36
+
37
+ def _parse_response(*, client: AuthenticatedClient | Client, response: httpx.Response) -> ErrorResponse | ExtractionPipeline | None:
38
+ if response.status_code == 200:
39
+ response_200 = ExtractionPipeline.from_dict(response.json())
40
+
41
+
42
+
43
+ return response_200
44
+
45
+ if response.status_code == 401:
46
+ response_401 = ErrorResponse.from_dict(response.json())
47
+
48
+
49
+
50
+ return response_401
51
+
52
+ if response.status_code == 403:
53
+ response_403 = ErrorResponse.from_dict(response.json())
54
+
55
+
56
+
57
+ return response_403
58
+
59
+ if response.status_code == 404:
60
+ response_404 = ErrorResponse.from_dict(response.json())
61
+
62
+
63
+
64
+ return response_404
65
+
66
+ if response.status_code == 429:
67
+ response_429 = ErrorResponse.from_dict(response.json())
68
+
69
+
70
+
71
+ return response_429
72
+
73
+ if client.raise_on_unexpected_status:
74
+ raise errors.UnexpectedStatus(response.status_code, response.content)
75
+ else:
76
+ return None
77
+
78
+
79
+ def _build_response(*, client: AuthenticatedClient | Client, response: httpx.Response) -> Response[ErrorResponse | ExtractionPipeline]:
80
+ return Response(
81
+ status_code=HTTPStatus(response.status_code),
82
+ content=response.content,
83
+ headers=response.headers,
84
+ parsed=_parse_response(client=client, response=response),
85
+ )
86
+
87
+
88
+ def sync_detailed(
89
+ id: str,
90
+ *,
91
+ client: AuthenticatedClient | Client,
92
+
93
+ ) -> Response[ErrorResponse | ExtractionPipeline]:
94
+ """ Get a saved extraction pipeline
95
+
96
+ Return one active pipeline. Missing, deleted, and cross-tenant ids return
97
+ `404 pipeline_not_found`.
98
+
99
+ Args:
100
+ id (str): Prefixed public id for a saved extraction pipeline (`oppl_…`).
101
+
102
+ Raises:
103
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
104
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
105
+
106
+ Returns:
107
+ Response[ErrorResponse | ExtractionPipeline]
108
+ """
109
+
110
+
111
+ kwargs = _get_kwargs(
112
+ id=id,
113
+
114
+ )
115
+
116
+ response = client.get_httpx_client().request(
117
+ **kwargs,
118
+ )
119
+
120
+ return _build_response(client=client, response=response)
121
+
122
+ def sync(
123
+ id: str,
124
+ *,
125
+ client: AuthenticatedClient | Client,
126
+
127
+ ) -> ErrorResponse | ExtractionPipeline | None:
128
+ """ Get a saved extraction pipeline
129
+
130
+ Return one active pipeline. Missing, deleted, and cross-tenant ids return
131
+ `404 pipeline_not_found`.
132
+
133
+ Args:
134
+ id (str): Prefixed public id for a saved extraction pipeline (`oppl_…`).
135
+
136
+ Raises:
137
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
138
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
139
+
140
+ Returns:
141
+ ErrorResponse | ExtractionPipeline
142
+ """
143
+
144
+
145
+ return sync_detailed(
146
+ id=id,
147
+ client=client,
148
+
149
+ ).parsed
150
+
151
+ async def asyncio_detailed(
152
+ id: str,
153
+ *,
154
+ client: AuthenticatedClient | Client,
155
+
156
+ ) -> Response[ErrorResponse | ExtractionPipeline]:
157
+ """ Get a saved extraction pipeline
158
+
159
+ Return one active pipeline. Missing, deleted, and cross-tenant ids return
160
+ `404 pipeline_not_found`.
161
+
162
+ Args:
163
+ id (str): Prefixed public id for a saved extraction pipeline (`oppl_…`).
164
+
165
+ Raises:
166
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
167
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
168
+
169
+ Returns:
170
+ Response[ErrorResponse | ExtractionPipeline]
171
+ """
172
+
173
+
174
+ kwargs = _get_kwargs(
175
+ id=id,
176
+
177
+ )
178
+
179
+ response = await client.get_async_httpx_client().request(
180
+ **kwargs
181
+ )
182
+
183
+ return _build_response(client=client, response=response)
184
+
185
+ async def asyncio(
186
+ id: str,
187
+ *,
188
+ client: AuthenticatedClient | Client,
189
+
190
+ ) -> ErrorResponse | ExtractionPipeline | None:
191
+ """ Get a saved extraction pipeline
192
+
193
+ Return one active pipeline. Missing, deleted, and cross-tenant ids return
194
+ `404 pipeline_not_found`.
195
+
196
+ Args:
197
+ id (str): Prefixed public id for a saved extraction pipeline (`oppl_…`).
198
+
199
+ Raises:
200
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
201
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
202
+
203
+ Returns:
204
+ ErrorResponse | ExtractionPipeline
205
+ """
206
+
207
+
208
+ return (await asyncio_detailed(
209
+ id=id,
210
+ client=client,
211
+
212
+ )).parsed