From f428bd1f49013c85fb86812f641449a50ac0b9ed Mon Sep 17 00:00:00 2001 From: fern-api <115122769+fern-api[bot]@users.noreply.github.com> Date: Thu, 13 Feb 2025 02:13:29 +0000 Subject: [PATCH] SDK regeneration --- src/soferai/client.py | 21 ++++---- src/soferai/core/__init__.py | 2 +- src/soferai/core/client_wrapper.py | 5 +- src/soferai/core/http_client.py | 49 +++++++++++-------- src/soferai/core/pydantic_utilities.py | 3 +- src/soferai/core/serialization.py | 3 +- src/soferai/health/client.py | 10 ++-- src/soferai/health/types/health_response.py | 6 +-- src/soferai/link/__init__.py | 2 +- src/soferai/link/client.py | 16 +++--- src/soferai/link/types/link_request.py | 6 +-- src/soferai/link/types/link_response.py | 6 +-- src/soferai/transcribe/__init__.py | 2 +- src/soferai/transcribe/client.py | 18 +++---- src/soferai/transcribe/types/timestamp.py | 6 +-- src/soferai/transcribe/types/transcription.py | 10 ++-- .../transcribe/types/transcription_info.py | 10 ++-- .../transcribe/types/transcription_request.py | 6 +-- src/soferai/usage/__init__.py | 2 +- src/soferai/usage/client.py | 14 +++--- src/soferai/usage/types/usage.py | 6 +-- tests/utils/assets/models/__init__.py | 2 +- tests/utils/assets/models/circle.py | 2 +- .../assets/models/object_with_defaults.py | 1 + .../models/object_with_optional_field.py | 8 ++- tests/utils/assets/models/shape.py | 6 +-- tests/utils/assets/models/square.py | 2 +- .../assets/models/undiscriminated_shape.py | 1 - tests/utils/test_query_encoding.py | 6 +-- tests/utils/test_serialization.py | 4 +- 30 files changed, 114 insertions(+), 121 deletions(-) diff --git a/src/soferai/client.py b/src/soferai/client.py index cf0e043..bb5646b 100644 --- a/src/soferai/client.py +++ b/src/soferai/client.py @@ -1,16 +1,19 @@ # This file was auto-generated by Fern from our API Definition. -import os import typing - -import httpx - -from .core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from .environment import SoferAIEnvironment -from .health.client import AsyncHealthClient, HealthClient -from .link.client import AsyncLinkClient, LinkClient -from .transcribe.client import AsyncTranscribeClient, TranscribeClient -from .usage.client import AsyncUsageClient, UsageClient +import os +import httpx +from .core.client_wrapper import SyncClientWrapper +from .health.client import HealthClient +from .link.client import LinkClient +from .transcribe.client import TranscribeClient +from .usage.client import UsageClient +from .core.client_wrapper import AsyncClientWrapper +from .health.client import AsyncHealthClient +from .link.client import AsyncLinkClient +from .transcribe.client import AsyncTranscribeClient +from .usage.client import AsyncUsageClient class SoferAI: diff --git a/src/soferai/core/__init__.py b/src/soferai/core/__init__.py index 7bdc4d9..f03aecb 100644 --- a/src/soferai/core/__init__.py +++ b/src/soferai/core/__init__.py @@ -21,7 +21,6 @@ from .serialization import FieldMetadata, convert_and_respect_annotation_metadata __all__ = [ - "IS_PYDANTIC_V2", "ApiError", "AsyncClientWrapper", "AsyncHttpClient", @@ -29,6 +28,7 @@ "FieldMetadata", "File", "HttpClient", + "IS_PYDANTIC_V2", "RequestOptions", "SyncClientWrapper", "UniversalBaseModel", diff --git a/src/soferai/core/client_wrapper.py b/src/soferai/core/client_wrapper.py index ea33a6d..00dd5c9 100644 --- a/src/soferai/core/client_wrapper.py +++ b/src/soferai/core/client_wrapper.py @@ -1,10 +1,9 @@ # This file was auto-generated by Fern from our API Definition. import typing - import httpx - -from .http_client import AsyncHttpClient, HttpClient +from .http_client import HttpClient +from .http_client import AsyncHttpClient class BaseClientWrapper: diff --git a/src/soferai/core/http_client.py b/src/soferai/core/http_client.py index c73b393..1a1a131 100644 --- a/src/soferai/core/http_client.py +++ b/src/soferai/core/http_client.py @@ -2,6 +2,7 @@ import asyncio import email.utils +import json import re import time import typing @@ -198,11 +199,13 @@ def request( method=method, url=urllib.parse.urljoin(f"{base_url}/", path), headers=jsonable_encoder( - remove_none_from_dict({ - **self.base_headers(), - **(headers if headers is not None else {}), - **(request_options.get("additional_headers", {}) or {} if request_options is not None else {}), - }) + remove_none_from_dict( + { + **self.base_headers(), + **(headers if headers is not None else {}), + **(request_options.get("additional_headers", {}) or {} if request_options is not None else {}), + } + ) ), params=encode_query( jsonable_encoder( @@ -282,11 +285,13 @@ def stream( method=method, url=urllib.parse.urljoin(f"{base_url}/", path), headers=jsonable_encoder( - remove_none_from_dict({ - **self.base_headers(), - **(headers if headers is not None else {}), - **(request_options.get("additional_headers", {}) if request_options is not None else {}), - }) + remove_none_from_dict( + { + **self.base_headers(), + **(headers if headers is not None else {}), + **(request_options.get("additional_headers", {}) if request_options is not None else {}), + } + ) ), params=encode_query( jsonable_encoder( @@ -371,11 +376,13 @@ async def request( method=method, url=urllib.parse.urljoin(f"{base_url}/", path), headers=jsonable_encoder( - remove_none_from_dict({ - **self.base_headers(), - **(headers if headers is not None else {}), - **(request_options.get("additional_headers", {}) or {} if request_options is not None else {}), - }) + remove_none_from_dict( + { + **self.base_headers(), + **(headers if headers is not None else {}), + **(request_options.get("additional_headers", {}) or {} if request_options is not None else {}), + } + ) ), params=encode_query( jsonable_encoder( @@ -454,11 +461,13 @@ async def stream( method=method, url=urllib.parse.urljoin(f"{base_url}/", path), headers=jsonable_encoder( - remove_none_from_dict({ - **self.base_headers(), - **(headers if headers is not None else {}), - **(request_options.get("additional_headers", {}) if request_options is not None else {}), - }) + remove_none_from_dict( + { + **self.base_headers(), + **(headers if headers is not None else {}), + **(request_options.get("additional_headers", {}) if request_options is not None else {}), + } + ) ), params=encode_query( jsonable_encoder( diff --git a/src/soferai/core/pydantic_utilities.py b/src/soferai/core/pydantic_utilities.py index c99b51b..ee8f0e4 100644 --- a/src/soferai/core/pydantic_utilities.py +++ b/src/soferai/core/pydantic_utilities.py @@ -5,9 +5,10 @@ import typing from collections import defaultdict -import pydantic import typing_extensions +import pydantic + from .datetime_utils import serialize_datetime from .serialization import convert_and_respect_annotation_metadata diff --git a/src/soferai/core/serialization.py b/src/soferai/core/serialization.py index e3d17f0..cb5dcbf 100644 --- a/src/soferai/core/serialization.py +++ b/src/soferai/core/serialization.py @@ -4,9 +4,10 @@ import inspect import typing -import pydantic import typing_extensions +import pydantic + class FieldMetadata: """ diff --git a/src/soferai/health/client.py b/src/soferai/health/client.py index 994ba10..739bce7 100644 --- a/src/soferai/health/client.py +++ b/src/soferai/health/client.py @@ -1,13 +1,13 @@ # This file was auto-generated by Fern from our API Definition. +from ..core.client_wrapper import SyncClientWrapper import typing -from json.decoder import JSONDecodeError - -from ..core.api_error import ApiError -from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper -from ..core.pydantic_utilities import parse_obj_as from ..core.request_options import RequestOptions from .types.health_response import HealthResponse +from ..core.pydantic_utilities import parse_obj_as +from json.decoder import JSONDecodeError +from ..core.api_error import ApiError +from ..core.client_wrapper import AsyncClientWrapper class HealthClient: diff --git a/src/soferai/health/types/health_response.py b/src/soferai/health/types/health_response.py index ee6a125..58f3f9f 100644 --- a/src/soferai/health/types/health_response.py +++ b/src/soferai/health/types/health_response.py @@ -1,10 +1,8 @@ # This file was auto-generated by Fern from our API Definition. -import typing - -import pydantic - from ...core.pydantic_utilities import UniversalBaseModel +import pydantic +import typing class HealthResponse(UniversalBaseModel): diff --git a/src/soferai/link/__init__.py b/src/soferai/link/__init__.py index 488bc91..5c17838 100644 --- a/src/soferai/link/__init__.py +++ b/src/soferai/link/__init__.py @@ -1,6 +1,6 @@ # This file was auto-generated by Fern from our API Definition. -from .errors import LinkError, LinkNotFound, LinkNotSupported from .types import LinkRequest, LinkResponse +from .errors import LinkError, LinkNotFound, LinkNotSupported __all__ = ["LinkError", "LinkNotFound", "LinkNotSupported", "LinkRequest", "LinkResponse"] diff --git a/src/soferai/link/client.py b/src/soferai/link/client.py index 12aa0bb..0278237 100644 --- a/src/soferai/link/client.py +++ b/src/soferai/link/client.py @@ -1,16 +1,16 @@ # This file was auto-generated by Fern from our API Definition. import typing -from json.decoder import JSONDecodeError - -from ..core.api_error import ApiError -from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper -from ..core.pydantic_utilities import parse_obj_as +from ..core.client_wrapper import SyncClientWrapper from ..core.request_options import RequestOptions -from .errors.link_error import LinkError -from .errors.link_not_found import LinkNotFound -from .errors.link_not_supported import LinkNotSupported from .types.link_response import LinkResponse +from ..core.pydantic_utilities import parse_obj_as +from .errors.link_not_supported import LinkNotSupported +from .errors.link_not_found import LinkNotFound +from .errors.link_error import LinkError +from json.decoder import JSONDecodeError +from ..core.api_error import ApiError +from ..core.client_wrapper import AsyncClientWrapper # this is used as the default value for optional parameters OMIT = typing.cast(typing.Any, ...) diff --git a/src/soferai/link/types/link_request.py b/src/soferai/link/types/link_request.py index 85fd5f6..8f80ea8 100644 --- a/src/soferai/link/types/link_request.py +++ b/src/soferai/link/types/link_request.py @@ -1,10 +1,8 @@ # This file was auto-generated by Fern from our API Definition. -import typing - -import pydantic - from ...core.pydantic_utilities import UniversalBaseModel +import pydantic +import typing class LinkRequest(UniversalBaseModel): diff --git a/src/soferai/link/types/link_response.py b/src/soferai/link/types/link_response.py index 2a59539..af9b796 100644 --- a/src/soferai/link/types/link_response.py +++ b/src/soferai/link/types/link_response.py @@ -1,10 +1,8 @@ # This file was auto-generated by Fern from our API Definition. -import typing - -import pydantic - from ...core.pydantic_utilities import UniversalBaseModel +import pydantic +import typing class LinkResponse(UniversalBaseModel): diff --git a/src/soferai/transcribe/__init__.py b/src/soferai/transcribe/__init__.py index 1b25447..802be14 100644 --- a/src/soferai/transcribe/__init__.py +++ b/src/soferai/transcribe/__init__.py @@ -1,7 +1,7 @@ # This file was auto-generated by Fern from our API Definition. -from .errors import AuthenticationError, RateLimitError, TranscriptionFailed, TranscriptionNotFound from .types import Language, Status, Timestamp, Transcription, TranscriptionId, TranscriptionInfo, TranscriptionRequest +from .errors import AuthenticationError, RateLimitError, TranscriptionFailed, TranscriptionNotFound __all__ = [ "AuthenticationError", diff --git a/src/soferai/transcribe/client.py b/src/soferai/transcribe/client.py index a658704..002adc7 100644 --- a/src/soferai/transcribe/client.py +++ b/src/soferai/transcribe/client.py @@ -1,21 +1,21 @@ # This file was auto-generated by Fern from our API Definition. import typing -import uuid -from json.decoder import JSONDecodeError - -from ..core.api_error import ApiError -from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper -from ..core.jsonable_encoder import jsonable_encoder -from ..core.pydantic_utilities import parse_obj_as +from ..core.client_wrapper import SyncClientWrapper +from .types.transcription_info import TranscriptionInfo from ..core.request_options import RequestOptions +from .types.transcription_id import TranscriptionId from ..core.serialization import convert_and_respect_annotation_metadata +from ..core.pydantic_utilities import parse_obj_as from .errors.authentication_error import AuthenticationError from .errors.rate_limit_error import RateLimitError +from json.decoder import JSONDecodeError +from ..core.api_error import ApiError +import uuid +from ..core.jsonable_encoder import jsonable_encoder from .errors.transcription_not_found import TranscriptionNotFound from .types.transcription import Transcription -from .types.transcription_id import TranscriptionId -from .types.transcription_info import TranscriptionInfo +from ..core.client_wrapper import AsyncClientWrapper # this is used as the default value for optional parameters OMIT = typing.cast(typing.Any, ...) diff --git a/src/soferai/transcribe/types/timestamp.py b/src/soferai/transcribe/types/timestamp.py index 939307c..2c8847e 100644 --- a/src/soferai/transcribe/types/timestamp.py +++ b/src/soferai/transcribe/types/timestamp.py @@ -1,10 +1,8 @@ # This file was auto-generated by Fern from our API Definition. -import typing - -import pydantic - from ...core.pydantic_utilities import UniversalBaseModel +import pydantic +import typing from .language import Language diff --git a/src/soferai/transcribe/types/transcription.py b/src/soferai/transcribe/types/transcription.py index 4c1381a..2020f89 100644 --- a/src/soferai/transcribe/types/transcription.py +++ b/src/soferai/transcribe/types/transcription.py @@ -1,10 +1,8 @@ # This file was auto-generated by Fern from our API Definition. -import typing - -import pydantic - from ...core.pydantic_utilities import UniversalBaseModel +import pydantic +import typing from .timestamp import Timestamp from .transcription_info import TranscriptionInfo @@ -12,10 +10,10 @@ class Transcription(UniversalBaseModel): text: str = pydantic.Field() """ - Transcription text. if the `primary_language` was English and only one `lang_for_hebrew_words` was specified, + Transcription text. if the `primary_language` was English and only one `lang_for_hebrew_words` was specified, this is just the English text with whatever language for the words you specified. If you set multiple `lang_for_hebrew_words`, - this is the text with Hebrew words, with the English text in Italics markup. + this is the text with Hebrew words, with the English text in Italics markup. If primary language is Hebrew, this is just the Hebrew text. """ diff --git a/src/soferai/transcribe/types/transcription_info.py b/src/soferai/transcribe/types/transcription_info.py index dbad9a7..89b9c05 100644 --- a/src/soferai/transcribe/types/transcription_info.py +++ b/src/soferai/transcribe/types/transcription_info.py @@ -1,15 +1,13 @@ # This file was auto-generated by Fern from our API Definition. -import datetime as dt +from ...core.pydantic_utilities import UniversalBaseModel import typing -import uuid - +from .transcription_id import TranscriptionId import pydantic - -from ...core.pydantic_utilities import UniversalBaseModel +import uuid +import datetime as dt from .language import Language from .status import Status -from .transcription_id import TranscriptionId class TranscriptionInfo(UniversalBaseModel): diff --git a/src/soferai/transcribe/types/transcription_request.py b/src/soferai/transcribe/types/transcription_request.py index c3cfb04..63a3ae3 100644 --- a/src/soferai/transcribe/types/transcription_request.py +++ b/src/soferai/transcribe/types/transcription_request.py @@ -1,10 +1,8 @@ # This file was auto-generated by Fern from our API Definition. -import typing - -import pydantic - from ...core.pydantic_utilities import UniversalBaseModel +import pydantic +import typing from .transcription_info import TranscriptionInfo diff --git a/src/soferai/usage/__init__.py b/src/soferai/usage/__init__.py index 3bf2572..beae010 100644 --- a/src/soferai/usage/__init__.py +++ b/src/soferai/usage/__init__.py @@ -1,6 +1,6 @@ # This file was auto-generated by Fern from our API Definition. -from .errors import UserNotFound from .types import Usage +from .errors import UserNotFound __all__ = ["Usage", "UserNotFound"] diff --git a/src/soferai/usage/client.py b/src/soferai/usage/client.py index 47cf6b2..7a799fd 100644 --- a/src/soferai/usage/client.py +++ b/src/soferai/usage/client.py @@ -1,16 +1,16 @@ # This file was auto-generated by Fern from our API Definition. -import typing +from ..core.client_wrapper import SyncClientWrapper import uuid -from json.decoder import JSONDecodeError - -from ..core.api_error import ApiError -from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +import typing +from ..core.request_options import RequestOptions +from .types.usage import Usage from ..core.jsonable_encoder import jsonable_encoder from ..core.pydantic_utilities import parse_obj_as -from ..core.request_options import RequestOptions from .errors.user_not_found import UserNotFound -from .types.usage import Usage +from json.decoder import JSONDecodeError +from ..core.api_error import ApiError +from ..core.client_wrapper import AsyncClientWrapper class UsageClient: diff --git a/src/soferai/usage/types/usage.py b/src/soferai/usage/types/usage.py index dbadd2b..371a2b8 100644 --- a/src/soferai/usage/types/usage.py +++ b/src/soferai/usage/types/usage.py @@ -1,11 +1,9 @@ # This file was auto-generated by Fern from our API Definition. -import typing +from ...core.pydantic_utilities import UniversalBaseModel import uuid - import pydantic - -from ...core.pydantic_utilities import UniversalBaseModel +import typing class Usage(UniversalBaseModel): diff --git a/tests/utils/assets/models/__init__.py b/tests/utils/assets/models/__init__.py index 2cf0126..3a1c852 100644 --- a/tests/utils/assets/models/__init__.py +++ b/tests/utils/assets/models/__init__.py @@ -5,7 +5,7 @@ from .circle import CircleParams from .object_with_defaults import ObjectWithDefaultsParams from .object_with_optional_field import ObjectWithOptionalFieldParams -from .shape import Shape_CircleParams, Shape_SquareParams, ShapeParams +from .shape import ShapeParams, Shape_CircleParams, Shape_SquareParams from .square import SquareParams from .undiscriminated_shape import UndiscriminatedShapeParams diff --git a/tests/utils/assets/models/circle.py b/tests/utils/assets/models/circle.py index bf8425f..ad9d23b 100644 --- a/tests/utils/assets/models/circle.py +++ b/tests/utils/assets/models/circle.py @@ -3,7 +3,7 @@ # This file was auto-generated by Fern from our API Definition. import typing_extensions - +import typing_extensions from soferai.core.serialization import FieldMetadata diff --git a/tests/utils/assets/models/object_with_defaults.py b/tests/utils/assets/models/object_with_defaults.py index a977b1d..ef14f7b 100644 --- a/tests/utils/assets/models/object_with_defaults.py +++ b/tests/utils/assets/models/object_with_defaults.py @@ -3,6 +3,7 @@ # This file was auto-generated by Fern from our API Definition. import typing_extensions +import typing_extensions class ObjectWithDefaultsParams(typing_extensions.TypedDict): diff --git a/tests/utils/assets/models/object_with_optional_field.py b/tests/utils/assets/models/object_with_optional_field.py index 007f9d7..5b68a01 100644 --- a/tests/utils/assets/models/object_with_optional_field.py +++ b/tests/utils/assets/models/object_with_optional_field.py @@ -2,14 +2,12 @@ # This file was auto-generated by Fern from our API Definition. -import datetime as dt +import typing_extensions import typing -import uuid - import typing_extensions - from soferai.core.serialization import FieldMetadata - +import datetime as dt +import uuid from .color import Color from .shape import ShapeParams from .undiscriminated_shape import UndiscriminatedShapeParams diff --git a/tests/utils/assets/models/shape.py b/tests/utils/assets/models/shape.py index c3ce0f4..f4e560b 100644 --- a/tests/utils/assets/models/shape.py +++ b/tests/utils/assets/models/shape.py @@ -3,11 +3,9 @@ # This file was auto-generated by Fern from our API Definition. from __future__ import annotations - -import typing - import typing_extensions - +import typing_extensions +import typing from soferai.core.serialization import FieldMetadata diff --git a/tests/utils/assets/models/square.py b/tests/utils/assets/models/square.py index 706d0ea..073f6de 100644 --- a/tests/utils/assets/models/square.py +++ b/tests/utils/assets/models/square.py @@ -3,7 +3,7 @@ # This file was auto-generated by Fern from our API Definition. import typing_extensions - +import typing_extensions from soferai.core.serialization import FieldMetadata diff --git a/tests/utils/assets/models/undiscriminated_shape.py b/tests/utils/assets/models/undiscriminated_shape.py index 99f12b3..68876a2 100644 --- a/tests/utils/assets/models/undiscriminated_shape.py +++ b/tests/utils/assets/models/undiscriminated_shape.py @@ -3,7 +3,6 @@ # This file was auto-generated by Fern from our API Definition. import typing - from .circle import CircleParams from .square import SquareParams diff --git a/tests/utils/test_query_encoding.py b/tests/utils/test_query_encoding.py index 24fdc34..5682032 100644 --- a/tests/utils/test_query_encoding.py +++ b/tests/utils/test_query_encoding.py @@ -21,9 +21,9 @@ def test_query_encoding_deep_object_arrays() -> None: ("objects[key]", "foo"), ("objects[value]", "bar"), ] - assert encode_query({ - "users": [{"name": "string", "tags": ["string"]}, {"name": "string2", "tags": ["string2", "string3"]}] - }) == [ + assert encode_query( + {"users": [{"name": "string", "tags": ["string"]}, {"name": "string2", "tags": ["string2", "string3"]}]} + ) == [ ("users[name]", "string"), ("users[tags]", "string"), ("users[name]", "string2"), diff --git a/tests/utils/test_serialization.py b/tests/utils/test_serialization.py index 0f43100..1646cd0 100644 --- a/tests/utils/test_serialization.py +++ b/tests/utils/test_serialization.py @@ -1,10 +1,10 @@ # This file was auto-generated by Fern from our API Definition. -from typing import Any, List +from typing import List, Any from soferai.core.serialization import convert_and_respect_annotation_metadata +from .assets.models import ShapeParams, ObjectWithOptionalFieldParams -from .assets.models import ObjectWithOptionalFieldParams, ShapeParams UNION_TEST: ShapeParams = {"radius_measurement": 1.0, "shape_type": "circle", "id": "1"} UNION_TEST_CONVERTED = {"shapeType": "circle", "radiusMeasurement": 1.0, "id": "1"}