From 45103466d4d9effe999721ed6bd6fd02946b2bd7 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Sun, 9 Nov 2025 00:09:41 +0000 Subject: [PATCH] ## Python SDK Changes Detected: * `ragie.documents.get_source()`: `response.status[200]` **Changed** **Breaking** :warning: * `ragie.authenticators.create_authenticator_connection()`: * `request.create_authenticator_connection.connection.[sharepoint].data` **Changed** **Breaking** :warning: --- .speakeasy/gen.lock | 19 +++++++------ .speakeasy/gen.yaml | 3 +- .speakeasy/workflow.lock | 14 +++++----- RELEASES.md | 12 +++++++- docs/models/sharepointdata.md | 9 +++--- docs/models/sharepointdrivedata.md | 9 ++++++ docs/models/sharepointfiledata.md | 3 +- pyproject.toml | 2 +- src/ragie/_version.py | 6 ++-- src/ragie/documents.py | 8 +++--- src/ragie/models/__init__.py | 5 ++++ src/ragie/models/sharepointdata.py | 37 ++++++++++++++++++++++++- src/ragie/models/sharepointdrivedata.py | 16 +++++++++++ src/ragie/models/sharepointfiledata.py | 36 +++++++++++++++++++++++- 14 files changed, 147 insertions(+), 32 deletions(-) create mode 100644 docs/models/sharepointdrivedata.md create mode 100644 src/ragie/models/sharepointdrivedata.py diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index fdcc49c..ec49e3c 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 891d898b-5da4-4813-8dd3-fceb5b9832fe management: - docChecksum: bf28c7679ddea849daa903e0993f7d99 + docChecksum: aa2201ab955d3c1a12f853b9d2ea4458 docVersion: 1.0.0 - speakeasyVersion: 1.637.3 - generationVersion: 2.727.9 - releaseVersion: 1.13.0 - configChecksum: 44adeaa41b793605d2a6b3befc34dec8 + speakeasyVersion: 1.651.0 + generationVersion: 2.745.2 + releaseVersion: 1.14.0 + configChecksum: aeec2e85c5ec74d5920e1113d50ccf89 repoURL: https://github.com/ragieai/ragie-python.git installationURL: https://github.com/ragieai/ragie-python.git published: true @@ -14,7 +14,7 @@ features: python: additionalDependencies: 1.0.0 constsAndDefaults: 1.0.5 - core: 5.23.0 + core: 5.23.5 defaultEnabledRetries: 0.2.0 devContainers: 3.0.0 downloadStreams: 1.0.1 @@ -25,7 +25,7 @@ features: globalSecurity: 3.0.4 globalSecurityCallbacks: 1.0.0 globalSecurityFlattening: 1.0.0 - globalServerURLs: 3.1.1 + globalServerURLs: 3.2.0 groups: 3.0.1 methodArguments: 1.0.2 multipartFileContentType: 1.0.0 @@ -250,6 +250,7 @@ generatedFiles: - docs/models/setconnectionlimitsconnectionsconnectionidlimitputrequest.md - docs/models/setpartitionlimitspartitionspartitionidlimitsputrequest.md - docs/models/sharepointdata.md + - docs/models/sharepointdrivedata.md - docs/models/sharepointfiledata.md - docs/models/sharepointsitedata.md - docs/models/slackdata.md @@ -472,6 +473,7 @@ generatedFiles: - src/ragie/models/set_partition_limits_partitions_partition_id_limits_putop.py - src/ragie/models/setconnectionenabledpayload.py - src/ragie/models/sharepointdata.py + - src/ragie/models/sharepointdrivedata.py - src/ragie/models/sharepointfiledata.py - src/ragie/models/sharepointsitedata.py - src/ragie/models/slackdata.py @@ -768,6 +770,7 @@ examples: responses: "200": application/octet-stream: "x-file: example.file" + '*/*': "x-file: example.file" "422": application/json: {} "401": @@ -1222,4 +1225,4 @@ examples: application/json: {"detail": ""} examplesVersion: 1.0.2 generatedTests: {} -releaseNotes: "## Python SDK Changes Detected:\n* `ragie.responses.create()`: `response` **Changed** **Breaking** :warning:\n* `ragie.responses.get()`: `response` **Changed** **Breaking** :warning:\n* `ragie.connections.create_o_auth_redirect_url()`: \n * `request.metadata.{}.[number]` **Added**\n* `ragie.connections.set_enabled()`: `response.metadata.{}.[number]` **Added**\n* `ragie.documents.create_document_from_url()`: \n * `request.metadata.{}.[number]` **Added**\n * `response.metadata.{}.[number]` **Added**\n* `ragie.documents.get()`: `response.metadata.{}.[number]` **Added**\n* `ragie.documents.patch_metadata()`: `response.[document_metadata_update].metadata.{}.[number]` **Added**\n* `ragie.documents.get_content()`: `response.metadata.{}.[number]` **Added**\n* `ragie.connections.create_connection()`: \n * `request.metadata.{}.[number]` **Added**\n * `response.metadata.{}.[number]` **Added**\n* `ragie.connections.list()`: `response.connections.[].metadata.{}.[number]` **Added**\n* `ragie.partitions.update()`: **Added**\n* `ragie.documents.create_raw()`: \n * `request.metadata.{}.[number]` **Added**\n * `response.metadata.{}.[number]` **Added**\n* `ragie.connections.get()`: `response.metadata.{}.[number]` **Added**\n* `ragie.connections.update()`: \n * `request.connection_base.metadata.{}.[number]` **Added**\n * `response.metadata.{}.[number]` **Added**\n* `ragie.connections.set_limits()`: `response.metadata.{}.[number]` **Added**\n* `ragie.partitions.list()`: `response.partitions.[]` **Changed**\n* `ragie.partitions.create()`: \n * `request.description` **Added**\n * `response` **Changed**\n* `ragie.partitions.get()`: `response` **Changed**\n* `ragie.partitions.set_limits()`: `response` **Changed**\n* `ragie.authenticators.create_authenticator_connection()`: \n * `request.create_authenticator_connection.metadata.{}.[number]` **Added**\n * `response.metadata.{}.[number]` **Added**\n* `ragie.documents.create()`: `response.metadata.{}.[number]` **Added**\n* `ragie.documents.list()`: `response.documents.[].metadata.{}.[number]` **Added**\n" +releaseNotes: "## Python SDK Changes Detected:\n* `ragie.documents.get_source()`: `response.status[200]` **Changed** **Breaking** :warning:\n* `ragie.authenticators.create_authenticator_connection()`: \n * `request.create_authenticator_connection.connection.[sharepoint].data` **Changed** **Breaking** :warning:\n" diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index ef5db36..03cfaed 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -22,12 +22,13 @@ generation: hoistGlobalSecurity: true schemas: allOfMergeStrategy: shallowMerge + requestBodyFieldName: "" tests: generateTests: true generateNewTests: false skipResponseBodyAssertions: false python: - version: 1.13.0 + version: 1.14.0 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 5bfc7d7..88c0905 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,21 +1,21 @@ -speakeasyVersion: 1.637.3 +speakeasyVersion: 1.651.0 sources: Ragie-OAS: sourceNamespace: ragie-oas - sourceRevisionDigest: sha256:20c38add656b3f97d73dd7b91d4b6a230c0d039a8f622ebdd32990bbd635a400 - sourceBlobDigest: sha256:6d5db1fdd972bae787e5b8f3730075db7a2410982354cb534ff9f548dce9aea4 + sourceRevisionDigest: sha256:6b2cf84f23c8aff4ff72347928090c4bcaa250b51cf2a622c737a8bdbda83fd4 + sourceBlobDigest: sha256:e09a8628ee3da98d5bd298f7eec0d1cc2514d33deab7c8ceef5eae5fadd53ce0 tags: - latest - - speakeasy-sdk-regen-1759190870 + - speakeasy-sdk-regen-1762387664 - 1.0.0 targets: ragie: source: Ragie-OAS sourceNamespace: ragie-oas - sourceRevisionDigest: sha256:20c38add656b3f97d73dd7b91d4b6a230c0d039a8f622ebdd32990bbd635a400 - sourceBlobDigest: sha256:6d5db1fdd972bae787e5b8f3730075db7a2410982354cb534ff9f548dce9aea4 + sourceRevisionDigest: sha256:6b2cf84f23c8aff4ff72347928090c4bcaa250b51cf2a622c737a8bdbda83fd4 + sourceBlobDigest: sha256:e09a8628ee3da98d5bd298f7eec0d1cc2514d33deab7c8ceef5eae5fadd53ce0 codeSamplesNamespace: ragie-oas-python-code-samples - codeSamplesRevisionDigest: sha256:f4d22ee8fb45a5e2205d5510d0fb19fb0f5ad016245e5db78341daaf8bae989e + codeSamplesRevisionDigest: sha256:7db49e09452f7b408bc9558b1e83a96097c6d4b51774cab280e180f02d1b2596 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 8acee28..99055fc 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -248,4 +248,14 @@ Based on: ### Generated - [python v1.13.0] . ### Releases -- [PyPI v1.13.0] https://pypi.org/project/ragie/1.13.0 - . \ No newline at end of file +- [PyPI v1.13.0] https://pypi.org/project/ragie/1.13.0 - . + +## 2025-11-09 00:08:28 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.651.0 (2.745.2) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.14.0] . +### Releases +- [PyPI v1.14.0] https://pypi.org/project/ragie/1.14.0 - . \ No newline at end of file diff --git a/docs/models/sharepointdata.md b/docs/models/sharepointdata.md index 2566b20..5634159 100644 --- a/docs/models/sharepointdata.md +++ b/docs/models/sharepointdata.md @@ -3,7 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | -| `site` | [models.SharepointSiteData](../models/sharepointsitedata.md) | :heavy_check_mark: | N/A | -| `files` | List[[models.SharepointFileData](../models/sharepointfiledata.md)] | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `site` | [models.SharepointSiteData](../models/sharepointsitedata.md) | :heavy_check_mark: | N/A | +| `drive` | [Nullable[models.SharepointDriveData]](../models/sharepointdrivedata.md) | :heavy_check_mark: | N/A | +| `files` | List[[models.SharepointFileData](../models/sharepointfiledata.md)] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/sharepointdrivedata.md b/docs/models/sharepointdrivedata.md new file mode 100644 index 0000000..d319b12 --- /dev/null +++ b/docs/models/sharepointdrivedata.md @@ -0,0 +1,9 @@ +# SharepointDriveData + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *str* | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/sharepointfiledata.md b/docs/models/sharepointfiledata.md index 7a826be..527730b 100644 --- a/docs/models/sharepointfiledata.md +++ b/docs/models/sharepointfiledata.md @@ -7,4 +7,5 @@ | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | | `id` | *str* | :heavy_check_mark: | N/A | | `name` | *str* | :heavy_check_mark: | N/A | -| `type` | [models.Type](../models/type.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| `type` | [models.Type](../models/type.md) | :heavy_check_mark: | N/A | +| `drive_id` | *Nullable[str]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index a70813a..35bb46e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "ragie" -version = "1.13.0" +version = "1.14.0" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/src/ragie/_version.py b/src/ragie/_version.py index 027f0c9..e3bed37 100644 --- a/src/ragie/_version.py +++ b/src/ragie/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "ragie" -__version__: str = "1.13.0" +__version__: str = "1.14.0" __openapi_doc_version__: str = "1.0.0" -__gen_version__: str = "2.727.9" -__user_agent__: str = "speakeasy-sdk/python 1.13.0 2.727.9 1.0.0 ragie" +__gen_version__: str = "2.745.2" +__user_agent__: str = "speakeasy-sdk/python 1.14.0 2.745.2 1.0.0 ragie" try: if __package__ is not None: diff --git a/src/ragie/documents.py b/src/ragie/documents.py index cffab0b..1cf7cc0 100644 --- a/src/ragie/documents.py +++ b/src/ragie/documents.py @@ -2979,7 +2979,7 @@ def get_source( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="application/octet-stream", + accept_header_value="*/*", http_headers=http_headers, security=self.sdk_configuration.security, timeout_ms=timeout_ms, @@ -3008,7 +3008,7 @@ def get_source( ) response_data: Any = None - if utils.match_response(http_res, "200", "application/octet-stream"): + if utils.match_response(http_res, "200", "*/*"): return http_res if utils.match_response(http_res, "422", "application/json"): http_res_text = utils.stream_to_text(http_res) @@ -3086,7 +3086,7 @@ async def get_source_async( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="application/octet-stream", + accept_header_value="*/*", http_headers=http_headers, security=self.sdk_configuration.security, timeout_ms=timeout_ms, @@ -3115,7 +3115,7 @@ async def get_source_async( ) response_data: Any = None - if utils.match_response(http_res, "200", "application/octet-stream"): + if utils.match_response(http_res, "200", "*/*"): return http_res if utils.match_response(http_res, "422", "application/json"): http_res_text = await utils.stream_to_text_async(http_res) diff --git a/src/ragie/models/__init__.py b/src/ragie/models/__init__.py index 15e45f3..fb275e6 100644 --- a/src/ragie/models/__init__.py +++ b/src/ragie/models/__init__.py @@ -504,6 +504,7 @@ SetConnectionEnabledPayloadTypedDict, ) from .sharepointdata import SharepointData, SharepointDataTypedDict + from .sharepointdrivedata import SharepointDriveData, SharepointDriveDataTypedDict from .sharepointfiledata import ( SharepointFileData, SharepointFileDataTypedDict, @@ -987,6 +988,8 @@ "SetPartitionLimitsPartitionsPartitionIDLimitsPutRequestTypedDict", "SharepointData", "SharepointDataTypedDict", + "SharepointDriveData", + "SharepointDriveDataTypedDict", "SharepointFileData", "SharepointFileDataTypedDict", "SharepointSiteData", @@ -1465,6 +1468,8 @@ "SetConnectionEnabledPayloadTypedDict": ".setconnectionenabledpayload", "SharepointData": ".sharepointdata", "SharepointDataTypedDict": ".sharepointdata", + "SharepointDriveData": ".sharepointdrivedata", + "SharepointDriveDataTypedDict": ".sharepointdrivedata", "SharepointFileData": ".sharepointfiledata", "SharepointFileDataTypedDict": ".sharepointfiledata", "Type": ".sharepointfiledata", diff --git a/src/ragie/models/sharepointdata.py b/src/ragie/models/sharepointdata.py index 9db9fcd..9237bf8 100644 --- a/src/ragie/models/sharepointdata.py +++ b/src/ragie/models/sharepointdata.py @@ -1,19 +1,54 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .sharepointdrivedata import SharepointDriveData, SharepointDriveDataTypedDict from .sharepointfiledata import SharepointFileData, SharepointFileDataTypedDict from .sharepointsitedata import SharepointSiteData, SharepointSiteDataTypedDict -from ragie.types import BaseModel +from pydantic import model_serializer +from ragie.types import BaseModel, Nullable, UNSET_SENTINEL from typing import List from typing_extensions import TypedDict class SharepointDataTypedDict(TypedDict): site: SharepointSiteDataTypedDict + drive: Nullable[SharepointDriveDataTypedDict] files: List[SharepointFileDataTypedDict] class SharepointData(BaseModel): site: SharepointSiteData + drive: Nullable[SharepointDriveData] + files: List[SharepointFileData] + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [] + nullable_fields = ["drive"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/ragie/models/sharepointdrivedata.py b/src/ragie/models/sharepointdrivedata.py new file mode 100644 index 0000000..01bf063 --- /dev/null +++ b/src/ragie/models/sharepointdrivedata.py @@ -0,0 +1,16 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from ragie.types import BaseModel +from typing_extensions import TypedDict + + +class SharepointDriveDataTypedDict(TypedDict): + id: str + name: str + + +class SharepointDriveData(BaseModel): + id: str + + name: str diff --git a/src/ragie/models/sharepointfiledata.py b/src/ragie/models/sharepointfiledata.py index ebfddd4..314fd6c 100644 --- a/src/ragie/models/sharepointfiledata.py +++ b/src/ragie/models/sharepointfiledata.py @@ -2,7 +2,8 @@ from __future__ import annotations from enum import Enum -from ragie.types import BaseModel +from pydantic import model_serializer +from ragie.types import BaseModel, Nullable, UNSET_SENTINEL from typing_extensions import TypedDict @@ -15,6 +16,7 @@ class SharepointFileDataTypedDict(TypedDict): id: str name: str type: Type + drive_id: Nullable[str] class SharepointFileData(BaseModel): @@ -23,3 +25,35 @@ class SharepointFileData(BaseModel): name: str type: Type + + drive_id: Nullable[str] + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [] + nullable_fields = ["drive_id"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m