Skip to content

Commit ff7ea62

Browse files
committed
## Python SDK Changes:
* `unstructured_client.destinations.get_destination()`: * `response` **Changed** (Breaking ⚠️) * `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.workflows.run_workflow()`: * `request.body_run_workflow.input_files` **Changed** (Breaking ⚠️) * `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.sources.update_source()`: * `request.update_source_connector.config` **Changed** * `response` **Changed** (Breaking ⚠️) * `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.sources.list_sources()`: * `request.source_type` **Changed** * `response.[]` **Changed** (Breaking ⚠️) * `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.sources.get_source()`: * `response` **Changed** (Breaking ⚠️) * `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.sources.create_source()`: * `request.create_source_connector` **Changed** (Breaking ⚠️) * `response` **Changed** (Breaking ⚠️) * `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.jobs.create_job()`: * `request.body_create_job.input_files` **Changed** (Breaking ⚠️) * `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.destinations.update_destination()`: * `request.update_destination_connector.config` **Changed** * `response` **Changed** (Breaking ⚠️) * `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.destinations.create_destination()`: * `request.create_destination_connector` **Changed** (Breaking ⚠️) * `response` **Changed** (Breaking ⚠️) * `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.destinations.list_destinations()`: * `request.destination_type` **Changed** * `response.[]` **Changed** (Breaking ⚠️) * `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.destinations.delete_destination()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.sources.delete_source()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.oauth.device_code_api_v1_oauth_device_code_post()`: **Added** * `unstructured_client.destinations.create_connection_check_destinations()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.jobs.cancel_job()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.oauth.whoami_api_v1_oauth_whoami_get()`: **Added** * `unstructured_client.jobs.download_job_output()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.jobs.get_job()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.jobs.get_job_details()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.jobs.get_job_failed_files()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.jobs.list_jobs()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.sources.create_connection_check_sources()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.oauth.verify_submit_api_v1_oauth_verify_post()`: **Added** * `unstructured_client.destinations.get_connection_check_destinations()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.sources.get_connection_check_sources()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.oauth.verify_page_api_v1_oauth_verify_get()`: **Added** * `unstructured_client.oauth.token_api_v1_oauth_token_post()`: **Added** * `unstructured_client.oauth.login_redirect_api_v1_oauth_login_get()`: **Added** * `unstructured_client.templates.get_template()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.templates.list_templates()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.workflows.create_workflow()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.workflows.delete_workflow()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.workflows.get_workflow()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.workflows.list_workflows()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.oauth.keycloak_callback_api_v1_oauth_callback_get()`: **Added** * `unstructured_client.workflows.update_workflow()`: `error.detail.union(Array<ValidationError>)[]` **Changed** * `unstructured_client.general.partition()`: * `request.partition_parameters` **Changed** * `error.detail.union(Array<ValidationError>)[]` **Changed**
1 parent fbd80fd commit ff7ea62

File tree

105 files changed

+3902
-508
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+3902
-508
lines changed

.speakeasy/gen.lock

Lines changed: 396 additions & 208 deletions
Large diffs are not rendered by default.

.speakeasy/workflow.lock

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@ speakeasyVersion: 1.601.0
22
sources:
33
my-source:
44
sourceNamespace: my-source
5-
sourceRevisionDigest: sha256:bb294c5acf766035792f752ed036cc8e4183e5f23b75fa5cb885b7499dcf6306
6-
sourceBlobDigest: sha256:555b59cc03c5a4e9bfb3817e48dec67a8b8e13a6a46712cf5e23a6230fec359e
5+
sourceRevisionDigest: sha256:48e10a44ab3e530f1a4359e5820e1d00229b57ef652bf55188ce92e7f63e0673
6+
sourceBlobDigest: sha256:49e58f095f9d21500559be8590d95e208648560b731298bd4fc057de417872c9
77
tags:
88
- latest
9-
- speakeasy-sdk-regen-1768522382
10-
- 1.2.28
9+
- speakeasy-sdk-regen-1770164039
10+
- 1.5.12
1111
targets:
1212
unstructured-python:
1313
source: my-source
1414
sourceNamespace: my-source
15-
sourceRevisionDigest: sha256:bb294c5acf766035792f752ed036cc8e4183e5f23b75fa5cb885b7499dcf6306
16-
sourceBlobDigest: sha256:555b59cc03c5a4e9bfb3817e48dec67a8b8e13a6a46712cf5e23a6230fec359e
15+
sourceRevisionDigest: sha256:48e10a44ab3e530f1a4359e5820e1d00229b57ef652bf55188ce92e7f63e0673
16+
sourceBlobDigest: sha256:49e58f095f9d21500559be8590d95e208648560b731298bd4fc057de417872c9
1717
codeSamplesNamespace: my-source-code-samples
18-
codeSamplesRevisionDigest: sha256:4dd3dc9d9824533e6a8e70ef4a0db808b125deb8c266a62a99a11c64162b7595
18+
codeSamplesRevisionDigest: sha256:8591458a45bd386b5b63bb003be94e6343a885666337ac02831cb9315f075531
1919
workflow:
2020
workflowVersion: 1.0.0
2121
speakeasyVersion: latest

