diff --git a/.genignore b/.genignore index b3472289..81745f9c 100644 --- a/.genignore +++ b/.genignore @@ -8,3 +8,13 @@ _test_unstructured_client # ignore Makefile Makefile +# Ignore the base resource classes while we're patching in our own server url logic +# If we add a new endpoint, we need to: +# - Comment out the ignore for the right file +# - Generate locally, watch the new endpoint appear +# - Bring back the ignore line and commit +src/unstructured_client/destinations.py +src/unstructured_client/general.py +src/unstructured_client/jobs.py +src/unstructured_client/sources.py +src/unstructured_client/workflows.py diff --git a/.gitignore b/.gitignore index 32264e26..14e788bb 100755 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +**/__pycache__/ +**/.speakeasy/temp/ +**/.speakeasy/logs/ .speakeasy/temp/ .speakeasy/reports .venv/ diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 5a22a1cb..914fde37 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 8b5fa338-9106-4734-abf0-e30d67044a90 management: - docChecksum: 6433f28e5b70c3c0d7754fc7a88db327 - docVersion: 1.1.7 - speakeasyVersion: 1.537.0 - generationVersion: 2.588.0 - releaseVersion: 0.34.0 - configChecksum: 0ba814fcbe0d0489903de407d36313af + docChecksum: f525a810cf1c08e0a1f75d631b085137 + docVersion: 1.1.13 + speakeasyVersion: 1.544.0 + generationVersion: 2.599.0 + releaseVersion: 0.35.0 + configChecksum: 4a04b453af70e9dafd8f5541d24840b5 repoURL: https://github.com/Unstructured-IO/unstructured-python-client.git repoSubDirectory: . installationURL: https://github.com/Unstructured-IO/unstructured-python-client.git @@ -16,7 +16,7 @@ features: acceptHeaders: 3.0.0 additionalDependencies: 1.0.0 constsAndDefaults: 1.0.5 - core: 5.15.0 + core: 5.18.0 defaultEnabledRetries: 0.2.0 enumUnions: 0.1.0 envVarSecurityUsage: 0.3.2 @@ -24,7 +24,7 @@ features: globalSecurity: 3.0.3 globalSecurityCallbacks: 1.0.0 globalSecurityFlattening: 1.0.0 - globalServerURLs: 3.1.0 + globalServerURLs: 3.1.1 methodServerURLs: 3.1.1 multipartFileContentType: 1.0.0 nameOverrides: 3.0.1 @@ -137,6 +137,8 @@ generatedFiles: - docs/models/shared/gcssourceconnectorconfiginput.md - docs/models/shared/googledrivesourceconnectorconfig.md - docs/models/shared/googledrivesourceconnectorconfiginput.md + - docs/models/shared/ibmwatsonxs3destinationconnectorconfig.md + - docs/models/shared/ibmwatsonxs3destinationconnectorconfiginput.md - docs/models/shared/inputfiles.md - docs/models/shared/jirasourceconnectorconfig.md - docs/models/shared/jirasourceconnectorconfiginput.md @@ -202,6 +204,7 @@ generatedFiles: - docs/models/shared/weaviatedestinationconnectorconfig.md - docs/models/shared/weaviatedestinationconnectorconfiginput.md - docs/models/shared/workflowinformation.md + - docs/models/shared/workflowjobtype.md - docs/models/shared/workflownode.md - docs/models/shared/workflowschedule.md - docs/models/shared/workflowstate.md @@ -227,10 +230,7 @@ generatedFiles: - src/unstructured_client/_hooks/types.py - src/unstructured_client/_version.py - src/unstructured_client/basesdk.py - - src/unstructured_client/destinations.py - - src/unstructured_client/general.py - src/unstructured_client/httpclient.py - - src/unstructured_client/jobs.py - src/unstructured_client/models/__init__.py - src/unstructured_client/models/errors/__init__.py - src/unstructured_client/models/errors/httpvalidationerror.py @@ -302,6 +302,8 @@ generatedFiles: - src/unstructured_client/models/shared/gcssourceconnectorconfiginput.py - src/unstructured_client/models/shared/googledrivesourceconnectorconfig.py - src/unstructured_client/models/shared/googledrivesourceconnectorconfiginput.py + - src/unstructured_client/models/shared/ibmwatsonxs3destinationconnectorconfig.py + - src/unstructured_client/models/shared/ibmwatsonxs3destinationconnectorconfiginput.py - src/unstructured_client/models/shared/jirasourceconnectorconfig.py - src/unstructured_client/models/shared/jirasourceconnectorconfiginput.py - src/unstructured_client/models/shared/jobinformation.py @@ -356,6 +358,7 @@ generatedFiles: - src/unstructured_client/models/shared/weaviatedestinationconnectorconfig.py - src/unstructured_client/models/shared/weaviatedestinationconnectorconfiginput.py - src/unstructured_client/models/shared/workflowinformation.py + - src/unstructured_client/models/shared/workflowjobtype.py - src/unstructured_client/models/shared/workflownode.py - src/unstructured_client/models/shared/workflowschedule.py - src/unstructured_client/models/shared/workflowstate.py @@ -365,7 +368,6 @@ generatedFiles: - src/unstructured_client/py.typed - src/unstructured_client/sdk.py - src/unstructured_client/sdkconfiguration.py - - src/unstructured_client/sources.py - src/unstructured_client/types/__init__.py - src/unstructured_client/types/basemodel.py - src/unstructured_client/utils/__init__.py @@ -384,7 +386,6 @@ generatedFiles: - src/unstructured_client/utils/serializers.py - src/unstructured_client/utils/url.py - src/unstructured_client/utils/values.py - - src/unstructured_client/workflows.py examples: create_destination: speakeasy-default-create-destination: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 7d58570d..8e76b5d2 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,21 +1,21 @@ -speakeasyVersion: 1.537.0 +speakeasyVersion: 1.544.0 sources: my-source: sourceNamespace: my-source - sourceRevisionDigest: sha256:f5fa536ffbf6240b18b267193074d11564a899dd6fdee36261205b93c8f84880 - sourceBlobDigest: sha256:521a1c7be485e2be9f33ff7b82566823e96827cb69f7ca7775e0dd3dcc52d825 + sourceRevisionDigest: sha256:53a93cf17b0c135a55b556659f10f1e179ede13959d432e91ab06847d008a70b + sourceBlobDigest: sha256:1ee9e979a771f2c36ad99bf61e63e8eea64b33b47b78ffe12d529627205c8b3d tags: - latest - - speakeasy-sdk-regen-1745334275 - - 1.1.7 + - speakeasy-sdk-regen-1746058311 + - 1.1.13 targets: unstructured-python: source: my-source sourceNamespace: my-source - sourceRevisionDigest: sha256:f5fa536ffbf6240b18b267193074d11564a899dd6fdee36261205b93c8f84880 - sourceBlobDigest: sha256:521a1c7be485e2be9f33ff7b82566823e96827cb69f7ca7775e0dd3dcc52d825 + sourceRevisionDigest: sha256:53a93cf17b0c135a55b556659f10f1e179ede13959d432e91ab06847d008a70b + sourceBlobDigest: sha256:1ee9e979a771f2c36ad99bf61e63e8eea64b33b47b78ffe12d529627205c8b3d codeSamplesNamespace: my-source-code-samples - codeSamplesRevisionDigest: sha256:5940dadc286e702b4e23f58d1b7b536ffea4648a9f4f4a7ab650c6c107730a28 + codeSamplesRevisionDigest: sha256:e89aa66814dff7a62cf894bee505e9c1996c0ba1641816b5262edf315ef35e08 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 6ddac0c4..9d208a31 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -987,4 +987,14 @@ Based on: ### Generated - [python v0.34.0] . ### Releases -- [PyPI v0.34.0] https://pypi.org/project/unstructured-client/0.34.0 - . \ No newline at end of file +- [PyPI v0.34.0] https://pypi.org/project/unstructured-client/0.34.0 - . + +## 2025-05-14 11:39:54 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.544.0 (2.599.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.35.0] . +### Releases +- [PyPI v0.35.0] https://pypi.org/project/unstructured-client/0.35.0 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index 7d2a084e..c89297fa 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -32,7 +32,7 @@ actions: "x-codeSamples": - "lang": "python" "label": "update_destination" - "source": "from unstructured_client import UnstructuredClient\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.destinations.update_destination(request={\n \"destination_id\": \"9ea9d27c-4e2e-4cb5-9a69-71bd7ec9d226\",\n \"update_destination_connector\": {\n \"config\": {\n \"host\": \"acidic-patroller.com\",\n \"database\": \"<value>\",\n \"port\": 832931,\n \"username\": \"Salvador.Walsh-Thiel\",\n \"password\": \"vIMqbllzrdJBExE\",\n \"table_name\": \"<value>\",\n \"batch_size\": 977983,\n },\n },\n })\n\n assert res.destination_connector_information is not None\n\n # Handle response\n print(res.destination_connector_information)" + "source": "from unstructured_client import UnstructuredClient\n\n\nwith UnstructuredClient() as uc_client:\n\n res = uc_client.destinations.update_destination(request={\n \"destination_id\": \"ddfee087-e67d-4bcc-afdb-6451a6e6f9ea\",\n \"update_destination_connector\": {\n \"config\": {\n \"host\": \"acidic-patroller.com\",\n \"port\": 6379,\n \"database\": 0,\n \"ssl\": True,\n \"batch_size\": 100,\n },\n },\n })\n\n assert res.destination_connector_information is not None\n\n # Handle response\n print(res.destination_connector_information)" - target: $["paths"]["/api/v1/destinations/{destination_id}/connection-check"]["get"] update: "x-codeSamples": diff --git a/docs/models/shared/config.md b/docs/models/shared/config.md index 457e0fd7..3281bff6 100644 --- a/docs/models/shared/config.md +++ b/docs/models/shared/config.md @@ -123,3 +123,9 @@ value: shared.SnowflakeDestinationConnectorConfigInput = /* values here */ value: shared.WeaviateDestinationConnectorConfigInput = /* values here */ ``` +### `shared.IBMWatsonxS3DestinationConnectorConfigInput` + +```python +value: shared.IBMWatsonxS3DestinationConnectorConfigInput = /* values here */ +``` + diff --git a/docs/models/shared/destinationconnectorinformationconfig.md b/docs/models/shared/destinationconnectorinformationconfig.md index 3a711755..2867811b 100644 --- a/docs/models/shared/destinationconnectorinformationconfig.md +++ b/docs/models/shared/destinationconnectorinformationconfig.md @@ -123,3 +123,9 @@ value: shared.SnowflakeDestinationConnectorConfig = /* values here */ value: shared.WeaviateDestinationConnectorConfig = /* values here */ ``` +### `shared.IBMWatsonxS3DestinationConnectorConfig` + +```python +value: shared.IBMWatsonxS3DestinationConnectorConfig = /* values here */ +``` + diff --git a/docs/models/shared/destinationconnectortype.md b/docs/models/shared/destinationconnectortype.md index 57c24960..d0b8f5ab 100644 --- a/docs/models/shared/destinationconnectortype.md +++ b/docs/models/shared/destinationconnectortype.md @@ -25,4 +25,5 @@ | `QDRANT_CLOUD` | qdrant-cloud | | `S3` | s3 | | `SNOWFLAKE` | snowflake | -| `WEAVIATE_CLOUD` | weaviate-cloud | \ No newline at end of file +| `WEAVIATE_CLOUD` | weaviate-cloud | +| `IBM_WATSONX_S3` | ibm_watsonx_s3 | \ No newline at end of file diff --git a/docs/models/shared/ibmwatsonxs3destinationconnectorconfig.md b/docs/models/shared/ibmwatsonxs3destinationconnectorconfig.md new file mode 100644 index 00000000..825acdd3 --- /dev/null +++ b/docs/models/shared/ibmwatsonxs3destinationconnectorconfig.md @@ -0,0 +1,19 @@ +# IBMWatsonxS3DestinationConnectorConfig + + +## Fields + +| Field | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `access_key_id` | *str* | :heavy_check_mark: | N/A | +| `catalog` | *str* | :heavy_check_mark: | N/A | +| `iam_api_key` | *str* | :heavy_check_mark: | N/A | +| `iceberg_endpoint` | *str* | :heavy_check_mark: | N/A | +| `max_retries` | *int* | :heavy_check_mark: | N/A | +| `max_retries_connection` | *int* | :heavy_check_mark: | N/A | +| `namespace` | *str* | :heavy_check_mark: | N/A | +| `object_storage_endpoint` | *str* | :heavy_check_mark: | N/A | +| `object_storage_region` | *str* | :heavy_check_mark: | N/A | +| `record_id_key` | *str* | :heavy_check_mark: | N/A | +| `secret_access_key` | *str* | :heavy_check_mark: | N/A | +| `table` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ibmwatsonxs3destinationconnectorconfiginput.md b/docs/models/shared/ibmwatsonxs3destinationconnectorconfiginput.md new file mode 100644 index 00000000..417e3827 --- /dev/null +++ b/docs/models/shared/ibmwatsonxs3destinationconnectorconfiginput.md @@ -0,0 +1,19 @@ +# IBMWatsonxS3DestinationConnectorConfigInput + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `access_key_id` | *str* | :heavy_check_mark: | N/A | +| `catalog` | *str* | :heavy_check_mark: | N/A | +| `iam_api_key` | *str* | :heavy_check_mark: | N/A | +| `iceberg_endpoint` | *str* | :heavy_check_mark: | N/A | +| `max_retries` | *Optional[int]* | :heavy_minus_sign: | Maximum number of retries to upload data | +| `max_retries_connection` | *Optional[int]* | :heavy_minus_sign: | Maximum number of retries in case of a connection error | +| `namespace` | *str* | :heavy_check_mark: | N/A | +| `object_storage_endpoint` | *str* | :heavy_check_mark: | N/A | +| `object_storage_region` | *str* | :heavy_check_mark: | N/A | +| `record_id_key` | *Optional[str]* | :heavy_minus_sign: | Searchable key to find entries for the same record on previous runs | +| `secret_access_key` | *str* | :heavy_check_mark: | N/A | +| `table` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/jirasourceconnectorconfig.md b/docs/models/shared/jirasourceconnectorconfig.md index 8bcf19ba..ff61a6c4 100644 --- a/docs/models/shared/jirasourceconnectorconfig.md +++ b/docs/models/shared/jirasourceconnectorconfig.md @@ -7,9 +7,11 @@ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | | `boards` | List[*str*] | :heavy_minus_sign: | N/A | | `cloud` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | +| `download_attachments` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | | `issues` | List[*str*] | :heavy_minus_sign: | N/A | | `password` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `projects` | List[*str*] | :heavy_minus_sign: | N/A | +| `status_filters` | List[*str*] | :heavy_minus_sign: | N/A | | `token` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `url` | *str* | :heavy_check_mark: | N/A | | `username` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/jirasourceconnectorconfiginput.md b/docs/models/shared/jirasourceconnectorconfiginput.md index 2895febc..962e3c0a 100644 --- a/docs/models/shared/jirasourceconnectorconfiginput.md +++ b/docs/models/shared/jirasourceconnectorconfiginput.md @@ -7,9 +7,11 @@ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | | `boards` | List[*str*] | :heavy_minus_sign: | N/A | | `cloud` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | +| `download_attachments` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | | `issues` | List[*str*] | :heavy_minus_sign: | N/A | | `password` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `projects` | List[*str*] | :heavy_minus_sign: | N/A | +| `status_filters` | List[*str*] | :heavy_minus_sign: | N/A | | `token` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `url` | *str* | :heavy_check_mark: | N/A | | `username` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/jobinformation.md b/docs/models/shared/jobinformation.md index 13c18856..2578774c 100644 --- a/docs/models/shared/jobinformation.md +++ b/docs/models/shared/jobinformation.md @@ -3,13 +3,14 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | -| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | -| `id` | *str* | :heavy_check_mark: | N/A | -| `input_file_ids` | List[*str*] | :heavy_minus_sign: | N/A | -| `output_node_files` | List[[shared.NodeFileMetadata](../../models/shared/nodefilemetadata.md)] | :heavy_minus_sign: | N/A | -| `runtime` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | -| `status` | [shared.JobStatus](../../models/shared/jobstatus.md) | :heavy_check_mark: | N/A | -| `workflow_id` | *str* | :heavy_check_mark: | N/A | -| `workflow_name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | +| `id` | *str* | :heavy_check_mark: | N/A | +| `input_file_ids` | List[*str*] | :heavy_minus_sign: | N/A | +| `job_type` | [Optional[shared.WorkflowJobType]](../../models/shared/workflowjobtype.md) | :heavy_minus_sign: | N/A | +| `output_node_files` | List[[shared.NodeFileMetadata](../../models/shared/nodefilemetadata.md)] | :heavy_minus_sign: | N/A | +| `runtime` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `status` | [shared.JobStatus](../../models/shared/jobstatus.md) | :heavy_check_mark: | N/A | +| `workflow_id` | *str* | :heavy_check_mark: | N/A | +| `workflow_name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/updatedestinationconnectorconfig.md b/docs/models/shared/updatedestinationconnectorconfig.md index 78d91893..a28c7b01 100644 --- a/docs/models/shared/updatedestinationconnectorconfig.md +++ b/docs/models/shared/updatedestinationconnectorconfig.md @@ -123,3 +123,9 @@ value: shared.SnowflakeDestinationConnectorConfigInput = /* values here */ value: shared.WeaviateDestinationConnectorConfigInput = /* values here */ ``` +### `shared.IBMWatsonxS3DestinationConnectorConfigInput` + +```python +value: shared.IBMWatsonxS3DestinationConnectorConfigInput = /* values here */ +``` + diff --git a/docs/models/shared/workflowjobtype.md b/docs/models/shared/workflowjobtype.md new file mode 100644 index 00000000..5ad02fc0 --- /dev/null +++ b/docs/models/shared/workflowjobtype.md @@ -0,0 +1,10 @@ +# WorkflowJobType + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `EPHEMERAL` | ephemeral | +| `PERSISTENT` | persistent | +| `SCHEDULED` | scheduled | \ No newline at end of file diff --git a/gen.yaml b/gen.yaml index 36f1fae2..0cd35235 100644 --- a/gen.yaml +++ b/gen.yaml @@ -8,19 +8,23 @@ generation: parameterOrderingFeb2024: false requestResponseComponentNamesFeb2024: false securityFeb2025: false + sharedErrorComponentsApr2025: false auth: oAuth2ClientCredentialsEnabled: false oAuth2PasswordEnabled: false python: - version: 0.34.0 + version: 0.35.0 additionalDependencies: dev: deepdiff: '>=6.0' freezegun: '>=1.5.1' pytest: '>=8.3.3' pytest-asyncio: '>=0.24.0' + pytest-httpx: '>=0.35.0' pytest-mock: '>=3.14.0' + pytest-xdist: ^3.5.0 types-aiofiles: '>=24.1.0' + unstructured: '>= 0.17.2' uvloop: '>=0.20.0' main: aiofiles: '>=24.1.0' diff --git a/overlay_client.yaml b/overlay_client.yaml index dcc35fee..b8519207 100644 --- a/overlay_client.yaml +++ b/overlay_client.yaml @@ -70,3 +70,6 @@ actions: description: Add a null default to all optional parameters. Prevents the sdk from sending a default string when param is not specified. update: "default": null + - target: $["components"]["schemas"]["partition_parameters"]["properties"]["tracking_enabled"] + description: Remove tracking_enabled from partition_parameters + remove: true diff --git a/poetry.lock b/poetry.lock index d60753fc..14a76ec8 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.1.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.1.3 and should not be changed by hand. [[package]] name = "aiofiles" @@ -338,6 +338,7 @@ description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" groups = ["dev"] +markers = "python_version < \"3.11\"" files = [ {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, @@ -346,6 +347,22 @@ files = [ [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} +[[package]] +name = "click" +version = "8.2.0" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.10" +groups = ["dev"] +markers = "python_version >= \"3.11\"" +files = [ + {file = "click-8.2.0-py3-none-any.whl", hash = "sha256:6b303f0b2aa85f1cb4e5303078fadcbcd4e476f114fab9b5007005711839325c"}, + {file = "click-8.2.0.tar.gz", hash = "sha256:f5452aeddd9988eefa20f90f05ab66f17fce1ee2a36907fd30b05bbb5953814d"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + [[package]] name = "colorama" version = "0.4.6" @@ -497,21 +514,6 @@ files = [ [package.extras] dev = ["coverage", "pytest (>=7.4.4)"] -[[package]] -name = "eval-type-backport" -version = "0.2.0" -description = "Like `typing._eval_type`, but lets older Python versions use newer typing features." -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "eval_type_backport-0.2.0-py3-none-any.whl", hash = "sha256:ac2f73d30d40c5a30a80b8739a789d6bb5e49fdffa66d7912667e2015d9c9933"}, - {file = "eval_type_backport-0.2.0.tar.gz", hash = "sha256:68796cfbc7371ebf923f03bdf7bef415f3ec098aeced24e054b253a0e78f7b37"}, -] - -[package.extras] -tests = ["pytest"] - [[package]] name = "exceptiongroup" version = "1.2.2" @@ -695,14 +697,14 @@ colors = ["colorama (>=0.4.6)"] [[package]] name = "joblib" -version = "1.4.2" +version = "1.5.0" description = "Lightweight pipelining with Python functions" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6"}, - {file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"}, + {file = "joblib-1.5.0-py3-none-any.whl", hash = "sha256:206144b320246485b712fc8cc51f017de58225fa8b414a1fe1764a7231aca491"}, + {file = "joblib-1.5.0.tar.gz", hash = "sha256:d8757f955389a3dd7a23152e43bc297c2e0c2d3060056dad0feefc88a06939b5"}, ] [[package]] @@ -722,150 +724,144 @@ six = "*" [[package]] name = "lxml" -version = "5.3.2" +version = "5.4.0" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." optional = false python-versions = ">=3.6" groups = ["dev"] files = [ - {file = "lxml-5.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c4b84d6b580a9625dfa47269bf1fd7fbba7ad69e08b16366a46acb005959c395"}, - {file = "lxml-5.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b4c08ecb26e4270a62f81f81899dfff91623d349e433b126931c9c4577169666"}, - {file = "lxml-5.3.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef926e9f11e307b5a7c97b17c5c609a93fb59ffa8337afac8f89e6fe54eb0b37"}, - {file = "lxml-5.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:017ceeabe739100379fe6ed38b033cd244ce2da4e7f6f07903421f57da3a19a2"}, - {file = "lxml-5.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dae97d9435dc90590f119d056d233c33006b2fd235dd990d5564992261ee7ae8"}, - {file = "lxml-5.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:910f39425c6798ce63c93976ae5af5fff6949e2cb446acbd44d6d892103eaea8"}, - {file = "lxml-5.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9780de781a0d62a7c3680d07963db3048b919fc9e3726d9cfd97296a65ffce1"}, - {file = "lxml-5.3.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:1a06b0c6ba2e3ca45a009a78a4eb4d6b63831830c0a83dcdc495c13b9ca97d3e"}, - {file = "lxml-5.3.2-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:4c62d0a34d1110769a1bbaf77871a4b711a6f59c4846064ccb78bc9735978644"}, - {file = "lxml-5.3.2-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:8f961a4e82f411b14538fe5efc3e6b953e17f5e809c463f0756a0d0e8039b700"}, - {file = "lxml-5.3.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:3dfc78f5f9251b6b8ad37c47d4d0bfe63ceb073a916e5b50a3bf5fd67a703335"}, - {file = "lxml-5.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:10e690bc03214d3537270c88e492b8612d5e41b884f232df2b069b25b09e6711"}, - {file = "lxml-5.3.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:aa837e6ee9534de8d63bc4c1249e83882a7ac22bd24523f83fad68e6ffdf41ae"}, - {file = "lxml-5.3.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:da4c9223319400b97a2acdfb10926b807e51b69eb7eb80aad4942c0516934858"}, - {file = "lxml-5.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dc0e9bdb3aa4d1de703a437576007d366b54f52c9897cae1a3716bb44fc1fc85"}, - {file = "lxml-5.3.2-cp310-cp310-win32.win32.whl", hash = "sha256:dd755a0a78dd0b2c43f972e7b51a43be518ebc130c9f1a7c4480cf08b4385486"}, - {file = "lxml-5.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:d64ea1686474074b38da13ae218d9fde0d1dc6525266976808f41ac98d9d7980"}, - {file = "lxml-5.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9d61a7d0d208ace43986a92b111e035881c4ed45b1f5b7a270070acae8b0bfb4"}, - {file = "lxml-5.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:856dfd7eda0b75c29ac80a31a6411ca12209183e866c33faf46e77ace3ce8a79"}, - {file = "lxml-5.3.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a01679e4aad0727bedd4c9407d4d65978e920f0200107ceeffd4b019bd48529"}, - {file = "lxml-5.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6b37b4c3acb8472d191816d4582379f64d81cecbdce1a668601745c963ca5cc"}, - {file = "lxml-5.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3df5a54e7b7c31755383f126d3a84e12a4e0333db4679462ef1165d702517477"}, - {file = "lxml-5.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c09a40f28dcded933dc16217d6a092be0cc49ae25811d3b8e937c8060647c353"}, - {file = "lxml-5.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1ef20f1851ccfbe6c5a04c67ec1ce49da16ba993fdbabdce87a92926e505412"}, - {file = "lxml-5.3.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:f79a63289dbaba964eb29ed3c103b7911f2dce28c36fe87c36a114e6bd21d7ad"}, - {file = "lxml-5.3.2-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:75a72697d95f27ae00e75086aed629f117e816387b74a2f2da6ef382b460b710"}, - {file = "lxml-5.3.2-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:b9b00c9ee1cc3a76f1f16e94a23c344e0b6e5c10bec7f94cf2d820ce303b8c01"}, - {file = "lxml-5.3.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:77cbcab50cbe8c857c6ba5f37f9a3976499c60eada1bf6d38f88311373d7b4bc"}, - {file = "lxml-5.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:29424058f072a24622a0a15357bca63d796954758248a72da6d512f9bd9a4493"}, - {file = "lxml-5.3.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7d82737a8afe69a7c80ef31d7626075cc7d6e2267f16bf68af2c764b45ed68ab"}, - {file = "lxml-5.3.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:95473d1d50a5d9fcdb9321fdc0ca6e1edc164dce4c7da13616247d27f3d21e31"}, - {file = "lxml-5.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2162068f6da83613f8b2a32ca105e37a564afd0d7009b0b25834d47693ce3538"}, - {file = "lxml-5.3.2-cp311-cp311-win32.whl", hash = "sha256:f8695752cf5d639b4e981afe6c99e060621362c416058effd5c704bede9cb5d1"}, - {file = "lxml-5.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:d1a94cbb4ee64af3ab386c2d63d6d9e9cf2e256ac0fd30f33ef0a3c88f575174"}, - {file = "lxml-5.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:16b3897691ec0316a1aa3c6585f61c8b7978475587c5b16fc1d2c28d283dc1b0"}, - {file = "lxml-5.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a8d4b34a0eeaf6e73169dcfd653c8d47f25f09d806c010daf074fba2db5e2d3f"}, - {file = "lxml-5.3.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9cd7a959396da425022e1e4214895b5cfe7de7035a043bcc2d11303792b67554"}, - {file = "lxml-5.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cac5eaeec3549c5df7f8f97a5a6db6963b91639389cdd735d5a806370847732b"}, - {file = "lxml-5.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29b5f7d77334877c2146e7bb8b94e4df980325fab0a8af4d524e5d43cd6f789d"}, - {file = "lxml-5.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13f3495cfec24e3d63fffd342cc8141355d1d26ee766ad388775f5c8c5ec3932"}, - {file = "lxml-5.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e70ad4c9658beeff99856926fd3ee5fde8b519b92c693f856007177c36eb2e30"}, - {file = "lxml-5.3.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:507085365783abd7879fa0a6fa55eddf4bdd06591b17a2418403bb3aff8a267d"}, - {file = "lxml-5.3.2-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:5bb304f67cbf5dfa07edad904732782cbf693286b9cd85af27059c5779131050"}, - {file = "lxml-5.3.2-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:3d84f5c093645c21c29a4e972b84cb7cf682f707f8706484a5a0c7ff13d7a988"}, - {file = "lxml-5.3.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:bdc13911db524bd63f37b0103af014b7161427ada41f1b0b3c9b5b5a9c1ca927"}, - {file = "lxml-5.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1ec944539543f66ebc060ae180d47e86aca0188bda9cbfadff47d86b0dc057dc"}, - {file = "lxml-5.3.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:59d437cc8a7f838282df5a199cf26f97ef08f1c0fbec6e84bd6f5cc2b7913f6e"}, - {file = "lxml-5.3.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e275961adbd32e15672e14e0cc976a982075208224ce06d149c92cb43db5b93"}, - {file = "lxml-5.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:038aeb6937aa404480c2966b7f26f1440a14005cb0702078c173c028eca72c31"}, - {file = "lxml-5.3.2-cp312-cp312-win32.whl", hash = "sha256:3c2c8d0fa3277147bff180e3590be67597e17d365ce94beb2efa3138a2131f71"}, - {file = "lxml-5.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:77809fcd97dfda3f399102db1794f7280737b69830cd5c961ac87b3c5c05662d"}, - {file = "lxml-5.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:77626571fb5270ceb36134765f25b665b896243529eefe840974269b083e090d"}, - {file = "lxml-5.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:78a533375dc7aa16d0da44af3cf6e96035e484c8c6b2b2445541a5d4d3d289ee"}, - {file = "lxml-5.3.2-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a6f62b2404b3f3f0744bbcabb0381c5fe186fa2a9a67ecca3603480f4846c585"}, - {file = "lxml-5.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ea918da00091194526d40c30c4996971f09dacab032607581f8d8872db34fbf"}, - {file = "lxml-5.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c35326f94702a7264aa0eea826a79547d3396a41ae87a70511b9f6e9667ad31c"}, - {file = "lxml-5.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3bef90af21d31c4544bc917f51e04f94ae11b43156356aff243cdd84802cbf2"}, - {file = "lxml-5.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52fa7ba11a495b7cbce51573c73f638f1dcff7b3ee23697467dc063f75352a69"}, - {file = "lxml-5.3.2-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:ad131e2c4d2c3803e736bb69063382334e03648de2a6b8f56a878d700d4b557d"}, - {file = "lxml-5.3.2-cp313-cp313-manylinux_2_28_ppc64le.whl", hash = "sha256:00a4463ca409ceacd20490a893a7e08deec7870840eff33dc3093067b559ce3e"}, - {file = "lxml-5.3.2-cp313-cp313-manylinux_2_28_s390x.whl", hash = "sha256:87e8d78205331cace2b73ac8249294c24ae3cba98220687b5b8ec5971a2267f1"}, - {file = "lxml-5.3.2-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bf6389133bb255e530a4f2f553f41c4dd795b1fbb6f797aea1eff308f1e11606"}, - {file = "lxml-5.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b3709fc752b42fb6b6ffa2ba0a5b9871646d97d011d8f08f4d5b3ee61c7f3b2b"}, - {file = "lxml-5.3.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:abc795703d0de5d83943a4badd770fbe3d1ca16ee4ff3783d7caffc252f309ae"}, - {file = "lxml-5.3.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:98050830bb6510159f65d9ad1b8aca27f07c01bb3884ba95f17319ccedc4bcf9"}, - {file = "lxml-5.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6ba465a91acc419c5682f8b06bcc84a424a7aa5c91c220241c6fd31de2a72bc6"}, - {file = "lxml-5.3.2-cp313-cp313-win32.whl", hash = "sha256:56a1d56d60ea1ec940f949d7a309e0bff05243f9bd337f585721605670abb1c1"}, - {file = "lxml-5.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:1a580dc232c33d2ad87d02c8a3069d47abbcdce974b9c9cc82a79ff603065dbe"}, - {file = "lxml-5.3.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:1a59f7fe888d0ec1916d0ad69364c5400cfa2f885ae0576d909f342e94d26bc9"}, - {file = "lxml-5.3.2-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d67b50abc2df68502a26ed2ccea60c1a7054c289fb7fc31c12e5e55e4eec66bd"}, - {file = "lxml-5.3.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2cb08d2cb047c98d6fbbb2e77d6edd132ad6e3fa5aa826ffa9ea0c9b1bc74a84"}, - {file = "lxml-5.3.2-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:495ddb7e10911fb4d673d8aa8edd98d1eadafb3b56e8c1b5f427fd33cadc455b"}, - {file = "lxml-5.3.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:884d9308ac7d581b705a3371185282e1b8eebefd68ccf288e00a2d47f077cc51"}, - {file = "lxml-5.3.2-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:37f3d7cf7f2dd2520df6cc8a13df4c3e3f913c8e0a1f9a875e44f9e5f98d7fee"}, - {file = "lxml-5.3.2-cp36-cp36m-win32.whl", hash = "sha256:e885a1bf98a76dff0a0648850c3083b99d9358ef91ba8fa307c681e8e0732503"}, - {file = "lxml-5.3.2-cp36-cp36m-win_amd64.whl", hash = "sha256:b45f505d0d85f4cdd440cd7500689b8e95110371eaa09da0c0b1103e9a05030f"}, - {file = "lxml-5.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b53cd668facd60b4f0dfcf092e01bbfefd88271b5b4e7b08eca3184dd006cb30"}, - {file = "lxml-5.3.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5dea998c891f082fe204dec6565dbc2f9304478f2fc97bd4d7a940fec16c873"}, - {file = "lxml-5.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d46bc3e58b01e4f38d75e0d7f745a46875b7a282df145aca9d1479c65ff11561"}, - {file = "lxml-5.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:661feadde89159fd5f7d7639a81ccae36eec46974c4a4d5ccce533e2488949c8"}, - {file = "lxml-5.3.2-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:43af2a69af2cacc2039024da08a90174e85f3af53483e6b2e3485ced1bf37151"}, - {file = "lxml-5.3.2-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:1539f962d82436f3d386eb9f29b2a29bb42b80199c74a695dff51b367a61ec0a"}, - {file = "lxml-5.3.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:6673920bf976421b5fac4f29b937702eef4555ee42329546a5fc68bae6178a48"}, - {file = "lxml-5.3.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:9fa722a9cd8845594593cce399a49aa6bfc13b6c83a7ee05e2ab346d9253d52f"}, - {file = "lxml-5.3.2-cp37-cp37m-win32.whl", hash = "sha256:2eadd4efa487f4710755415aed3d6ae9ac8b4327ea45226ffccb239766c8c610"}, - {file = "lxml-5.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:83d8707b1b08cd02c04d3056230ec3b771b18c566ec35e723e60cdf037064e08"}, - {file = "lxml-5.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bc6e8678bfa5ccba370103976ccfcf776c85c83da9220ead41ea6fd15d2277b4"}, - {file = "lxml-5.3.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0bed509662f67f719119ad56006cd4a38efa68cfa74383060612044915e5f7ad"}, - {file = "lxml-5.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e3925975fadd6fd72a6d80541a6ec75dfbad54044a03aa37282dafcb80fbdfa"}, - {file = "lxml-5.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83c0462dedc5213ac586164c6d7227da9d4d578cf45dd7fbab2ac49b63a008eb"}, - {file = "lxml-5.3.2-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:53e3f9ca72858834688afa17278649d62aa768a4b2018344be00c399c4d29e95"}, - {file = "lxml-5.3.2-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:32ba634ef3f1b20f781019a91d78599224dc45745dd572f951adbf1c0c9b0d75"}, - {file = "lxml-5.3.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:1b16504c53f41da5fcf04868a80ac40a39d3eec5329caf761114caec6e844ad1"}, - {file = "lxml-5.3.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:1f9682786138549da44ca4c49b20e7144d063b75f2b2ba611f4cff9b83db1062"}, - {file = "lxml-5.3.2-cp38-cp38-win32.whl", hash = "sha256:d8f74ef8aacdf6ee5c07566a597634bb8535f6b53dc89790db43412498cf6026"}, - {file = "lxml-5.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:49f1cee0fa27e1ee02589c696a9bdf4027e7427f184fa98e6bef0c6613f6f0fa"}, - {file = "lxml-5.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:741c126bcf9aa939e950e64e5e0a89c8e01eda7a5f5ffdfc67073f2ed849caea"}, - {file = "lxml-5.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ab6e9e6aca1fd7d725ffa132286e70dee5b9a4561c5ed291e836440b82888f89"}, - {file = "lxml-5.3.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58e8c9b9ed3c15c2d96943c14efc324b69be6352fe5585733a7db2bf94d97841"}, - {file = "lxml-5.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7811828ddfb8c23f4f1fbf35e7a7b2edec2f2e4c793dee7c52014f28c4b35238"}, - {file = "lxml-5.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:72968623efb1e12e950cbdcd1d0f28eb14c8535bf4be153f1bfffa818b1cf189"}, - {file = "lxml-5.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ebfceaa2ea588b54efb6160e3520983663d45aed8a3895bb2031ada080fb5f04"}, - {file = "lxml-5.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d685d458505b2bfd2e28c812749fe9194a2b0ce285a83537e4309a187ffa270b"}, - {file = "lxml-5.3.2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:334e0e414dab1f5366ead8ca34ec3148415f236d5660e175f1d640b11d645847"}, - {file = "lxml-5.3.2-cp39-cp39-manylinux_2_28_ppc64le.whl", hash = "sha256:02e56f7de72fa82561eae69628a7d6febd7891d72248c7ff7d3e7814d4031017"}, - {file = "lxml-5.3.2-cp39-cp39-manylinux_2_28_s390x.whl", hash = "sha256:638d06b4e1d34d1a074fa87deed5fb55c18485fa0dab97abc5604aad84c12031"}, - {file = "lxml-5.3.2-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:354dab7206d22d7a796fa27c4c5bffddd2393da2ad61835355a4759d435beb47"}, - {file = "lxml-5.3.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d9d9f82ff2c3bf9bb777cb355149f7f3a98ec58f16b7428369dc27ea89556a4c"}, - {file = "lxml-5.3.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:95ad58340e3b7d2b828efc370d1791856613c5cb62ae267158d96e47b3c978c9"}, - {file = "lxml-5.3.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:30fe05f4b7f6e9eb32862745512e7cbd021070ad0f289a7f48d14a0d3fc1d8a9"}, - {file = "lxml-5.3.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:34c688fef86f73dbca0798e0a61bada114677006afa524a8ce97d9e5fabf42e6"}, - {file = "lxml-5.3.2-cp39-cp39-win32.whl", hash = "sha256:4d6d3d1436d57f41984920667ec5ef04bcb158f80df89ac4d0d3f775a2ac0c87"}, - {file = "lxml-5.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:2996e1116bbb3ae2a1fbb2ba4da8f92742290b4011e7e5bce2bd33bbc9d9485a"}, - {file = "lxml-5.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:521ab9c80b98c30b2d987001c3ede2e647e92eeb2ca02e8cb66ef5122d792b24"}, - {file = "lxml-5.3.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f1231b0f9810289d41df1eacc4ebb859c63e4ceee29908a0217403cddce38d0"}, - {file = "lxml-5.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271f1a4d5d2b383c36ad8b9b489da5ea9c04eca795a215bae61ed6a57cf083cd"}, - {file = "lxml-5.3.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:6fca8a5a13906ba2677a5252752832beb0f483a22f6c86c71a2bb320fba04f61"}, - {file = "lxml-5.3.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ea0c3b7922209160faef194a5b6995bfe7fa05ff7dda6c423ba17646b7b9de10"}, - {file = "lxml-5.3.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0a006390834603e5952a2ff74b9a31a6007c7cc74282a087aa6467afb4eea987"}, - {file = "lxml-5.3.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:eae4136a3b8c4cf76f69461fc8f9410d55d34ea48e1185338848a888d71b9675"}, - {file = "lxml-5.3.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d48e06be8d8c58e7feaedd8a37897a6122637efb1637d7ce00ddf5f11f9a92ad"}, - {file = "lxml-5.3.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4b83aed409134093d90e114007034d2c1ebcd92e501b71fd9ec70e612c8b2eb"}, - {file = "lxml-5.3.2-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7a0e77edfe26d3703f954d46bed52c3ec55f58586f18f4b7f581fc56954f1d84"}, - {file = "lxml-5.3.2-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:19f6fcfd15b82036b4d235749d78785eb9c991c7812012dc084e0d8853b4c1c0"}, - {file = "lxml-5.3.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:d49919c95d31ee06eefd43d8c6f69a3cc9bdf0a9b979cc234c4071f0eb5cb173"}, - {file = "lxml-5.3.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2d0a60841410123c533990f392819804a8448853f06daf412c0f383443925e89"}, - {file = "lxml-5.3.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b7f729e03090eb4e3981f10efaee35e6004b548636b1a062b8b9a525e752abc"}, - {file = "lxml-5.3.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:579df6e20d8acce3bcbc9fb8389e6ae00c19562e929753f534ba4c29cfe0be4b"}, - {file = "lxml-5.3.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2abcf3f3b8367d6400b908d00d4cd279fc0b8efa287e9043820525762d383699"}, - {file = "lxml-5.3.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:348c06cb2e3176ce98bee8c397ecc89181681afd13d85870df46167f140a305f"}, - {file = "lxml-5.3.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:617ecaccd565cbf1ac82ffcaa410e7da5bd3a4b892bb3543fb2fe19bd1c4467d"}, - {file = "lxml-5.3.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c3eb4278dcdb9d86265ed2c20b9ecac45f2d6072e3904542e591e382c87a9c00"}, - {file = "lxml-5.3.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258b6b53458c5cbd2a88795557ff7e0db99f73a96601b70bc039114cd4ee9e02"}, - {file = "lxml-5.3.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0a9d8d25ed2f2183e8471c97d512a31153e123ac5807f61396158ef2793cb6e"}, - {file = "lxml-5.3.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:73bcb635a848c18a3e422ea0ab0092f2e4ef3b02d8ebe87ab49748ebc8ec03d8"}, - {file = "lxml-5.3.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1545de0a69a16ced5767bae8cca1801b842e6e49e96f5e4a8a5acbef023d970b"}, - {file = "lxml-5.3.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:165fcdc2f40fc0fe88a3c3c06c9c2a097388a90bda6a16e6f7c9199c903c9b8e"}, - {file = "lxml-5.3.2.tar.gz", hash = "sha256:773947d0ed809ddad824b7b14467e1a481b8976e87278ac4a730c2f7c7fcddc1"}, + {file = "lxml-5.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e7bc6df34d42322c5289e37e9971d6ed114e3776b45fa879f734bded9d1fea9c"}, + {file = "lxml-5.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6854f8bd8a1536f8a1d9a3655e6354faa6406621cf857dc27b681b69860645c7"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:696ea9e87442467819ac22394ca36cb3d01848dad1be6fac3fb612d3bd5a12cf"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ef80aeac414f33c24b3815ecd560cee272786c3adfa5f31316d8b349bfade28"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b9c2754cef6963f3408ab381ea55f47dabc6f78f4b8ebb0f0b25cf1ac1f7609"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7a62cc23d754bb449d63ff35334acc9f5c02e6dae830d78dab4dd12b78a524f4"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f82125bc7203c5ae8633a7d5d20bcfdff0ba33e436e4ab0abc026a53a8960b7"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:b67319b4aef1a6c56576ff544b67a2a6fbd7eaee485b241cabf53115e8908b8f"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:a8ef956fce64c8551221f395ba21d0724fed6b9b6242ca4f2f7beb4ce2f41997"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:0a01ce7d8479dce84fc03324e3b0c9c90b1ece9a9bb6a1b6c9025e7e4520e78c"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:91505d3ddebf268bb1588eb0f63821f738d20e1e7f05d3c647a5ca900288760b"}, + {file = "lxml-5.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a3bcdde35d82ff385f4ede021df801b5c4a5bcdfb61ea87caabcebfc4945dc1b"}, + {file = "lxml-5.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:aea7c06667b987787c7d1f5e1dfcd70419b711cdb47d6b4bb4ad4b76777a0563"}, + {file = "lxml-5.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:a7fb111eef4d05909b82152721a59c1b14d0f365e2be4c742a473c5d7372f4f5"}, + {file = "lxml-5.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:43d549b876ce64aa18b2328faff70f5877f8c6dede415f80a2f799d31644d776"}, + {file = "lxml-5.4.0-cp310-cp310-win32.whl", hash = "sha256:75133890e40d229d6c5837b0312abbe5bac1c342452cf0e12523477cd3aa21e7"}, + {file = "lxml-5.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:de5b4e1088523e2b6f730d0509a9a813355b7f5659d70eb4f319c76beea2e250"}, + {file = "lxml-5.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:98a3912194c079ef37e716ed228ae0dcb960992100461b704aea4e93af6b0bb9"}, + {file = "lxml-5.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0ea0252b51d296a75f6118ed0d8696888e7403408ad42345d7dfd0d1e93309a7"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b92b69441d1bd39f4940f9eadfa417a25862242ca2c396b406f9272ef09cdcaa"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20e16c08254b9b6466526bc1828d9370ee6c0d60a4b64836bc3ac2917d1e16df"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7605c1c32c3d6e8c990dd28a0970a3cbbf1429d5b92279e37fda05fb0c92190e"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ecf4c4b83f1ab3d5a7ace10bafcb6f11df6156857a3c418244cef41ca9fa3e44"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cef4feae82709eed352cd7e97ae062ef6ae9c7b5dbe3663f104cd2c0e8d94ba"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:df53330a3bff250f10472ce96a9af28628ff1f4efc51ccba351a8820bca2a8ba"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:aefe1a7cb852fa61150fcb21a8c8fcea7b58c4cb11fbe59c97a0a4b31cae3c8c"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:ef5a7178fcc73b7d8c07229e89f8eb45b2908a9238eb90dcfc46571ccf0383b8"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d2ed1b3cb9ff1c10e6e8b00941bb2e5bb568b307bfc6b17dffbbe8be5eecba86"}, + {file = "lxml-5.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:72ac9762a9f8ce74c9eed4a4e74306f2f18613a6b71fa065495a67ac227b3056"}, + {file = "lxml-5.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f5cb182f6396706dc6cc1896dd02b1c889d644c081b0cdec38747573db88a7d7"}, + {file = "lxml-5.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:3a3178b4873df8ef9457a4875703488eb1622632a9cee6d76464b60e90adbfcd"}, + {file = "lxml-5.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e094ec83694b59d263802ed03a8384594fcce477ce484b0cbcd0008a211ca751"}, + {file = "lxml-5.4.0-cp311-cp311-win32.whl", hash = "sha256:4329422de653cdb2b72afa39b0aa04252fca9071550044904b2e7036d9d97fe4"}, + {file = "lxml-5.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:fd3be6481ef54b8cfd0e1e953323b7aa9d9789b94842d0e5b142ef4bb7999539"}, + {file = "lxml-5.4.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b5aff6f3e818e6bdbbb38e5967520f174b18f539c2b9de867b1e7fde6f8d95a4"}, + {file = "lxml-5.4.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942a5d73f739ad7c452bf739a62a0f83e2578afd6b8e5406308731f4ce78b16d"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:460508a4b07364d6abf53acaa0a90b6d370fafde5693ef37602566613a9b0779"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:529024ab3a505fed78fe3cc5ddc079464e709f6c892733e3f5842007cec8ac6e"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ca56ebc2c474e8f3d5761debfd9283b8b18c76c4fc0967b74aeafba1f5647f9"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a81e1196f0a5b4167a8dafe3a66aa67c4addac1b22dc47947abd5d5c7a3f24b5"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00b8686694423ddae324cf614e1b9659c2edb754de617703c3d29ff568448df5"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:c5681160758d3f6ac5b4fea370495c48aac0989d6a0f01bb9a72ad8ef5ab75c4"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:2dc191e60425ad70e75a68c9fd90ab284df64d9cd410ba8d2b641c0c45bc006e"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:67f779374c6b9753ae0a0195a892a1c234ce8416e4448fe1e9f34746482070a7"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:79d5bfa9c1b455336f52343130b2067164040604e41f6dc4d8313867ed540079"}, + {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3d3c30ba1c9b48c68489dc1829a6eede9873f52edca1dda900066542528d6b20"}, + {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1af80c6316ae68aded77e91cd9d80648f7dd40406cef73df841aa3c36f6907c8"}, + {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4d885698f5019abe0de3d352caf9466d5de2baded00a06ef3f1216c1a58ae78f"}, + {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea53d51859b6c64e7c51d522c03cc2c48b9b5d6172126854cc7f01aa11f52bc"}, + {file = "lxml-5.4.0-cp312-cp312-win32.whl", hash = "sha256:d90b729fd2732df28130c064aac9bb8aff14ba20baa4aee7bd0795ff1187545f"}, + {file = "lxml-5.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1dc4ca99e89c335a7ed47d38964abcb36c5910790f9bd106f2a8fa2ee0b909d2"}, + {file = "lxml-5.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:773e27b62920199c6197130632c18fb7ead3257fce1ffb7d286912e56ddb79e0"}, + {file = "lxml-5.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ce9c671845de9699904b1e9df95acfe8dfc183f2310f163cdaa91a3535af95de"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9454b8d8200ec99a224df8854786262b1bd6461f4280064c807303c642c05e76"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cccd007d5c95279e529c146d095f1d39ac05139de26c098166c4beb9374b0f4d"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0fce1294a0497edb034cb416ad3e77ecc89b313cff7adbee5334e4dc0d11f422"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:24974f774f3a78ac12b95e3a20ef0931795ff04dbb16db81a90c37f589819551"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:497cab4d8254c2a90bf988f162ace2ddbfdd806fce3bda3f581b9d24c852e03c"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:e794f698ae4c5084414efea0f5cc9f4ac562ec02d66e1484ff822ef97c2cadff"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_28_ppc64le.whl", hash = "sha256:2c62891b1ea3094bb12097822b3d44b93fc6c325f2043c4d2736a8ff09e65f60"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_28_s390x.whl", hash = "sha256:142accb3e4d1edae4b392bd165a9abdee8a3c432a2cca193df995bc3886249c8"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:1a42b3a19346e5601d1b8296ff6ef3d76038058f311902edd574461e9c036982"}, + {file = "lxml-5.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4291d3c409a17febf817259cb37bc62cb7eb398bcc95c1356947e2871911ae61"}, + {file = "lxml-5.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4f5322cf38fe0e21c2d73901abf68e6329dc02a4994e483adbcf92b568a09a54"}, + {file = "lxml-5.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0be91891bdb06ebe65122aa6bf3fc94489960cf7e03033c6f83a90863b23c58b"}, + {file = "lxml-5.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:15a665ad90054a3d4f397bc40f73948d48e36e4c09f9bcffc7d90c87410e478a"}, + {file = "lxml-5.4.0-cp313-cp313-win32.whl", hash = "sha256:d5663bc1b471c79f5c833cffbc9b87d7bf13f87e055a5c86c363ccd2348d7e82"}, + {file = "lxml-5.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:bcb7a1096b4b6b24ce1ac24d4942ad98f983cd3810f9711bcd0293f43a9d8b9f"}, + {file = "lxml-5.4.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:7be701c24e7f843e6788353c055d806e8bd8466b52907bafe5d13ec6a6dbaecd"}, + {file = "lxml-5.4.0-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb54f7c6bafaa808f27166569b1511fc42701a7713858dddc08afdde9746849e"}, + {file = "lxml-5.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97dac543661e84a284502e0cf8a67b5c711b0ad5fb661d1bd505c02f8cf716d7"}, + {file = "lxml-5.4.0-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:c70e93fba207106cb16bf852e421c37bbded92acd5964390aad07cb50d60f5cf"}, + {file = "lxml-5.4.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:9c886b481aefdf818ad44846145f6eaf373a20d200b5ce1a5c8e1bc2d8745410"}, + {file = "lxml-5.4.0-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:fa0e294046de09acd6146be0ed6727d1f42ded4ce3ea1e9a19c11b6774eea27c"}, + {file = "lxml-5.4.0-cp36-cp36m-win32.whl", hash = "sha256:61c7bbf432f09ee44b1ccaa24896d21075e533cd01477966a5ff5a71d88b2f56"}, + {file = "lxml-5.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:7ce1a171ec325192c6a636b64c94418e71a1964f56d002cc28122fceff0b6121"}, + {file = "lxml-5.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:795f61bcaf8770e1b37eec24edf9771b307df3af74d1d6f27d812e15a9ff3872"}, + {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:29f451a4b614a7b5b6c2e043d7b64a15bd8304d7e767055e8ab68387a8cacf4e"}, + {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:891f7f991a68d20c75cb13c5c9142b2a3f9eb161f1f12a9489c82172d1f133c0"}, + {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4aa412a82e460571fad592d0f93ce9935a20090029ba08eca05c614f99b0cc92"}, + {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:ac7ba71f9561cd7d7b55e1ea5511543c0282e2b6450f122672a2694621d63b7e"}, + {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:c5d32f5284012deaccd37da1e2cd42f081feaa76981f0eaa474351b68df813c5"}, + {file = "lxml-5.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:ce31158630a6ac85bddd6b830cffd46085ff90498b397bd0a259f59d27a12188"}, + {file = "lxml-5.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:31e63621e073e04697c1b2d23fcb89991790eef370ec37ce4d5d469f40924ed6"}, + {file = "lxml-5.4.0-cp37-cp37m-win32.whl", hash = "sha256:be2ba4c3c5b7900246a8f866580700ef0d538f2ca32535e991027bdaba944063"}, + {file = "lxml-5.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:09846782b1ef650b321484ad429217f5154da4d6e786636c38e434fa32e94e49"}, + {file = "lxml-5.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eaf24066ad0b30917186420d51e2e3edf4b0e2ea68d8cd885b14dc8afdcf6556"}, + {file = "lxml-5.4.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b31a3a77501d86d8ade128abb01082724c0dfd9524f542f2f07d693c9f1175f"}, + {file = "lxml-5.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e108352e203c7afd0eb91d782582f00a0b16a948d204d4dec8565024fafeea5"}, + {file = "lxml-5.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a11a96c3b3f7551c8a8109aa65e8594e551d5a84c76bf950da33d0fb6dfafab7"}, + {file = "lxml-5.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:ca755eebf0d9e62d6cb013f1261e510317a41bf4650f22963474a663fdfe02aa"}, + {file = "lxml-5.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:4cd915c0fb1bed47b5e6d6edd424ac25856252f09120e3e8ba5154b6b921860e"}, + {file = "lxml-5.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:226046e386556a45ebc787871d6d2467b32c37ce76c2680f5c608e25823ffc84"}, + {file = "lxml-5.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:b108134b9667bcd71236c5a02aad5ddd073e372fb5d48ea74853e009fe38acb6"}, + {file = "lxml-5.4.0-cp38-cp38-win32.whl", hash = "sha256:1320091caa89805df7dcb9e908add28166113dcd062590668514dbd510798c88"}, + {file = "lxml-5.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:073eb6dcdf1f587d9b88c8c93528b57eccda40209cf9be549d469b942b41d70b"}, + {file = "lxml-5.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bda3ea44c39eb74e2488297bb39d47186ed01342f0022c8ff407c250ac3f498e"}, + {file = "lxml-5.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9ceaf423b50ecfc23ca00b7f50b64baba85fb3fb91c53e2c9d00bc86150c7e40"}, + {file = "lxml-5.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:664cdc733bc87449fe781dbb1f309090966c11cc0c0cd7b84af956a02a8a4729"}, + {file = "lxml-5.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67ed8a40665b84d161bae3181aa2763beea3747f748bca5874b4af4d75998f87"}, + {file = "lxml-5.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b4a3bd174cc9cdaa1afbc4620c049038b441d6ba07629d89a83b408e54c35cd"}, + {file = "lxml-5.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:b0989737a3ba6cf2a16efb857fb0dfa20bc5c542737fddb6d893fde48be45433"}, + {file = "lxml-5.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:dc0af80267edc68adf85f2a5d9be1cdf062f973db6790c1d065e45025fa26140"}, + {file = "lxml-5.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:639978bccb04c42677db43c79bdaa23785dc7f9b83bfd87570da8207872f1ce5"}, + {file = "lxml-5.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a99d86351f9c15e4a901fc56404b485b1462039db59288b203f8c629260a142"}, + {file = "lxml-5.4.0-cp39-cp39-win32.whl", hash = "sha256:3e6d5557989cdc3ebb5302bbdc42b439733a841891762ded9514e74f60319ad6"}, + {file = "lxml-5.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:a8c9b7f16b63e65bbba889acb436a1034a82d34fa09752d754f88d708eca80e1"}, + {file = "lxml-5.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1b717b00a71b901b4667226bba282dd462c42ccf618ade12f9ba3674e1fabc55"}, + {file = "lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27a9ded0f0b52098ff89dd4c418325b987feed2ea5cc86e8860b0f844285d740"}, + {file = "lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b7ce10634113651d6f383aa712a194179dcd496bd8c41e191cec2099fa09de5"}, + {file = "lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:53370c26500d22b45182f98847243efb518d268374a9570409d2e2276232fd37"}, + {file = "lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c6364038c519dffdbe07e3cf42e6a7f8b90c275d4d1617a69bb59734c1a2d571"}, + {file = "lxml-5.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b12cb6527599808ada9eb2cd6e0e7d3d8f13fe7bbb01c6311255a15ded4c7ab4"}, + {file = "lxml-5.4.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5f11a1526ebd0dee85e7b1e39e39a0cc0d9d03fb527f56d8457f6df48a10dc0c"}, + {file = "lxml-5.4.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48b4afaf38bf79109bb060d9016fad014a9a48fb244e11b94f74ae366a64d252"}, + {file = "lxml-5.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de6f6bb8a7840c7bf216fb83eec4e2f79f7325eca8858167b68708b929ab2172"}, + {file = "lxml-5.4.0-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5cca36a194a4eb4e2ed6be36923d3cffd03dcdf477515dea687185506583d4c9"}, + {file = "lxml-5.4.0-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b7c86884ad23d61b025989d99bfdd92a7351de956e01c61307cb87035960bcb1"}, + {file = "lxml-5.4.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:53d9469ab5460402c19553b56c3648746774ecd0681b1b27ea74d5d8a3ef5590"}, + {file = "lxml-5.4.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:56dbdbab0551532bb26c19c914848d7251d73edb507c3079d6805fa8bba5b706"}, + {file = "lxml-5.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14479c2ad1cb08b62bb941ba8e0e05938524ee3c3114644df905d2331c76cd57"}, + {file = "lxml-5.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32697d2ea994e0db19c1df9e40275ffe84973e4232b5c274f47e7c1ec9763cdd"}, + {file = "lxml-5.4.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:24f6df5f24fc3385f622c0c9d63fe34604893bc1a5bdbb2dbf5870f85f9a404a"}, + {file = "lxml-5.4.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:151d6c40bc9db11e960619d2bf2ec5829f0aaffb10b41dcf6ad2ce0f3c0b2325"}, + {file = "lxml-5.4.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4025bf2884ac4370a3243c5aa8d66d3cb9e15d3ddd0af2d796eccc5f0244390e"}, + {file = "lxml-5.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:9459e6892f59ecea2e2584ee1058f5d8f629446eab52ba2305ae13a32a059530"}, + {file = "lxml-5.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47fb24cc0f052f0576ea382872b3fc7e1f7e3028e53299ea751839418ade92a6"}, + {file = "lxml-5.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50441c9de951a153c698b9b99992e806b71c1f36d14b154592580ff4a9d0d877"}, + {file = "lxml-5.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:ab339536aa798b1e17750733663d272038bf28069761d5be57cb4a9b0137b4f8"}, + {file = "lxml-5.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9776af1aad5a4b4a1317242ee2bea51da54b2a7b7b48674be736d463c999f37d"}, + {file = "lxml-5.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:63e7968ff83da2eb6fdda967483a7a023aa497d85ad8f05c3ad9b1f2e8c84987"}, + {file = "lxml-5.4.0.tar.gz", hash = "sha256:d12832e1dbea4be280b22fd0ea7c9b87f0d8fc51ba06e92dc62d52f804f78ebd"}, ] [package.extras] @@ -2220,5 +2216,5 @@ files = [ [metadata] lock-version = "2.1" -python-versions = ">=3.9" -content-hash = "16f851ca4362359f50adc030b83d86811794a98bb3a6b343f5c02fe6ea58dd26" +python-versions = ">=3.9.2" +content-hash = "e12a04c5458e05f75bb4e9fbccbda6cb1d12ff2327d2aa1c3cee11eff07d9f5e" diff --git a/pyproject.toml b/pyproject.toml index 604b4efa..6b014a9a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,20 +1,18 @@ [project] name = "unstructured-client" -version = "0.34.0" +version = "0.35.0" description = "Python Client SDK for Unstructured API" authors = [{ name = "Unstructured" },] readme = "README-PYPI.md" -requires-python = ">=3.9" +requires-python = ">=3.9.2" dependencies = [ "aiofiles >=24.1.0", "cryptography >=3.1", - "eval-type-backport >=0.2.0", "httpx >=0.27.0", "nest-asyncio >=1.6.0", "pydantic >=2.11.2", "pypdf >=4.0", "requests-toolbelt >=1.0.0", - "typing-inspection >=0.4.0", ] [tool.poetry] @@ -38,12 +36,12 @@ mypy = "==1.15.0" pylint = "==3.2.3" pytest = ">=8.3.3" pytest-asyncio = ">=0.24.0" +pytest-httpx = ">=0.35.0" pytest-mock = ">=3.14.0" +pytest-xdist = "^3.5.0" types-aiofiles = ">=24.1.0" -uvloop = ">=0.20.0" -pytest-httpx = ">=0.35.0" unstructured = ">= 0.17.2" -pytest-xdist = "^3.5.0" +uvloop = ">=0.20.0" [build-system] requires = ["poetry-core"] diff --git a/src/unstructured_client/_version.py b/src/unstructured_client/_version.py index e24f349a..44778d15 100644 --- a/src/unstructured_client/_version.py +++ b/src/unstructured_client/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "unstructured-client" -__version__: str = "0.34.0" -__openapi_doc_version__: str = "1.1.7" -__gen_version__: str = "2.588.0" -__user_agent__: str = "speakeasy-sdk/python 0.34.0 2.588.0 1.1.7 unstructured-client" +__version__: str = "0.35.0" +__openapi_doc_version__: str = "1.1.13" +__gen_version__: str = "2.599.0" +__user_agent__: str = "speakeasy-sdk/python 0.35.0 2.599.0 1.1.13 unstructured-client" try: if __package__ is not None: diff --git a/src/unstructured_client/httpclient.py b/src/unstructured_client/httpclient.py index 1e426352..ad528d8d 100644 --- a/src/unstructured_client/httpclient.py +++ b/src/unstructured_client/httpclient.py @@ -2,7 +2,6 @@ # pyright: reportReturnType = false import asyncio -from concurrent.futures import ThreadPoolExecutor from typing_extensions import Protocol, runtime_checkable import httpx from typing import Any, Optional, Union @@ -116,21 +115,42 @@ def close_clients( pass if async_client is not None and not async_client_supplied: - is_async = False + # First, try the simplest approach - use asyncio.run() + # This works when we're not in an async context try: - asyncio.get_running_loop() - is_async = True - except RuntimeError: - pass - - try: - # If this function is called in an async loop then start another - # loop in a separate thread to close the async http client. - if is_async: - with ThreadPoolExecutor(max_workers=1) as executor: - future = executor.submit(asyncio.run, async_client.aclose()) - future.result() + asyncio.run(async_client.aclose()) + except RuntimeError as e: + # If we get "RuntimeError: This event loop is already running", + # it means we're in an async context + if "already running" in str(e): + try: + # We're in an async context, so get the running loop + loop = asyncio.get_running_loop() + # Create a task but don't wait for it + loop.create_task(async_client.aclose()) + except Exception: + # If we can't get the loop or create a task, just ignore + # The GC will eventually clean up the resources + pass + # If we get "RuntimeError: There is no current event loop in thread", + # we're not in an async context, but asyncio.run() failed for some reason + # In this case, we can try to create a new event loop explicitly + elif "no current event loop" in str(e): + try: + # Create a new event loop and run the coroutine + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + try: + loop.run_until_complete(async_client.aclose()) + finally: + loop.close() + asyncio.set_event_loop(None) + except Exception: + # If this also fails, just ignore + pass + # For any other RuntimeError, just ignore else: - asyncio.run(async_client.aclose()) + pass except Exception: + # For any other exception, just ignore pass diff --git a/src/unstructured_client/models/shared/__init__.py b/src/unstructured_client/models/shared/__init__.py index 26e65b5c..ae4070ae 100644 --- a/src/unstructured_client/models/shared/__init__.py +++ b/src/unstructured_client/models/shared/__init__.py @@ -152,6 +152,14 @@ GoogleDriveSourceConnectorConfigInput, GoogleDriveSourceConnectorConfigInputTypedDict, ) +from .ibmwatsonxs3destinationconnectorconfig import ( + IBMWatsonxS3DestinationConnectorConfig, + IBMWatsonxS3DestinationConnectorConfigTypedDict, +) +from .ibmwatsonxs3destinationconnectorconfiginput import ( + IBMWatsonxS3DestinationConnectorConfigInput, + IBMWatsonxS3DestinationConnectorConfigInputTypedDict, +) from .jirasourceconnectorconfig import ( JiraSourceConnectorConfig, JiraSourceConnectorConfigTypedDict, @@ -365,6 +373,7 @@ WeaviateDestinationConnectorConfigInputTypedDict, ) from .workflowinformation import WorkflowInformation, WorkflowInformationTypedDict +from .workflowjobtype import WorkflowJobType from .workflownode import WorkflowNode, WorkflowNodeTypedDict from .workflowschedule import WorkflowSchedule, WorkflowScheduleTypedDict from .workflowstate import WorkflowState @@ -464,6 +473,10 @@ "GoogleDriveSourceConnectorConfigInput", "GoogleDriveSourceConnectorConfigInputTypedDict", "GoogleDriveSourceConnectorConfigTypedDict", + "IBMWatsonxS3DestinationConnectorConfig", + "IBMWatsonxS3DestinationConnectorConfigInput", + "IBMWatsonxS3DestinationConnectorConfigInputTypedDict", + "IBMWatsonxS3DestinationConnectorConfigTypedDict", "InputFiles", "InputFilesTypedDict", "JiraSourceConnectorConfig", @@ -586,6 +599,7 @@ "WeaviateDestinationConnectorConfigTypedDict", "WorkflowInformation", "WorkflowInformationTypedDict", + "WorkflowJobType", "WorkflowNode", "WorkflowNodeTypedDict", "WorkflowSchedule", diff --git a/src/unstructured_client/models/shared/createdestinationconnector.py b/src/unstructured_client/models/shared/createdestinationconnector.py index a6699c29..f187a067 100644 --- a/src/unstructured_client/models/shared/createdestinationconnector.py +++ b/src/unstructured_client/models/shared/createdestinationconnector.py @@ -34,6 +34,10 @@ GCSDestinationConnectorConfigInput, GCSDestinationConnectorConfigInputTypedDict, ) +from .ibmwatsonxs3destinationconnectorconfiginput import ( + IBMWatsonxS3DestinationConnectorConfigInput, + IBMWatsonxS3DestinationConnectorConfigInputTypedDict, +) from .kafkaclouddestinationconnectorconfiginput import ( KafkaCloudDestinationConnectorConfigInput, KafkaCloudDestinationConnectorConfigInputTypedDict, @@ -110,6 +114,7 @@ RedisDestinationConnectorConfigInputTypedDict, DatabricksVDTDestinationConnectorConfigInputTypedDict, SnowflakeDestinationConnectorConfigInputTypedDict, + IBMWatsonxS3DestinationConnectorConfigInputTypedDict, ], ) @@ -137,6 +142,7 @@ RedisDestinationConnectorConfigInput, DatabricksVDTDestinationConnectorConfigInput, SnowflakeDestinationConnectorConfigInput, + IBMWatsonxS3DestinationConnectorConfigInput, ], ) diff --git a/src/unstructured_client/models/shared/createsourceconnector.py b/src/unstructured_client/models/shared/createsourceconnector.py index 46f62862..55dc7546 100644 --- a/src/unstructured_client/models/shared/createsourceconnector.py +++ b/src/unstructured_client/models/shared/createsourceconnector.py @@ -105,9 +105,9 @@ OneDriveSourceConnectorConfigInputTypedDict, OutlookSourceConnectorConfigInputTypedDict, SharePointSourceConnectorConfigInputTypedDict, - JiraSourceConnectorConfigInputTypedDict, CouchbaseSourceConnectorConfigInputTypedDict, PostgresSourceConnectorConfigInputTypedDict, + JiraSourceConnectorConfigInputTypedDict, ConfluenceSourceConnectorConfigInputTypedDict, SnowflakeSourceConnectorConfigInputTypedDict, ], @@ -132,9 +132,9 @@ OneDriveSourceConnectorConfigInput, OutlookSourceConnectorConfigInput, SharePointSourceConnectorConfigInput, - JiraSourceConnectorConfigInput, CouchbaseSourceConnectorConfigInput, PostgresSourceConnectorConfigInput, + JiraSourceConnectorConfigInput, ConfluenceSourceConnectorConfigInput, SnowflakeSourceConnectorConfigInput, ], diff --git a/src/unstructured_client/models/shared/destinationconnectorinformation.py b/src/unstructured_client/models/shared/destinationconnectorinformation.py index e25b50af..e913f9c0 100644 --- a/src/unstructured_client/models/shared/destinationconnectorinformation.py +++ b/src/unstructured_client/models/shared/destinationconnectorinformation.py @@ -34,6 +34,10 @@ GCSDestinationConnectorConfig, GCSDestinationConnectorConfigTypedDict, ) +from .ibmwatsonxs3destinationconnectorconfig import ( + IBMWatsonxS3DestinationConnectorConfig, + IBMWatsonxS3DestinationConnectorConfigTypedDict, +) from .kafkaclouddestinationconnectorconfig import ( KafkaCloudDestinationConnectorConfig, KafkaCloudDestinationConnectorConfigTypedDict, @@ -118,6 +122,7 @@ RedisDestinationConnectorConfigTypedDict, DatabricksVDTDestinationConnectorConfigTypedDict, SnowflakeDestinationConnectorConfigTypedDict, + IBMWatsonxS3DestinationConnectorConfigTypedDict, ], ) @@ -145,6 +150,7 @@ RedisDestinationConnectorConfig, DatabricksVDTDestinationConnectorConfig, SnowflakeDestinationConnectorConfig, + IBMWatsonxS3DestinationConnectorConfig, ], ) diff --git a/src/unstructured_client/models/shared/destinationconnectortype.py b/src/unstructured_client/models/shared/destinationconnectortype.py index 098a3b38..ecfd12b4 100644 --- a/src/unstructured_client/models/shared/destinationconnectortype.py +++ b/src/unstructured_client/models/shared/destinationconnectortype.py @@ -26,3 +26,4 @@ class DestinationConnectorType(str, Enum): S3 = "s3" SNOWFLAKE = "snowflake" WEAVIATE_CLOUD = "weaviate-cloud" + IBM_WATSONX_S3 = "ibm_watsonx_s3" diff --git a/src/unstructured_client/models/shared/ibmwatsonxs3destinationconnectorconfig.py b/src/unstructured_client/models/shared/ibmwatsonxs3destinationconnectorconfig.py new file mode 100644 index 00000000..3e668bfc --- /dev/null +++ b/src/unstructured_client/models/shared/ibmwatsonxs3destinationconnectorconfig.py @@ -0,0 +1,46 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from typing_extensions import TypedDict +from unstructured_client.types import BaseModel + + +class IBMWatsonxS3DestinationConnectorConfigTypedDict(TypedDict): + access_key_id: str + catalog: str + iam_api_key: str + iceberg_endpoint: str + max_retries: int + max_retries_connection: int + namespace: str + object_storage_endpoint: str + object_storage_region: str + record_id_key: str + secret_access_key: str + table: str + + +class IBMWatsonxS3DestinationConnectorConfig(BaseModel): + access_key_id: str + + catalog: str + + iam_api_key: str + + iceberg_endpoint: str + + max_retries: int + + max_retries_connection: int + + namespace: str + + object_storage_endpoint: str + + object_storage_region: str + + record_id_key: str + + secret_access_key: str + + table: str diff --git a/src/unstructured_client/models/shared/ibmwatsonxs3destinationconnectorconfiginput.py b/src/unstructured_client/models/shared/ibmwatsonxs3destinationconnectorconfiginput.py new file mode 100644 index 00000000..cc9227fc --- /dev/null +++ b/src/unstructured_client/models/shared/ibmwatsonxs3destinationconnectorconfiginput.py @@ -0,0 +1,53 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from typing import Optional +from typing_extensions import NotRequired, TypedDict +from unstructured_client.types import BaseModel + + +class IBMWatsonxS3DestinationConnectorConfigInputTypedDict(TypedDict): + access_key_id: str + catalog: str + iam_api_key: str + iceberg_endpoint: str + namespace: str + object_storage_endpoint: str + object_storage_region: str + secret_access_key: str + table: str + max_retries: NotRequired[int] + r"""Maximum number of retries to upload data""" + max_retries_connection: NotRequired[int] + r"""Maximum number of retries in case of a connection error""" + record_id_key: NotRequired[str] + r"""Searchable key to find entries for the same record on previous runs""" + + +class IBMWatsonxS3DestinationConnectorConfigInput(BaseModel): + access_key_id: str + + catalog: str + + iam_api_key: str + + iceberg_endpoint: str + + namespace: str + + object_storage_endpoint: str + + object_storage_region: str + + secret_access_key: str + + table: str + + max_retries: Optional[int] = 50 + r"""Maximum number of retries to upload data""" + + max_retries_connection: Optional[int] = 10 + r"""Maximum number of retries in case of a connection error""" + + record_id_key: Optional[str] = "record_id" + r"""Searchable key to find entries for the same record on previous runs""" diff --git a/src/unstructured_client/models/shared/jirasourceconnectorconfig.py b/src/unstructured_client/models/shared/jirasourceconnectorconfig.py index aabcd8d2..5f683100 100644 --- a/src/unstructured_client/models/shared/jirasourceconnectorconfig.py +++ b/src/unstructured_client/models/shared/jirasourceconnectorconfig.py @@ -18,9 +18,11 @@ class JiraSourceConnectorConfigTypedDict(TypedDict): username: str boards: NotRequired[Nullable[List[str]]] cloud: NotRequired[Nullable[bool]] + download_attachments: NotRequired[Nullable[bool]] issues: NotRequired[Nullable[List[str]]] password: NotRequired[Nullable[str]] projects: NotRequired[Nullable[List[str]]] + status_filters: NotRequired[Nullable[List[str]]] token: NotRequired[Nullable[str]] @@ -33,18 +35,40 @@ class JiraSourceConnectorConfig(BaseModel): cloud: OptionalNullable[bool] = UNSET + download_attachments: OptionalNullable[bool] = UNSET + issues: OptionalNullable[List[str]] = UNSET password: OptionalNullable[str] = UNSET projects: OptionalNullable[List[str]] = UNSET + status_filters: OptionalNullable[List[str]] = UNSET + token: OptionalNullable[str] = UNSET @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["boards", "cloud", "issues", "password", "projects", "token"] - nullable_fields = ["boards", "cloud", "issues", "password", "projects", "token"] + optional_fields = [ + "boards", + "cloud", + "download_attachments", + "issues", + "password", + "projects", + "status_filters", + "token", + ] + nullable_fields = [ + "boards", + "cloud", + "download_attachments", + "issues", + "password", + "projects", + "status_filters", + "token", + ] null_default_fields = [] serialized = handler(self) diff --git a/src/unstructured_client/models/shared/jirasourceconnectorconfiginput.py b/src/unstructured_client/models/shared/jirasourceconnectorconfiginput.py index 043090b1..84e19da2 100644 --- a/src/unstructured_client/models/shared/jirasourceconnectorconfiginput.py +++ b/src/unstructured_client/models/shared/jirasourceconnectorconfiginput.py @@ -18,9 +18,11 @@ class JiraSourceConnectorConfigInputTypedDict(TypedDict): username: str boards: NotRequired[Nullable[List[str]]] cloud: NotRequired[Nullable[bool]] + download_attachments: NotRequired[Nullable[bool]] issues: NotRequired[Nullable[List[str]]] password: NotRequired[Nullable[str]] projects: NotRequired[Nullable[List[str]]] + status_filters: NotRequired[Nullable[List[str]]] token: NotRequired[Nullable[str]] @@ -33,18 +35,40 @@ class JiraSourceConnectorConfigInput(BaseModel): cloud: OptionalNullable[bool] = UNSET + download_attachments: OptionalNullable[bool] = UNSET + issues: OptionalNullable[List[str]] = UNSET password: OptionalNullable[str] = UNSET projects: OptionalNullable[List[str]] = UNSET + status_filters: OptionalNullable[List[str]] = UNSET + token: OptionalNullable[str] = UNSET @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["boards", "cloud", "issues", "password", "projects", "token"] - nullable_fields = ["boards", "cloud", "issues", "password", "projects", "token"] + optional_fields = [ + "boards", + "cloud", + "download_attachments", + "issues", + "password", + "projects", + "status_filters", + "token", + ] + nullable_fields = [ + "boards", + "cloud", + "download_attachments", + "issues", + "password", + "projects", + "status_filters", + "token", + ] null_default_fields = [] serialized = handler(self) diff --git a/src/unstructured_client/models/shared/jobinformation.py b/src/unstructured_client/models/shared/jobinformation.py index 6b65dd23..ee21007f 100644 --- a/src/unstructured_client/models/shared/jobinformation.py +++ b/src/unstructured_client/models/shared/jobinformation.py @@ -3,9 +3,10 @@ from __future__ import annotations from .jobstatus import JobStatus from .nodefilemetadata import NodeFileMetadata, NodeFileMetadataTypedDict +from .workflowjobtype import WorkflowJobType from datetime import datetime from pydantic import model_serializer -from typing import List +from typing import List, Optional from typing_extensions import NotRequired, TypedDict from unstructured_client.types import ( BaseModel, @@ -23,6 +24,7 @@ class JobInformationTypedDict(TypedDict): workflow_id: str workflow_name: str input_file_ids: NotRequired[Nullable[List[str]]] + job_type: NotRequired[WorkflowJobType] output_node_files: NotRequired[Nullable[List[NodeFileMetadataTypedDict]]] runtime: NotRequired[Nullable[str]] @@ -40,13 +42,15 @@ class JobInformation(BaseModel): input_file_ids: OptionalNullable[List[str]] = UNSET + job_type: Optional[WorkflowJobType] = None + output_node_files: OptionalNullable[List[NodeFileMetadata]] = UNSET runtime: OptionalNullable[str] = UNSET @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["input_file_ids", "output_node_files", "runtime"] + optional_fields = ["input_file_ids", "job_type", "output_node_files", "runtime"] nullable_fields = ["input_file_ids", "output_node_files", "runtime"] null_default_fields = [] diff --git a/src/unstructured_client/models/shared/sourceconnectorinformation.py b/src/unstructured_client/models/shared/sourceconnectorinformation.py index 6d7f3736..b15ef981 100644 --- a/src/unstructured_client/models/shared/sourceconnectorinformation.py +++ b/src/unstructured_client/models/shared/sourceconnectorinformation.py @@ -113,9 +113,9 @@ OutlookSourceConnectorConfigTypedDict, S3SourceConnectorConfigTypedDict, SharePointSourceConnectorConfigTypedDict, - JiraSourceConnectorConfigTypedDict, CouchbaseSourceConnectorConfigTypedDict, PostgresSourceConnectorConfigTypedDict, + JiraSourceConnectorConfigTypedDict, ConfluenceSourceConnectorConfigTypedDict, SnowflakeSourceConnectorConfigTypedDict, ], @@ -140,9 +140,9 @@ OutlookSourceConnectorConfig, S3SourceConnectorConfig, SharePointSourceConnectorConfig, - JiraSourceConnectorConfig, CouchbaseSourceConnectorConfig, PostgresSourceConnectorConfig, + JiraSourceConnectorConfig, ConfluenceSourceConnectorConfig, SnowflakeSourceConnectorConfig, ], diff --git a/src/unstructured_client/models/shared/updatedestinationconnector.py b/src/unstructured_client/models/shared/updatedestinationconnector.py index c0499187..f0164ca1 100644 --- a/src/unstructured_client/models/shared/updatedestinationconnector.py +++ b/src/unstructured_client/models/shared/updatedestinationconnector.py @@ -33,6 +33,10 @@ GCSDestinationConnectorConfigInput, GCSDestinationConnectorConfigInputTypedDict, ) +from .ibmwatsonxs3destinationconnectorconfiginput import ( + IBMWatsonxS3DestinationConnectorConfigInput, + IBMWatsonxS3DestinationConnectorConfigInputTypedDict, +) from .kafkaclouddestinationconnectorconfiginput import ( KafkaCloudDestinationConnectorConfigInput, KafkaCloudDestinationConnectorConfigInputTypedDict, @@ -109,6 +113,7 @@ RedisDestinationConnectorConfigInputTypedDict, DatabricksVDTDestinationConnectorConfigInputTypedDict, SnowflakeDestinationConnectorConfigInputTypedDict, + IBMWatsonxS3DestinationConnectorConfigInputTypedDict, ], ) @@ -136,6 +141,7 @@ RedisDestinationConnectorConfigInput, DatabricksVDTDestinationConnectorConfigInput, SnowflakeDestinationConnectorConfigInput, + IBMWatsonxS3DestinationConnectorConfigInput, ], ) diff --git a/src/unstructured_client/models/shared/updatesourceconnector.py b/src/unstructured_client/models/shared/updatesourceconnector.py index 54c19445..9c544b90 100644 --- a/src/unstructured_client/models/shared/updatesourceconnector.py +++ b/src/unstructured_client/models/shared/updatesourceconnector.py @@ -104,9 +104,9 @@ OneDriveSourceConnectorConfigInputTypedDict, OutlookSourceConnectorConfigInputTypedDict, SharePointSourceConnectorConfigInputTypedDict, - JiraSourceConnectorConfigInputTypedDict, CouchbaseSourceConnectorConfigInputTypedDict, PostgresSourceConnectorConfigInputTypedDict, + JiraSourceConnectorConfigInputTypedDict, ConfluenceSourceConnectorConfigInputTypedDict, SnowflakeSourceConnectorConfigInputTypedDict, ], @@ -131,9 +131,9 @@ OneDriveSourceConnectorConfigInput, OutlookSourceConnectorConfigInput, SharePointSourceConnectorConfigInput, - JiraSourceConnectorConfigInput, CouchbaseSourceConnectorConfigInput, PostgresSourceConnectorConfigInput, + JiraSourceConnectorConfigInput, ConfluenceSourceConnectorConfigInput, SnowflakeSourceConnectorConfigInput, ], diff --git a/src/unstructured_client/models/shared/workflowjobtype.py b/src/unstructured_client/models/shared/workflowjobtype.py new file mode 100644 index 00000000..1458e867 --- /dev/null +++ b/src/unstructured_client/models/shared/workflowjobtype.py @@ -0,0 +1,10 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from enum import Enum + + +class WorkflowJobType(str, Enum): + EPHEMERAL = "ephemeral" + PERSISTENT = "persistent" + SCHEDULED = "scheduled" diff --git a/src/unstructured_client/utils/serializers.py b/src/unstructured_client/utils/serializers.py index baa41fbd..76e44d71 100644 --- a/src/unstructured_client/utils/serializers.py +++ b/src/unstructured_client/utils/serializers.py @@ -1,13 +1,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from decimal import Decimal +import functools import json -from typing import Any, Dict, List, Union, get_args -import httpx +import typing +from typing import Any, Dict, List, Tuple, Union, get_args +import typing_extensions from typing_extensions import get_origin + +import httpx from pydantic import ConfigDict, create_model from pydantic_core import from_json -from typing_inspection.typing_objects import is_union from ..types.basemodel import BaseModel, Nullable, OptionalNullable, Unset @@ -185,6 +188,13 @@ def is_nullable(field): return False +def is_union(obj: object) -> bool: + """ + Returns True if the given object is a typing.Union or typing_extensions.Union. + """ + return any(obj is typing_obj for typing_obj in _get_typing_objects_by_name_of("Union")) + + def stream_to_text(stream: httpx.Response) -> str: return "".join(stream.iter_text()) @@ -217,3 +227,22 @@ def _contains_pydantic_model(data: Any) -> bool: return any(_contains_pydantic_model(value) for value in data.values()) return False + + +@functools.cache +def _get_typing_objects_by_name_of(name: str) -> Tuple[Any, ...]: + """ + Get typing objects by name from typing and typing_extensions. + Reference: https://typing-extensions.readthedocs.io/en/latest/#runtime-use-of-types + """ + result = tuple( + getattr(module, name) + for module in (typing, typing_extensions) + if hasattr(module, name) + ) + if not result: + raise ValueError( + f"Neither typing nor typing_extensions has an object called {name!r}" + ) + return result +