Commit 8ad790ae
Changed files (54)
src
openai
_extras
_utils
resources
beta
assistants
threads
fine_tuning
types
tests
api_resources
beta
fine_tuning
src/openai/_extras/__init__.py
@@ -1,2 +1,3 @@
-from .numpy_proxy import numpy as numpy, has_numpy as has_numpy
+from .numpy_proxy import numpy as numpy
+from .numpy_proxy import has_numpy as has_numpy
from .pandas_proxy import pandas as pandas
src/openai/_utils/__init__.py
@@ -1,41 +1,37 @@
from ._proxy import LazyProxy as LazyProxy
-from ._utils import (
- flatten as flatten,
- is_dict as is_dict,
- is_list as is_list,
- is_given as is_given,
- is_tuple as is_tuple,
- is_mapping as is_mapping,
- is_tuple_t as is_tuple_t,
- parse_date as parse_date,
- is_sequence as is_sequence,
- coerce_float as coerce_float,
- is_list_type as is_list_type,
- is_mapping_t as is_mapping_t,
- removeprefix as removeprefix,
- removesuffix as removesuffix,
- extract_files as extract_files,
- is_sequence_t as is_sequence_t,
- is_union_type as is_union_type,
- required_args as required_args,
- coerce_boolean as coerce_boolean,
- coerce_integer as coerce_integer,
- file_from_path as file_from_path,
- parse_datetime as parse_datetime,
- strip_not_given as strip_not_given,
- deepcopy_minimal as deepcopy_minimal,
- extract_type_arg as extract_type_arg,
- is_required_type as is_required_type,
- get_async_library as get_async_library,
- is_annotated_type as is_annotated_type,
- maybe_coerce_float as maybe_coerce_float,
- get_required_header as get_required_header,
- maybe_coerce_boolean as maybe_coerce_boolean,
- maybe_coerce_integer as maybe_coerce_integer,
- strip_annotated_type as strip_annotated_type,
-)
-from ._transform import (
- PropertyInfo as PropertyInfo,
- transform as transform,
- maybe_transform as maybe_transform,
-)
+from ._utils import flatten as flatten
+from ._utils import is_dict as is_dict
+from ._utils import is_list as is_list
+from ._utils import is_given as is_given
+from ._utils import is_tuple as is_tuple
+from ._utils import is_mapping as is_mapping
+from ._utils import is_tuple_t as is_tuple_t
+from ._utils import parse_date as parse_date
+from ._utils import is_sequence as is_sequence
+from ._utils import coerce_float as coerce_float
+from ._utils import is_list_type as is_list_type
+from ._utils import is_mapping_t as is_mapping_t
+from ._utils import removeprefix as removeprefix
+from ._utils import removesuffix as removesuffix
+from ._utils import extract_files as extract_files
+from ._utils import is_sequence_t as is_sequence_t
+from ._utils import is_union_type as is_union_type
+from ._utils import required_args as required_args
+from ._utils import coerce_boolean as coerce_boolean
+from ._utils import coerce_integer as coerce_integer
+from ._utils import file_from_path as file_from_path
+from ._utils import parse_datetime as parse_datetime
+from ._utils import strip_not_given as strip_not_given
+from ._utils import deepcopy_minimal as deepcopy_minimal
+from ._utils import extract_type_arg as extract_type_arg
+from ._utils import is_required_type as is_required_type
+from ._utils import get_async_library as get_async_library
+from ._utils import is_annotated_type as is_annotated_type
+from ._utils import maybe_coerce_float as maybe_coerce_float
+from ._utils import get_required_header as get_required_header
+from ._utils import maybe_coerce_boolean as maybe_coerce_boolean
+from ._utils import maybe_coerce_integer as maybe_coerce_integer
+from ._utils import strip_annotated_type as strip_annotated_type
+from ._transform import PropertyInfo as PropertyInfo
+from ._transform import transform as transform
+from ._transform import maybe_transform as maybe_transform
src/openai/_utils/_utils.py
@@ -21,7 +21,9 @@ from typing_extensions import Required, Annotated, TypeGuard, get_args, get_orig
import sniffio
from .._types import Headers, NotGiven, FileTypes, NotGivenOr, HeadersLike
-from .._compat import is_union as _is_union, parse_date as parse_date, parse_datetime as parse_datetime
+from .._compat import is_union as _is_union
+from .._compat import parse_date as parse_date
+from .._compat import parse_datetime as parse_datetime
_T = TypeVar("_T")
_TupleT = TypeVar("_TupleT", bound=Tuple[object, ...])
src/openai/resources/audio/__init__.py
@@ -1,8 +1,18 @@
# File generated from our OpenAPI spec by Stainless.
from .audio import Audio, AsyncAudio, AudioWithRawResponse, AsyncAudioWithRawResponse
-from .speech import Speech, AsyncSpeech, SpeechWithRawResponse, AsyncSpeechWithRawResponse
-from .translations import Translations, AsyncTranslations, TranslationsWithRawResponse, AsyncTranslationsWithRawResponse
+from .speech import (
+ Speech,
+ AsyncSpeech,
+ SpeechWithRawResponse,
+ AsyncSpeechWithRawResponse,
+)
+from .translations import (
+ Translations,
+ AsyncTranslations,
+ TranslationsWithRawResponse,
+ AsyncTranslationsWithRawResponse,
+)
from .transcriptions import (
Transcriptions,
AsyncTranscriptions,
src/openai/resources/audio/audio.py
@@ -4,9 +4,19 @@ from __future__ import annotations
from typing import TYPE_CHECKING
-from .speech import Speech, AsyncSpeech, SpeechWithRawResponse, AsyncSpeechWithRawResponse
+from .speech import (
+ Speech,
+ AsyncSpeech,
+ SpeechWithRawResponse,
+ AsyncSpeechWithRawResponse,
+)
from ..._resource import SyncAPIResource, AsyncAPIResource
-from .translations import Translations, AsyncTranslations, TranslationsWithRawResponse, AsyncTranslationsWithRawResponse
+from .translations import (
+ Translations,
+ AsyncTranslations,
+ TranslationsWithRawResponse,
+ AsyncTranslationsWithRawResponse,
+)
from .transcriptions import (
Transcriptions,
AsyncTranscriptions,
src/openai/resources/audio/speech.py
@@ -7,21 +7,12 @@ from typing_extensions import Literal
import httpx
-from ..._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._utils import maybe_transform
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import to_raw_response_wrapper, async_to_raw_response_wrapper
from ...types.audio import speech_create_params
-from ..._base_client import (
- HttpxBinaryResponseContent,
- make_request_options,
-)
+from ..._base_client import HttpxBinaryResponseContent, make_request_options
if TYPE_CHECKING:
from ..._client import OpenAI, AsyncOpenAI
src/openai/resources/audio/transcriptions.py
@@ -7,21 +7,12 @@ from typing_extensions import Literal
import httpx
-from ..._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
- FileTypes,
-)
+from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven, FileTypes
from ..._utils import extract_files, maybe_transform, deepcopy_minimal
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import to_raw_response_wrapper, async_to_raw_response_wrapper
from ...types.audio import Transcription, transcription_create_params
-from ..._base_client import (
- make_request_options,
-)
+from ..._base_client import make_request_options
if TYPE_CHECKING:
from ..._client import OpenAI, AsyncOpenAI
src/openai/resources/audio/translations.py
@@ -7,21 +7,12 @@ from typing_extensions import Literal
import httpx
-from ..._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
- FileTypes,
-)
+from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven, FileTypes
from ..._utils import extract_files, maybe_transform, deepcopy_minimal
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import to_raw_response_wrapper, async_to_raw_response_wrapper
from ...types.audio import Translation, translation_create_params
-from ..._base_client import (
- make_request_options,
-)
+from ..._base_client import make_request_options
if TYPE_CHECKING:
from ..._client import OpenAI, AsyncOpenAI
src/openai/resources/beta/assistants/__init__.py
@@ -1,7 +1,12 @@
# File generated from our OpenAPI spec by Stainless.
from .files import Files, AsyncFiles, FilesWithRawResponse, AsyncFilesWithRawResponse
-from .assistants import Assistants, AsyncAssistants, AssistantsWithRawResponse, AsyncAssistantsWithRawResponse
+from .assistants import (
+ Assistants,
+ AsyncAssistants,
+ AssistantsWithRawResponse,
+ AsyncAssistantsWithRawResponse,
+)
__all__ = [
"Files",
src/openai/resources/beta/assistants/assistants.py
@@ -8,13 +8,7 @@ from typing_extensions import Literal
import httpx
from .files import Files, AsyncFiles, FilesWithRawResponse, AsyncFilesWithRawResponse
-from ...._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import maybe_transform
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import to_raw_response_wrapper, async_to_raw_response_wrapper
@@ -26,10 +20,7 @@ from ....types.beta import (
assistant_create_params,
assistant_update_params,
)
-from ...._base_client import (
- AsyncPaginator,
- make_request_options,
-)
+from ...._base_client import AsyncPaginator, make_request_options
if TYPE_CHECKING:
from ...._client import OpenAI, AsyncOpenAI
src/openai/resources/beta/assistants/files.py
@@ -7,21 +7,12 @@ from typing_extensions import Literal
import httpx
-from ...._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import maybe_transform
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import to_raw_response_wrapper, async_to_raw_response_wrapper
from ....pagination import SyncCursorPage, AsyncCursorPage
-from ...._base_client import (
- AsyncPaginator,
- make_request_options,
-)
+from ...._base_client import AsyncPaginator, make_request_options
from ....types.beta.assistants import (
AssistantFile,
FileDeleteResponse,
src/openai/resources/beta/threads/messages/__init__.py
@@ -1,7 +1,12 @@
# File generated from our OpenAPI spec by Stainless.
from .files import Files, AsyncFiles, FilesWithRawResponse, AsyncFilesWithRawResponse
-from .messages import Messages, AsyncMessages, MessagesWithRawResponse, AsyncMessagesWithRawResponse
+from .messages import (
+ Messages,
+ AsyncMessages,
+ MessagesWithRawResponse,
+ AsyncMessagesWithRawResponse,
+)
__all__ = [
"Files",
src/openai/resources/beta/threads/messages/files.py
@@ -7,21 +7,12 @@ from typing_extensions import Literal
import httpx
-from ....._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from ....._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ....._utils import maybe_transform
from ....._resource import SyncAPIResource, AsyncAPIResource
from ....._response import to_raw_response_wrapper, async_to_raw_response_wrapper
from .....pagination import SyncCursorPage, AsyncCursorPage
-from ....._base_client import (
- AsyncPaginator,
- make_request_options,
-)
+from ....._base_client import AsyncPaginator, make_request_options
from .....types.beta.threads.messages import MessageFile, file_list_params
if TYPE_CHECKING:
src/openai/resources/beta/threads/messages/messages.py
@@ -8,21 +8,12 @@ from typing_extensions import Literal
import httpx
from .files import Files, AsyncFiles, FilesWithRawResponse, AsyncFilesWithRawResponse
-from ....._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from ....._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ....._utils import maybe_transform
from ....._resource import SyncAPIResource, AsyncAPIResource
from ....._response import to_raw_response_wrapper, async_to_raw_response_wrapper
from .....pagination import SyncCursorPage, AsyncCursorPage
-from ....._base_client import (
- AsyncPaginator,
- make_request_options,
-)
+from ....._base_client import AsyncPaginator, make_request_options
from .....types.beta.threads import (
ThreadMessage,
message_list_params,
src/openai/resources/beta/threads/runs/runs.py
@@ -8,21 +8,12 @@ from typing_extensions import Literal
import httpx
from .steps import Steps, AsyncSteps, StepsWithRawResponse, AsyncStepsWithRawResponse
-from ....._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from ....._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ....._utils import maybe_transform
from ....._resource import SyncAPIResource, AsyncAPIResource
from ....._response import to_raw_response_wrapper, async_to_raw_response_wrapper
from .....pagination import SyncCursorPage, AsyncCursorPage
-from ....._base_client import (
- AsyncPaginator,
- make_request_options,
-)
+from ....._base_client import AsyncPaginator, make_request_options
from .....types.beta.threads import (
Run,
run_list_params,
src/openai/resources/beta/threads/runs/steps.py
@@ -7,21 +7,12 @@ from typing_extensions import Literal
import httpx
-from ....._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from ....._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ....._utils import maybe_transform
from ....._resource import SyncAPIResource, AsyncAPIResource
from ....._response import to_raw_response_wrapper, async_to_raw_response_wrapper
from .....pagination import SyncCursorPage, AsyncCursorPage
-from ....._base_client import (
- AsyncPaginator,
- make_request_options,
-)
+from ....._base_client import AsyncPaginator, make_request_options
from .....types.beta.threads.runs import RunStep, step_list_params
if TYPE_CHECKING:
src/openai/resources/beta/threads/__init__.py
@@ -1,8 +1,18 @@
# File generated from our OpenAPI spec by Stainless.
from .runs import Runs, AsyncRuns, RunsWithRawResponse, AsyncRunsWithRawResponse
-from .threads import Threads, AsyncThreads, ThreadsWithRawResponse, AsyncThreadsWithRawResponse
-from .messages import Messages, AsyncMessages, MessagesWithRawResponse, AsyncMessagesWithRawResponse
+from .threads import (
+ Threads,
+ AsyncThreads,
+ ThreadsWithRawResponse,
+ AsyncThreadsWithRawResponse,
+)
+from .messages import (
+ Messages,
+ AsyncMessages,
+ MessagesWithRawResponse,
+ AsyncMessagesWithRawResponse,
+)
__all__ = [
"Runs",
src/openai/resources/beta/threads/threads.py
@@ -7,14 +7,13 @@ from typing import TYPE_CHECKING, List, Optional
import httpx
from .runs import Runs, AsyncRuns, RunsWithRawResponse, AsyncRunsWithRawResponse
-from .messages import Messages, AsyncMessages, MessagesWithRawResponse, AsyncMessagesWithRawResponse
-from ...._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
+from .messages import (
+ Messages,
+ AsyncMessages,
+ MessagesWithRawResponse,
+ AsyncMessagesWithRawResponse,
)
+from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import maybe_transform
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import to_raw_response_wrapper, async_to_raw_response_wrapper
@@ -25,9 +24,7 @@ from ....types.beta import (
thread_update_params,
thread_create_and_run_params,
)
-from ...._base_client import (
- make_request_options,
-)
+from ...._base_client import make_request_options
from ....types.beta.threads import Run
if TYPE_CHECKING:
src/openai/resources/beta/__init__.py
@@ -1,8 +1,18 @@
# File generated from our OpenAPI spec by Stainless.
from .beta import Beta, AsyncBeta, BetaWithRawResponse, AsyncBetaWithRawResponse
-from .threads import Threads, AsyncThreads, ThreadsWithRawResponse, AsyncThreadsWithRawResponse
-from .assistants import Assistants, AsyncAssistants, AssistantsWithRawResponse, AsyncAssistantsWithRawResponse
+from .threads import (
+ Threads,
+ AsyncThreads,
+ ThreadsWithRawResponse,
+ AsyncThreadsWithRawResponse,
+)
+from .assistants import (
+ Assistants,
+ AsyncAssistants,
+ AssistantsWithRawResponse,
+ AsyncAssistantsWithRawResponse,
+)
__all__ = [
"Assistants",
src/openai/resources/beta/beta.py
@@ -4,8 +4,18 @@ from __future__ import annotations
from typing import TYPE_CHECKING
-from .threads import Threads, AsyncThreads, ThreadsWithRawResponse, AsyncThreadsWithRawResponse
-from .assistants import Assistants, AsyncAssistants, AssistantsWithRawResponse, AsyncAssistantsWithRawResponse
+from .threads import (
+ Threads,
+ AsyncThreads,
+ ThreadsWithRawResponse,
+ AsyncThreadsWithRawResponse,
+)
+from .assistants import (
+ Assistants,
+ AsyncAssistants,
+ AssistantsWithRawResponse,
+ AsyncAssistantsWithRawResponse,
+)
from ..._resource import SyncAPIResource, AsyncAPIResource
if TYPE_CHECKING:
src/openai/resources/chat/__init__.py
@@ -1,7 +1,12 @@
# File generated from our OpenAPI spec by Stainless.
from .chat import Chat, AsyncChat, ChatWithRawResponse, AsyncChatWithRawResponse
-from .completions import Completions, AsyncCompletions, CompletionsWithRawResponse, AsyncCompletionsWithRawResponse
+from .completions import (
+ Completions,
+ AsyncCompletions,
+ CompletionsWithRawResponse,
+ AsyncCompletionsWithRawResponse,
+)
__all__ = [
"Completions",
src/openai/resources/chat/chat.py
@@ -5,7 +5,12 @@ from __future__ import annotations
from typing import TYPE_CHECKING
from ..._resource import SyncAPIResource, AsyncAPIResource
-from .completions import Completions, AsyncCompletions, CompletionsWithRawResponse, AsyncCompletionsWithRawResponse
+from .completions import (
+ Completions,
+ AsyncCompletions,
+ CompletionsWithRawResponse,
+ AsyncCompletionsWithRawResponse,
+)
if TYPE_CHECKING:
from ..._client import OpenAI, AsyncOpenAI
src/openai/resources/chat/completions.py
@@ -7,13 +7,7 @@ from typing_extensions import Literal
import httpx
-from ..._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._utils import required_args, maybe_transform
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import to_raw_response_wrapper, async_to_raw_response_wrapper
@@ -26,9 +20,7 @@ from ...types.chat import (
ChatCompletionToolChoiceOptionParam,
completion_create_params,
)
-from ..._base_client import (
- make_request_options,
-)
+from ..._base_client import make_request_options
if TYPE_CHECKING:
from ..._client import OpenAI, AsyncOpenAI
src/openai/resources/fine_tuning/__init__.py
@@ -1,7 +1,12 @@
# File generated from our OpenAPI spec by Stainless.
from .jobs import Jobs, AsyncJobs, JobsWithRawResponse, AsyncJobsWithRawResponse
-from .fine_tuning import FineTuning, AsyncFineTuning, FineTuningWithRawResponse, AsyncFineTuningWithRawResponse
+from .fine_tuning import (
+ FineTuning,
+ AsyncFineTuning,
+ FineTuningWithRawResponse,
+ AsyncFineTuningWithRawResponse,
+)
__all__ = [
"Jobs",
src/openai/resources/fine_tuning/jobs.py
@@ -7,21 +7,12 @@ from typing_extensions import Literal
import httpx
-from ..._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._utils import maybe_transform
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import to_raw_response_wrapper, async_to_raw_response_wrapper
from ...pagination import SyncCursorPage, AsyncCursorPage
-from ..._base_client import (
- AsyncPaginator,
- make_request_options,
-)
+from ..._base_client import AsyncPaginator, make_request_options
from ...types.fine_tuning import (
FineTuningJob,
FineTuningJobEvent,
src/openai/resources/__init__.py
@@ -5,13 +5,48 @@ from .chat import Chat, AsyncChat, ChatWithRawResponse, AsyncChatWithRawResponse
from .audio import Audio, AsyncAudio, AudioWithRawResponse, AsyncAudioWithRawResponse
from .edits import Edits, AsyncEdits, EditsWithRawResponse, AsyncEditsWithRawResponse
from .files import Files, AsyncFiles, FilesWithRawResponse, AsyncFilesWithRawResponse
-from .images import Images, AsyncImages, ImagesWithRawResponse, AsyncImagesWithRawResponse
-from .models import Models, AsyncModels, ModelsWithRawResponse, AsyncModelsWithRawResponse
-from .embeddings import Embeddings, AsyncEmbeddings, EmbeddingsWithRawResponse, AsyncEmbeddingsWithRawResponse
-from .fine_tunes import FineTunes, AsyncFineTunes, FineTunesWithRawResponse, AsyncFineTunesWithRawResponse
-from .completions import Completions, AsyncCompletions, CompletionsWithRawResponse, AsyncCompletionsWithRawResponse
-from .fine_tuning import FineTuning, AsyncFineTuning, FineTuningWithRawResponse, AsyncFineTuningWithRawResponse
-from .moderations import Moderations, AsyncModerations, ModerationsWithRawResponse, AsyncModerationsWithRawResponse
+from .images import (
+ Images,
+ AsyncImages,
+ ImagesWithRawResponse,
+ AsyncImagesWithRawResponse,
+)
+from .models import (
+ Models,
+ AsyncModels,
+ ModelsWithRawResponse,
+ AsyncModelsWithRawResponse,
+)
+from .embeddings import (
+ Embeddings,
+ AsyncEmbeddings,
+ EmbeddingsWithRawResponse,
+ AsyncEmbeddingsWithRawResponse,
+)
+from .fine_tunes import (
+ FineTunes,
+ AsyncFineTunes,
+ FineTunesWithRawResponse,
+ AsyncFineTunesWithRawResponse,
+)
+from .completions import (
+ Completions,
+ AsyncCompletions,
+ CompletionsWithRawResponse,
+ AsyncCompletionsWithRawResponse,
+)
+from .fine_tuning import (
+ FineTuning,
+ AsyncFineTuning,
+ FineTuningWithRawResponse,
+ AsyncFineTuningWithRawResponse,
+)
+from .moderations import (
+ Moderations,
+ AsyncModerations,
+ ModerationsWithRawResponse,
+ AsyncModerationsWithRawResponse,
+)
__all__ = [
"Completions",
src/openai/resources/completions.py
@@ -8,20 +8,12 @@ from typing_extensions import Literal
import httpx
from ..types import Completion, completion_create_params
-from .._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from .._utils import required_args, maybe_transform
from .._resource import SyncAPIResource, AsyncAPIResource
from .._response import to_raw_response_wrapper, async_to_raw_response_wrapper
from .._streaming import Stream, AsyncStream
-from .._base_client import (
- make_request_options,
-)
+from .._base_client import make_request_options
if TYPE_CHECKING:
from .._client import OpenAI, AsyncOpenAI
src/openai/resources/edits.py
@@ -9,19 +9,11 @@ from typing_extensions import Literal
import httpx
from ..types import Edit, edit_create_params
-from .._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from .._utils import maybe_transform
from .._resource import SyncAPIResource, AsyncAPIResource
from .._response import to_raw_response_wrapper, async_to_raw_response_wrapper
-from .._base_client import (
- make_request_options,
-)
+from .._base_client import make_request_options
if TYPE_CHECKING:
from .._client import OpenAI, AsyncOpenAI
src/openai/resources/embeddings.py
@@ -9,20 +9,13 @@ from typing_extensions import Literal
import httpx
from ..types import CreateEmbeddingResponse, embedding_create_params
-from .._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from .._utils import is_given, maybe_transform
-from .._extras import numpy as np, has_numpy
+from .._extras import numpy as np
+from .._extras import has_numpy
from .._resource import SyncAPIResource, AsyncAPIResource
from .._response import to_raw_response_wrapper, async_to_raw_response_wrapper
-from .._base_client import (
- make_request_options,
-)
+from .._base_client import make_request_options
if TYPE_CHECKING:
from .._client import OpenAI, AsyncOpenAI
src/openai/resources/files.py
@@ -9,20 +9,8 @@ from typing_extensions import Literal
import httpx
-from ..types import (
- FileObject,
- FileDeleted,
- file_list_params,
- file_create_params,
-)
-from .._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
- FileTypes,
-)
+from ..types import FileObject, FileDeleted, file_list_params, file_create_params
+from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven, FileTypes
from .._utils import extract_files, maybe_transform, deepcopy_minimal
from .._resource import SyncAPIResource, AsyncAPIResource
from .._response import to_raw_response_wrapper, async_to_raw_response_wrapper
src/openai/resources/fine_tunes.py
@@ -14,22 +14,13 @@ from ..types import (
fine_tune_create_params,
fine_tune_list_events_params,
)
-from .._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from .._utils import maybe_transform
from .._resource import SyncAPIResource, AsyncAPIResource
from .._response import to_raw_response_wrapper, async_to_raw_response_wrapper
from .._streaming import Stream, AsyncStream
from ..pagination import SyncPage, AsyncPage
-from .._base_client import (
- AsyncPaginator,
- make_request_options,
-)
+from .._base_client import AsyncPaginator, make_request_options
if TYPE_CHECKING:
from .._client import OpenAI, AsyncOpenAI
src/openai/resources/images.py
@@ -13,20 +13,11 @@ from ..types import (
image_generate_params,
image_create_variation_params,
)
-from .._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
- FileTypes,
-)
+from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven, FileTypes
from .._utils import extract_files, maybe_transform, deepcopy_minimal
from .._resource import SyncAPIResource, AsyncAPIResource
from .._response import to_raw_response_wrapper, async_to_raw_response_wrapper
-from .._base_client import (
- make_request_options,
-)
+from .._base_client import make_request_options
if TYPE_CHECKING:
from .._client import OpenAI, AsyncOpenAI
src/openai/resources/models.py
@@ -7,20 +7,11 @@ from typing import TYPE_CHECKING
import httpx
from ..types import Model, ModelDeleted
-from .._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from .._resource import SyncAPIResource, AsyncAPIResource
from .._response import to_raw_response_wrapper, async_to_raw_response_wrapper
from ..pagination import SyncPage, AsyncPage
-from .._base_client import (
- AsyncPaginator,
- make_request_options,
-)
+from .._base_client import AsyncPaginator, make_request_options
if TYPE_CHECKING:
from .._client import OpenAI, AsyncOpenAI
src/openai/resources/moderations.py
@@ -8,19 +8,11 @@ from typing_extensions import Literal
import httpx
from ..types import ModerationCreateResponse, moderation_create_params
-from .._types import (
- NOT_GIVEN,
- Body,
- Query,
- Headers,
- NotGiven,
-)
+from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from .._utils import maybe_transform
from .._resource import SyncAPIResource, AsyncAPIResource
from .._response import to_raw_response_wrapper, async_to_raw_response_wrapper
-from .._base_client import (
- make_request_options,
-)
+from .._base_client import make_request_options
if TYPE_CHECKING:
from .._client import OpenAI, AsyncOpenAI
src/openai/types/audio/__init__.py
@@ -5,5 +5,9 @@ from __future__ import annotations
from .translation import Translation as Translation
from .transcription import Transcription as Transcription
from .speech_create_params import SpeechCreateParams as SpeechCreateParams
-from .translation_create_params import TranslationCreateParams as TranslationCreateParams
-from .transcription_create_params import TranscriptionCreateParams as TranscriptionCreateParams
+from .translation_create_params import (
+ TranslationCreateParams as TranslationCreateParams,
+)
+from .transcription_create_params import (
+ TranscriptionCreateParams as TranscriptionCreateParams,
+)
src/openai/types/beta/threads/runs/__init__.py
@@ -8,4 +8,6 @@ from .step_list_params import StepListParams as StepListParams
from .function_tool_call import FunctionToolCall as FunctionToolCall
from .retrieval_tool_call import RetrievalToolCall as RetrievalToolCall
from .tool_calls_step_details import ToolCallsStepDetails as ToolCallsStepDetails
-from .message_creation_step_details import MessageCreationStepDetails as MessageCreationStepDetails
+from .message_creation_step_details import (
+ MessageCreationStepDetails as MessageCreationStepDetails,
+)
src/openai/types/beta/threads/__init__.py
@@ -11,6 +11,12 @@ from .message_list_params import MessageListParams as MessageListParams
from .message_content_text import MessageContentText as MessageContentText
from .message_create_params import MessageCreateParams as MessageCreateParams
from .message_update_params import MessageUpdateParams as MessageUpdateParams
-from .message_content_image_file import MessageContentImageFile as MessageContentImageFile
-from .run_submit_tool_outputs_params import RunSubmitToolOutputsParams as RunSubmitToolOutputsParams
-from .required_action_function_tool_call import RequiredActionFunctionToolCall as RequiredActionFunctionToolCall
+from .message_content_image_file import (
+ MessageContentImageFile as MessageContentImageFile,
+)
+from .run_submit_tool_outputs_params import (
+ RunSubmitToolOutputsParams as RunSubmitToolOutputsParams,
+)
+from .required_action_function_tool_call import (
+ RequiredActionFunctionToolCall as RequiredActionFunctionToolCall,
+)
src/openai/types/beta/__init__.py
@@ -11,4 +11,6 @@ from .thread_update_params import ThreadUpdateParams as ThreadUpdateParams
from .assistant_list_params import AssistantListParams as AssistantListParams
from .assistant_create_params import AssistantCreateParams as AssistantCreateParams
from .assistant_update_params import AssistantUpdateParams as AssistantUpdateParams
-from .thread_create_and_run_params import ThreadCreateAndRunParams as ThreadCreateAndRunParams
+from .thread_create_and_run_params import (
+ ThreadCreateAndRunParams as ThreadCreateAndRunParams,
+)
src/openai/types/chat/__init__.py
@@ -7,13 +7,27 @@ from .chat_completion_role import ChatCompletionRole as ChatCompletionRole
from .chat_completion_chunk import ChatCompletionChunk as ChatCompletionChunk
from .chat_completion_message import ChatCompletionMessage as ChatCompletionMessage
from .completion_create_params import CompletionCreateParams as CompletionCreateParams
-from .chat_completion_tool_param import ChatCompletionToolParam as ChatCompletionToolParam
-from .chat_completion_message_param import ChatCompletionMessageParam as ChatCompletionMessageParam
-from .chat_completion_message_tool_call import ChatCompletionMessageToolCall as ChatCompletionMessageToolCall
-from .chat_completion_content_part_param import ChatCompletionContentPartParam as ChatCompletionContentPartParam
-from .chat_completion_tool_message_param import ChatCompletionToolMessageParam as ChatCompletionToolMessageParam
-from .chat_completion_user_message_param import ChatCompletionUserMessageParam as ChatCompletionUserMessageParam
-from .chat_completion_system_message_param import ChatCompletionSystemMessageParam as ChatCompletionSystemMessageParam
+from .chat_completion_tool_param import (
+ ChatCompletionToolParam as ChatCompletionToolParam,
+)
+from .chat_completion_message_param import (
+ ChatCompletionMessageParam as ChatCompletionMessageParam,
+)
+from .chat_completion_message_tool_call import (
+ ChatCompletionMessageToolCall as ChatCompletionMessageToolCall,
+)
+from .chat_completion_content_part_param import (
+ ChatCompletionContentPartParam as ChatCompletionContentPartParam,
+)
+from .chat_completion_tool_message_param import (
+ ChatCompletionToolMessageParam as ChatCompletionToolMessageParam,
+)
+from .chat_completion_user_message_param import (
+ ChatCompletionUserMessageParam as ChatCompletionUserMessageParam,
+)
+from .chat_completion_system_message_param import (
+ ChatCompletionSystemMessageParam as ChatCompletionSystemMessageParam,
+)
from .chat_completion_function_message_param import (
ChatCompletionFunctionMessageParam as ChatCompletionFunctionMessageParam,
)
src/openai/types/chat/chat_completion_content_part_param.py
@@ -5,7 +5,9 @@ from __future__ import annotations
from typing import Union
from .chat_completion_content_part_text_param import ChatCompletionContentPartTextParam
-from .chat_completion_content_part_image_param import ChatCompletionContentPartImageParam
+from .chat_completion_content_part_image_param import (
+ ChatCompletionContentPartImageParam,
+)
__all__ = ["ChatCompletionContentPartParam"]
src/openai/types/chat/completion_create_params.py
@@ -8,8 +8,12 @@ from typing_extensions import Literal, Required, TypedDict
from ...types import shared_params
from .chat_completion_tool_param import ChatCompletionToolParam
from .chat_completion_message_param import ChatCompletionMessageParam
-from .chat_completion_tool_choice_option_param import ChatCompletionToolChoiceOptionParam
-from .chat_completion_function_call_option_param import ChatCompletionFunctionCallOptionParam
+from .chat_completion_tool_choice_option_param import (
+ ChatCompletionToolChoiceOptionParam,
+)
+from .chat_completion_function_call_option_param import (
+ ChatCompletionFunctionCallOptionParam,
+)
__all__ = [
"CompletionCreateParamsBase",
src/openai/types/__init__.py
@@ -5,7 +5,8 @@ from __future__ import annotations
from .edit import Edit as Edit
from .image import Image as Image
from .model import Model as Model
-from .shared import FunctionDefinition as FunctionDefinition, FunctionParameters as FunctionParameters
+from .shared import FunctionDefinition as FunctionDefinition
+from .shared import FunctionParameters as FunctionParameters
from .embedding import Embedding as Embedding
from .fine_tune import FineTune as FineTune
from .completion import Completion as Completion
@@ -27,8 +28,18 @@ from .embedding_create_params import EmbeddingCreateParams as EmbeddingCreatePar
from .fine_tune_create_params import FineTuneCreateParams as FineTuneCreateParams
from .completion_create_params import CompletionCreateParams as CompletionCreateParams
from .moderation_create_params import ModerationCreateParams as ModerationCreateParams
-from .create_embedding_response import CreateEmbeddingResponse as CreateEmbeddingResponse
-from .moderation_create_response import ModerationCreateResponse as ModerationCreateResponse
-from .fine_tune_list_events_params import FineTuneListEventsParams as FineTuneListEventsParams
-from .image_create_variation_params import ImageCreateVariationParams as ImageCreateVariationParams
-from .fine_tune_events_list_response import FineTuneEventsListResponse as FineTuneEventsListResponse
+from .create_embedding_response import (
+ CreateEmbeddingResponse as CreateEmbeddingResponse,
+)
+from .moderation_create_response import (
+ ModerationCreateResponse as ModerationCreateResponse,
+)
+from .fine_tune_list_events_params import (
+ FineTuneListEventsParams as FineTuneListEventsParams,
+)
+from .image_create_variation_params import (
+ ImageCreateVariationParams as ImageCreateVariationParams,
+)
+from .fine_tune_events_list_response import (
+ FineTuneEventsListResponse as FineTuneEventsListResponse,
+)
src/openai/__init__.py
@@ -8,7 +8,17 @@ from typing_extensions import override
from . import types
from ._types import NoneType, Transport, ProxiesTypes
from ._utils import file_from_path
-from ._client import Client, OpenAI, Stream, Timeout, Transport, AsyncClient, AsyncOpenAI, AsyncStream, RequestOptions
+from ._client import (
+ Client,
+ OpenAI,
+ Stream,
+ Timeout,
+ Transport,
+ AsyncClient,
+ AsyncOpenAI,
+ AsyncStream,
+ RequestOptions,
+)
from ._version import __title__, __version__
from ._exceptions import (
APIError,
@@ -62,7 +72,8 @@ __all__ = [
from .lib import azure as _azure
from .version import VERSION as VERSION
-from .lib.azure import AzureOpenAI as AzureOpenAI, AsyncAzureOpenAI as AsyncAzureOpenAI
+from .lib.azure import AzureOpenAI as AzureOpenAI
+from .lib.azure import AsyncAzureOpenAI as AsyncAzureOpenAI
from .lib._old_api import *
_setup_logging()
@@ -319,17 +330,15 @@ def _reset_client() -> None: # type: ignore[reportUnusedFunction]
_client = None
-from ._module_client import (
- beta as beta,
- chat as chat,
- audio as audio,
- edits as edits,
- files as files,
- images as images,
- models as models,
- embeddings as embeddings,
- fine_tunes as fine_tunes,
- completions as completions,
- fine_tuning as fine_tuning,
- moderations as moderations,
-)
+from ._module_client import beta as beta
+from ._module_client import chat as chat
+from ._module_client import audio as audio
+from ._module_client import edits as edits
+from ._module_client import files as files
+from ._module_client import images as images
+from ._module_client import models as models
+from ._module_client import embeddings as embeddings
+from ._module_client import fine_tunes as fine_tunes
+from ._module_client import completions as completions
+from ._module_client import fine_tuning as fine_tuning
+from ._module_client import moderations as moderations
src/openai/_client.py
@@ -20,19 +20,12 @@ from ._types import (
ProxiesTypes,
RequestOptions,
)
-from ._utils import (
- is_given,
- is_mapping,
- get_async_library,
-)
+from ._utils import is_given, is_mapping, get_async_library
from ._version import __version__
-from ._streaming import Stream as Stream, AsyncStream as AsyncStream
+from ._streaming import Stream as Stream
+from ._streaming import AsyncStream as AsyncStream
from ._exceptions import OpenAIError, APIStatusError
-from ._base_client import (
- DEFAULT_MAX_RETRIES,
- SyncAPIClient,
- AsyncAPIClient,
-)
+from ._base_client import DEFAULT_MAX_RETRIES, SyncAPIClient, AsyncAPIClient
__all__ = [
"Timeout",
src/openai/_compat.py
@@ -43,23 +43,21 @@ if TYPE_CHECKING:
else:
if PYDANTIC_V2:
- from pydantic.v1.typing import (
- get_args as get_args,
- is_union as is_union,
- get_origin as get_origin,
- is_typeddict as is_typeddict,
- is_literal_type as is_literal_type,
- )
- from pydantic.v1.datetime_parse import parse_date as parse_date, parse_datetime as parse_datetime
+ from pydantic.v1.typing import get_args as get_args
+ from pydantic.v1.typing import is_union as is_union
+ from pydantic.v1.typing import get_origin as get_origin
+ from pydantic.v1.typing import is_typeddict as is_typeddict
+ from pydantic.v1.typing import is_literal_type as is_literal_type
+ from pydantic.v1.datetime_parse import parse_date as parse_date
+ from pydantic.v1.datetime_parse import parse_datetime as parse_datetime
else:
- from pydantic.typing import (
- get_args as get_args,
- is_union as is_union,
- get_origin as get_origin,
- is_typeddict as is_typeddict,
- is_literal_type as is_literal_type,
- )
- from pydantic.datetime_parse import parse_date as parse_date, parse_datetime as parse_datetime
+ from pydantic.typing import get_args as get_args
+ from pydantic.typing import is_union as is_union
+ from pydantic.typing import get_origin as get_origin
+ from pydantic.typing import is_typeddict as is_typeddict
+ from pydantic.typing import is_literal_type as is_literal_type
+ from pydantic.datetime_parse import parse_date as parse_date
+ from pydantic.datetime_parse import parse_datetime as parse_datetime
# refactored config
src/openai/_models.py
@@ -30,11 +30,17 @@ from ._types import (
AnyMapping,
HttpxRequestFiles,
)
-from ._utils import is_list, is_given, is_mapping, parse_date, parse_datetime, strip_not_given
+from ._utils import (
+ is_list,
+ is_given,
+ is_mapping,
+ parse_date,
+ parse_datetime,
+ strip_not_given,
+)
+from ._compat import PYDANTIC_V2, ConfigDict
+from ._compat import GenericModel as BaseGenericModel
from ._compat import (
- PYDANTIC_V2,
- ConfigDict,
- GenericModel as BaseGenericModel,
get_args,
is_union,
parse_obj,
src/openai/_types.py
@@ -19,7 +19,14 @@ from typing import (
Sequence,
AsyncIterator,
)
-from typing_extensions import Literal, Protocol, TypeAlias, TypedDict, override, runtime_checkable
+from typing_extensions import (
+ Literal,
+ Protocol,
+ TypeAlias,
+ TypedDict,
+ override,
+ runtime_checkable,
+)
import pydantic
from httpx import URL, Proxy, Timeout, Response, BaseTransport, AsyncBaseTransport
tests/api_resources/beta/threads/test_runs.py
@@ -10,9 +10,7 @@ from openai import OpenAI, AsyncOpenAI
from tests.utils import assert_matches_type
from openai._client import OpenAI, AsyncOpenAI
from openai.pagination import SyncCursorPage, AsyncCursorPage
-from openai.types.beta.threads import (
- Run,
-)
+from openai.types.beta.threads import Run
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
api_key = "My API Key"
tests/api_resources/beta/test_assistants.py
@@ -10,10 +10,7 @@ from openai import OpenAI, AsyncOpenAI
from tests.utils import assert_matches_type
from openai._client import OpenAI, AsyncOpenAI
from openai.pagination import SyncCursorPage, AsyncCursorPage
-from openai.types.beta import (
- Assistant,
- AssistantDeleted,
-)
+from openai.types.beta import Assistant, AssistantDeleted
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
api_key = "My API Key"
tests/api_resources/beta/test_threads.py
@@ -9,10 +9,7 @@ import pytest
from openai import OpenAI, AsyncOpenAI
from tests.utils import assert_matches_type
from openai._client import OpenAI, AsyncOpenAI
-from openai.types.beta import (
- Thread,
- ThreadDeleted,
-)
+from openai.types.beta import Thread, ThreadDeleted
from openai.types.beta.threads import Run
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
tests/api_resources/fine_tuning/test_jobs.py
@@ -10,10 +10,7 @@ from openai import OpenAI, AsyncOpenAI
from tests.utils import assert_matches_type
from openai._client import OpenAI, AsyncOpenAI
from openai.pagination import SyncCursorPage, AsyncCursorPage
-from openai.types.fine_tuning import (
- FineTuningJob,
- FineTuningJobEvent,
-)
+from openai.types.fine_tuning import FineTuningJob, FineTuningJobEvent
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
api_key = "My API Key"
tests/utils.py
@@ -8,12 +8,7 @@ from datetime import date, datetime
from typing_extensions import Literal, get_args, get_origin, assert_type
from openai._types import NoneType
-from openai._utils import (
- is_dict,
- is_list,
- is_list_type,
- is_union_type,
-)
+from openai._utils import is_dict, is_list, is_list_type, is_union_type
from openai._compat import PYDANTIC_V2, field_outer_type, get_model_fields
from openai._models import BaseModel
pyproject.toml
@@ -48,16 +48,16 @@ openai = "openai.cli:main"
[tool.rye]
managed = true
dev-dependencies = [
- # version pins are in requirements-dev.lock
- "pyright",
- "mypy",
- "black",
- "respx",
- "pytest",
- "pytest-asyncio",
- "ruff",
- "time-machine",
- "nox",
+ "pyright==1.1.332",
+ "mypy==1.7.1",
+ "black==23.3.0",
+ "respx==0.20.2",
+ "pytest==7.1.1",
+ "pytest-asyncio==0.21.1",
+ "ruff==0.0.282",
+ "isort==5.10.1",
+ "time-machine==2.9.0",
+ "nox==2023.4.22",
"dirty-equals>=0.6.0",
"azure-identity >=1.14.1",
"types-tqdm > 4"
@@ -68,10 +68,12 @@ format = { chain = [
"format:black",
"format:docs",
"format:ruff",
+ "format:isort",
]}
"format:black" = "black ."
"format:docs" = "python bin/blacken-docs.py README.md api.md"
"format:ruff" = "ruff --fix ."
+"format:isort" = "isort ."
"check:ruff" = "ruff ."
@@ -126,13 +128,16 @@ reportImplicitOverride = true
reportImportCycles = false
reportPrivateUsage = false
+[tool.isort]
+profile = "black"
+length_sort = true
+extra_standard_library = ["typing_extensions"]
+
[tool.ruff]
line-length = 120
-output-format = "grouped"
+format = "grouped"
target-version = "py37"
select = [
- # isort
- "I",
# remove unused imports
"F401",
# bare except statements
@@ -150,12 +155,6 @@ unfixable = [
]
ignore-init-module-imports = true
-[tool.ruff.lint.isort]
-length-sort = true
-length-sort-straight = true
-combine-as-imports = true
-extra-standard-library = ["typing_extensions"]
-known-first-party = ["openai", "tests"]
[tool.ruff.per-file-ignores]
"bin/**.py" = ["T201", "T203"]
requirements-dev.lock
@@ -11,15 +11,11 @@ annotated-types==0.6.0
anyio==4.1.0
argcomplete==3.1.2
attrs==23.1.0
-azure-core==1.29.5
azure-identity==1.15.0
black==23.3.0
certifi==2023.7.22
-cffi==1.16.0
-charset-normalizer==3.3.2
click==8.1.7
colorlog==6.7.0
-cryptography==41.0.7
dirty-equals==0.6.0
distlib==0.3.7
distro==1.8.0
@@ -30,43 +26,32 @@ httpcore==1.0.2
httpx==0.25.2
idna==3.4
iniconfig==2.0.0
-msal==1.26.0
-msal-extensions==1.0.0
+isort==5.10.1
mypy==1.7.1
mypy-extensions==1.0.0
nodeenv==1.8.0
nox==2023.4.22
-numpy==1.26.2
packaging==23.2
-pandas==2.1.3
-pandas-stubs==2.1.1.230928
pathspec==0.11.2
platformdirs==3.11.0
pluggy==1.3.0
-portalocker==2.8.2
py==1.11.0
-pycparser==2.21
pydantic==2.4.2
pydantic-core==2.10.1
-pyjwt==2.8.0
pyright==1.1.332
pytest==7.1.1
pytest-asyncio==0.21.1
python-dateutil==2.8.2
pytz==2023.3.post1
-requests==2.31.0
respx==0.20.2
-ruff==0.1.7
+ruff==0.0.282
six==1.16.0
sniffio==1.3.0
time-machine==2.9.0
tomli==2.0.1
tqdm==4.66.1
-types-pytz==2023.3.1.1
types-tqdm==4.66.0.2
typing-extensions==4.8.0
-tzdata==2023.3
-urllib3==2.1.0
virtualenv==20.24.5
# The following packages are considered to be unsafe in a requirements file:
setuptools==68.2.2