README.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ with UnstructuredClient() as uc_client:
208208
### Error Classes
209209
**Primary errors:**
210210
* [`UnstructuredClientError`](./src/unstructured_client/models/errors/unstructuredclienterror.py): The base class for HTTP error responses.
211-
* [`HTTPValidationError`](./src/unstructured_client/models/errors/httpvalidationerror.py): Validation Error. Status code `422`.
211+
* [`HTTPValidationError`](./src/unstructured_client/models/errors/httpvalidationerror.py): Validation Error. Status code `422`. *
212212

213213
<details><summary>Less common errors (6)</summary>
214214

@@ -221,7 +221,7 @@ with UnstructuredClient() as uc_client:
221221

222222

223223
**Inherit from [`UnstructuredClientError`](./src/unstructured_client/models/errors/unstructuredclienterror.py)**:
224-
* [`ServerError`](./src/unstructured_client/models/errors/servererror.py): Server Error. Status code `5XX`. Applicable to 1 of 30 methods.*
224+
* [`ServerError`](./src/unstructured_client/models/errors/servererror.py): Server Error. Status code `5XX`. Applicable to 1 of 37 methods.*
225225
* [`ResponseValidationError`](./src/unstructured_client/models/errors/responsevalidationerror.py): Type mismatch between the response data and the expected Pydantic model. Provides access to the Pydantic validation error via the `cause` attribute.
226226

227227
</details>
@@ -439,20 +439,33 @@ Certain SDK methods accept file objects as part of a request body or multi-part
439439
440440
```python
441441
from unstructured_client import UnstructuredClient
442+
from unstructured_client.models import shared
442443

443444

444445
with UnstructuredClient() as uc_client:
445446

446-
res = uc_client.jobs.create_job(request={
447-
"body_create_job": {
448-
"request_data": "<value>",
447+
res = uc_client.general.partition(request={
448+
"partition_parameters": {
449+
"chunking_strategy": "by_title",
450+
"files": {
451+
"content": open("example.file", "rb"),
452+
"file_name": "example.file",
453+
},
454+
"split_pdf_cache_tmp_data_dir": "<value>",
455+
"split_pdf_page_range": [
456+
1,
457+
10,
458+
],
459+
"strategy": shared.Strategy.AUTO,
460+
"vlm_model": "gpt-4o",
461+
"vlm_model_provider": shared.VLMModelProvider.OPENAI,
449462
},
450463
})
451464

452-
assert res.job_information is not None
465+
assert res.elements is not None
453466

454467
# Handle response
455-
print(res.job_information)
468+
print(res.elements)
456469

457470
```
458471
<!-- End File uploads [file-upload] -->

RELEASES.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,4 +1190,14 @@ Based on:
11901190
### Generated
11911191
- [python v0.42.10] .
11921192
### Releases
1193+
- [PyPI v0.42.10] https://pypi.org/project/unstructured-client/0.42.10 - .
1194+
1195+
## 2026-03-23 00:18:20
1196+
### Changes
1197+
Based on:
1198+
- OpenAPI Doc
1199+
- Speakeasy CLI 1.601.0 (2.680.0) https://github.com/speakeasy-api/speakeasy
1200+
### Generated
1201+
- [python v0.42.10] .
1202+
### Releases
11931203
- [PyPI v0.42.10] https://pypi.org/project/unstructured-client/0.42.10 - .

codeSamples.yaml

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ actions:
1414
"x-codeSamples":
1515
- "lang": "python"
1616
"label": "create_destination"
17-
"source": "from unstructured_client import UnstructuredClient\nfrom unstructured_client.models import operations, shared\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.destinations.create_destination(request=operations.CreateDestinationRequest(\n create_destination_connector=shared.CreateDestinationConnector(\n name=\"<value>\",\n type=shared.DestinationConnectorType.MOTHERDUCK,\n config={\n \"hosts\": [],\n \"index_name\": \"<value>\",\n },\n ),\n ))\n\n assert res.destination_connector_information is not None\n\n # Handle response\n print(res.destination_connector_information)"
17+
"source": "from unstructured_client import UnstructuredClient\nfrom unstructured_client.models import operations, shared\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.destinations.create_destination(request=operations.CreateDestinationRequest(\n create_destination_connector=shared.CreateDestinationConnector(\n name=\"<value>\",\n type=\"<value>\",\n config=shared.PineconeDestinationConnectorConfigInput(\n index_name=\"<value>\",\n api_key=\"<value>\",\n namespace=\"<value>\",\n batch_size=50,\n ),\n ),\n ))\n\n assert res.destination_connector_information is not None\n\n # Handle response\n print(res.destination_connector_information)"
1818
- target: $["paths"]["/api/v1/destinations/{destination_id}"]["delete"]
1919
update:
2020
"x-codeSamples":
@@ -87,6 +87,48 @@ actions:
8787
- "lang": "python"
8888
"label": "get_job_failed_files"
8989
"source": "from unstructured_client import UnstructuredClient\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.jobs.get_job_failed_files(request={\n \"job_id\": \"ad262041-3530-40a9-9f83-b004e947a203\",\n })\n\n assert res.job_failed_files is not None\n\n # Handle response\n print(res.job_failed_files)"
90+
- target: $["paths"]["/api/v1/oauth/callback"]["get"]
91+
update:
92+
"x-codeSamples":
93+
- "lang": "python"
94+
"label": "keycloak_callback_api_v1_oauth_callback_get"
95+
"source": "from unstructured_client import UnstructuredClient\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.oauth.keycloak_callback_api_v1_oauth_callback_get(request={\n \"code\": \"<value>\",\n \"state\": \"Wyoming\",\n })\n\n assert res.res is not None\n\n # Handle response\n print(res.res)"
96+
- target: $["paths"]["/api/v1/oauth/device/code"]["post"]
97+
update:
98+
"x-codeSamples":
99+
- "lang": "python"
100+
"label": "device_code_api_v1_oauth_device_code_post"
101+
"source": "from unstructured_client import UnstructuredClient\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.oauth.device_code_api_v1_oauth_device_code_post(request={})\n\n assert res.device_code_response is not None\n\n # Handle response\n print(res.device_code_response)"
102+
- target: $["paths"]["/api/v1/oauth/login"]["get"]
103+
update:
104+
"x-codeSamples":
105+
- "lang": "python"
106+
"label": "login_redirect_api_v1_oauth_login_get"
107+
"source": "from unstructured_client import UnstructuredClient\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.oauth.login_redirect_api_v1_oauth_login_get(request={\n \"user_code\": \"<value>\",\n })\n\n assert res.any is not None\n\n # Handle response\n print(res.any)"
108+
- target: $["paths"]["/api/v1/oauth/token"]["post"]
109+
update:
110+
"x-codeSamples":
111+
- "lang": "python"
112+
"label": "token_api_v1_oauth_token_post"
113+
"source": "from unstructured_client import UnstructuredClient\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.oauth.token_api_v1_oauth_token_post(request={\n \"device_code\": \"<value>\",\n })\n\n assert res.token_response is not None\n\n # Handle response\n print(res.token_response)"
114+
- target: $["paths"]["/api/v1/oauth/verify"]["get"]
115+
update:
116+
"x-codeSamples":
117+
- "lang": "python"
118+
"label": "verify_page_api_v1_oauth_verify_get"
119+
"source": "from unstructured_client import UnstructuredClient\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.oauth.verify_page_api_v1_oauth_verify_get()\n\n assert res.res is not None\n\n # Handle response\n print(res.res)"
120+
- target: $["paths"]["/api/v1/oauth/verify"]["post"]
121+
update:
122+
"x-codeSamples":
123+
- "lang": "python"
124+
"label": "verify_submit_api_v1_oauth_verify_post"
125+
"source": "from unstructured_client import UnstructuredClient\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.oauth.verify_submit_api_v1_oauth_verify_post(request={\n \"user_code\": \"<value>\",\n \"api_key\": \"<value>\",\n })\n\n assert res.response_verify_submit_api_v1_oauth_verify_post is not None\n\n # Handle response\n print(res.response_verify_submit_api_v1_oauth_verify_post)"
126+
- target: $["paths"]["/api/v1/oauth/whoami"]["get"]
127+
update:
128+
"x-codeSamples":
129+
- "lang": "python"
130+
"label": "whoami_api_v1_oauth_whoami_get"
131+
"source": "from unstructured_client import UnstructuredClient\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.oauth.whoami_api_v1_oauth_whoami_get(request={})\n\n assert res.response_whoami_api_v1_oauth_whoami_get is not None\n\n # Handle response\n print(res.response_whoami_api_v1_oauth_whoami_get)"
90132
- target: $["paths"]["/api/v1/sources/"]["get"]
91133
update:
92134
"x-codeSamples":
@@ -98,7 +140,7 @@ actions:
98140
"x-codeSamples":
99141
- "lang": "python"
100142
"label": "create_source"
101-
"source": "from unstructured_client import UnstructuredClient\nfrom unstructured_client.models import shared\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.sources.create_source(request={\n \"create_source_connector\": {\n \"name\": \"<value>\",\n \"type\": shared.SourceConnectorType.DROPBOX,\n \"config\": {\n \"box_app_config\": \"<value>\",\n \"remote_url\": \"https://ugly-ribbon.info\",\n \"recursive\": True,\n },\n },\n })\n\n assert res.source_connector_information is not None\n\n # Handle response\n print(res.source_connector_information)"
143+
"source": "from unstructured_client import UnstructuredClient\nfrom unstructured_client.models import operations, shared\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.sources.create_source(request=operations.CreateSourceRequest(\n create_source_connector=shared.CreateSourceConnector(\n name=\"<value>\",\n type=shared.SourceConnectorType.BOX,\n config={\n \"host\": \"ugly-ribbon.info\",\n \"database\": \"<value>\",\n \"port\": 526676,\n \"username\": \"Albertha_Senger\",\n \"password\": \"jIalrq2izU8rFxd\",\n \"table_name\": \"<value>\",\n \"batch_size\": 637100,\n \"id_column\": \"id\",\n },\n ),\n ))\n\n assert res.source_connector_information is not None\n\n # Handle response\n print(res.source_connector_information)"
102144
- target: $["paths"]["/api/v1/sources/{source_id}"]["delete"]
103145
update:
104146
"x-codeSamples":
@@ -116,7 +158,7 @@ actions:
116158
"x-codeSamples":
117159
- "lang": "python"
118160
"label": "update_source"
119-
"source": "from unstructured_client import UnstructuredClient\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.sources.update_source(request={\n \"source_id\": \"6ddfe201-42c1-4097-a271-1fc2801d1903\",\n \"update_source_connector\": {\n \"config\": {\n \"bucket\": \"<value>\",\n \"connection_string\": \"<value>\",\n \"batch_size\": 615322,\n \"username\": \"Lue.Murphy87\",\n \"password\": \"qfyDYveMwvwoQEV\",\n \"collection_id\": \"<id>\",\n },\n },\n })\n\n assert res.source_connector_information is not None\n\n # Handle response\n print(res.source_connector_information)"
161+
"source": "from unstructured_client import UnstructuredClient\nfrom unstructured_client.models import operations, shared\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.sources.update_source(request=operations.UpdateSourceRequest(\n source_id=\"6ddfe201-42c1-4097-a271-1fc2801d1903\",\n update_source_connector=shared.UpdateSourceConnector(\n config={\n \"bucket\": \"<value>\",\n \"connection_string\": \"<value>\",\n \"batch_size\": 615322,\n \"username\": \"Lue.Murphy87\",\n \"password\": \"qfyDYveMwvwoQEV\",\n \"collection_id\": \"<id>\",\n },\n ),\n ))\n\n assert res.source_connector_information is not None\n\n # Handle response\n print(res.source_connector_information)"
120162
- target: $["paths"]["/api/v1/sources/{source_id}/connection-check"]["get"]
121163
update:
122164
"x-codeSamples":
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# DeviceCodeAPIV1OauthDeviceCodePostResponse
2+
3+
4+
## Fields
5+
6+
| Field | Type | Required | Description |
7+
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
8+
| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
9+
| `device_code_response` | [Optional[shared.DeviceCodeResponse]](../../models/shared/devicecoderesponse.md) | :heavy_minus_sign: | Successful Response |
10+
| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
11+
| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# KeycloakCallbackAPIV1OauthCallbackGetRequest
2+
3+
4+
## Fields
5+
6+
| Field | Type | Required | Description |
7+
| ------------------ | ------------------ | ------------------ | ------------------ |
8+
| `code` | *str* | :heavy_check_mark: | N/A |
9+
| `state` | *str* | :heavy_check_mark: | N/A |
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# KeycloakCallbackAPIV1OauthCallbackGetResponse
2+
3+
4+
## Fields
5+
6+
| Field | Type | Required | Description |
7+
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
8+
| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
9+
| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
10+
| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
11+
| `res` | *Optional[str]* | :heavy_minus_sign: | Successful Response |
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# LoginRedirectAPIV1OauthLoginGetRequest
2+
3+
4+
## Fields
5+
6+
| Field | Type | Required | Description |
7+
| ------------------ | ------------------ | ------------------ | ------------------ |
8+
| `user_code` | *str* | :heavy_check_mark: | N/A |
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# LoginRedirectAPIV1OauthLoginGetResponse
2+
3+
4+
## Fields
5+
6+
| Field | Type | Required | Description |
7+
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
8+
| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
9+
| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
10+
| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
11+
| `any` | *Optional[Any]* | :heavy_minus_sign: | Successful Response |

0 commit comments

Comments
 (0)