Commit e4a9553e

Stainless Bot <107565488+stainless-bot@users.noreply.github.com>
2024-04-24 07:16:49
release: 1.23.3 (#1360) tag: v1.23.3
* chore(internal): restructure imports (#1359) * release: 1.23.3
1 parent c117779
src/openai/resources/audio/transcriptions.py
@@ -18,10 +18,11 @@ from ..._utils import (
 from ..._compat import cached_property
 from ..._resource import SyncAPIResource, AsyncAPIResource
 from ..._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
-from ...types.audio import Transcription, transcription_create_params
+from ...types.audio import transcription_create_params
 from ..._base_client import (
     make_request_options,
 )
+from ...types.audio.transcription import Transcription
 
 __all__ = ["Transcriptions", "AsyncTranscriptions"]
 
src/openai/resources/audio/translations.py
@@ -18,10 +18,11 @@ from ..._utils import (
 from ..._compat import cached_property
 from ..._resource import SyncAPIResource, AsyncAPIResource
 from ..._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
-from ...types.audio import Translation, translation_create_params
+from ...types.audio import translation_create_params
 from ..._base_client import (
     make_request_options,
 )
+from ...types.audio.translation import Translation
 
 __all__ = ["Translations", "AsyncTranslations"]
 
src/openai/resources/beta/threads/runs/runs.py
@@ -31,12 +31,6 @@ from ....._resource import SyncAPIResource, AsyncAPIResource
 from ....._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
 from ....._streaming import Stream, AsyncStream
 from .....pagination import SyncCursorPage, AsyncCursorPage
-from .....types.beta import (
-    AssistantToolParam,
-    AssistantStreamEvent,
-    AssistantToolChoiceOptionParam,
-    AssistantResponseFormatOptionParam,
-)
 from ....._base_client import (
     AsyncPaginator,
     make_request_options,
@@ -50,12 +44,16 @@ from .....lib.streaming import (
     AsyncAssistantStreamManager,
 )
 from .....types.beta.threads import (
-    Run,
     run_list_params,
     run_create_params,
     run_update_params,
     run_submit_tool_outputs_params,
 )
+from .....types.beta.threads.run import Run
+from .....types.beta.assistant_tool_param import AssistantToolParam
+from .....types.beta.assistant_stream_event import AssistantStreamEvent
+from .....types.beta.assistant_tool_choice_option_param import AssistantToolChoiceOptionParam
+from .....types.beta.assistant_response_format_option_param import AssistantResponseFormatOptionParam
 
 __all__ = ["Runs", "AsyncRuns"]
 
src/openai/resources/beta/threads/runs/steps.py
@@ -17,7 +17,8 @@ from ....._base_client import (
     AsyncPaginator,
     make_request_options,
 )
-from .....types.beta.threads.runs import RunStep, step_list_params
+from .....types.beta.threads.runs import step_list_params
+from .....types.beta.threads.runs.run_step import RunStep
 
 __all__ = ["Steps", "AsyncSteps"]
 
src/openai/resources/beta/threads/messages.py
@@ -21,7 +21,8 @@ from ...._base_client import (
     AsyncPaginator,
     make_request_options,
 )
-from ....types.beta.threads import Message, message_list_params, message_create_params, message_update_params
+from ....types.beta.threads import message_list_params, message_create_params, message_update_params
+from ....types.beta.threads.message import Message
 
 __all__ = ["Messages", "AsyncMessages"]
 
src/openai/resources/beta/threads/threads.py
@@ -37,11 +37,6 @@ from ...._resource import SyncAPIResource, AsyncAPIResource
 from ...._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
 from ...._streaming import Stream, AsyncStream
 from ....types.beta import (
-    Thread,
-    ThreadDeleted,
-    AssistantStreamEvent,
-    AssistantToolChoiceOptionParam,
-    AssistantResponseFormatOptionParam,
     thread_create_params,
     thread_update_params,
     thread_create_and_run_params,
@@ -57,7 +52,12 @@ from ....lib.streaming import (
     AsyncAssistantEventHandlerT,
     AsyncAssistantStreamManager,
 )
-from ....types.beta.threads import Run
+from ....types.beta.thread import Thread
+from ....types.beta.threads.run import Run
+from ....types.beta.thread_deleted import ThreadDeleted
+from ....types.beta.assistant_stream_event import AssistantStreamEvent
+from ....types.beta.assistant_tool_choice_option_param import AssistantToolChoiceOptionParam
+from ....types.beta.assistant_response_format_option_param import AssistantResponseFormatOptionParam
 
 __all__ = ["Threads", "AsyncThreads"]
 
src/openai/resources/beta/vector_stores/file_batches.py
@@ -26,12 +26,9 @@ from ...._base_client import (
     AsyncPaginator,
     make_request_options,
 )
-from ....types.beta.vector_stores import (
-    VectorStoreFile,
-    VectorStoreFileBatch,
-    file_batch_create_params,
-    file_batch_list_files_params,
-)
+from ....types.beta.vector_stores import file_batch_create_params, file_batch_list_files_params
+from ....types.beta.vector_stores.vector_store_file import VectorStoreFile
+from ....types.beta.vector_stores.vector_store_file_batch import VectorStoreFileBatch
 
 __all__ = ["FileBatches", "AsyncFileBatches"]
 
src/openai/resources/beta/vector_stores/files.py
@@ -22,7 +22,9 @@ from ...._base_client import (
     AsyncPaginator,
     make_request_options,
 )
-from ....types.beta.vector_stores import VectorStoreFile, VectorStoreFileDeleted, file_list_params, file_create_params
+from ....types.beta.vector_stores import file_list_params, file_create_params
+from ....types.beta.vector_stores.vector_store_file import VectorStoreFile
+from ....types.beta.vector_stores.vector_store_file_deleted import VectorStoreFileDeleted
 
 __all__ = ["Files", "AsyncFiles"]
 
src/openai/resources/beta/vector_stores/vector_stores.py
@@ -33,17 +33,13 @@ from .file_batches import (
     AsyncFileBatchesWithStreamingResponse,
 )
 from ....pagination import SyncCursorPage, AsyncCursorPage
-from ....types.beta import (
-    VectorStore,
-    VectorStoreDeleted,
-    vector_store_list_params,
-    vector_store_create_params,
-    vector_store_update_params,
-)
+from ....types.beta import vector_store_list_params, vector_store_create_params, vector_store_update_params
 from ...._base_client import (
     AsyncPaginator,
     make_request_options,
 )
+from ....types.beta.vector_store import VectorStore
+from ....types.beta.vector_store_deleted import VectorStoreDeleted
 
 __all__ = ["VectorStores", "AsyncVectorStores"]
 
src/openai/resources/beta/assistants.py
@@ -18,10 +18,6 @@ from ..._resource import SyncAPIResource, AsyncAPIResource
 from ..._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
 from ...pagination import SyncCursorPage, AsyncCursorPage
 from ...types.beta import (
-    Assistant,
-    AssistantDeleted,
-    AssistantToolParam,
-    AssistantResponseFormatOptionParam,
     assistant_list_params,
     assistant_create_params,
     assistant_update_params,
@@ -30,6 +26,10 @@ from ..._base_client import (
     AsyncPaginator,
     make_request_options,
 )
+from ...types.beta.assistant import Assistant
+from ...types.beta.assistant_deleted import AssistantDeleted
+from ...types.beta.assistant_tool_param import AssistantToolParam
+from ...types.beta.assistant_response_format_option_param import AssistantResponseFormatOptionParam
 
 __all__ = ["Assistants", "AsyncAssistants"]
 
src/openai/resources/chat/completions.py
@@ -8,7 +8,6 @@ from typing_extensions import Literal
 import httpx
 
 from ... import _legacy_response
-from ...types import ChatModel
 from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
 from ..._utils import (
     required_args,
@@ -19,17 +18,16 @@ from ..._compat import cached_property
 from ..._resource import SyncAPIResource, AsyncAPIResource
 from ..._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
 from ..._streaming import Stream, AsyncStream
-from ...types.chat import (
-    ChatCompletion,
-    ChatCompletionChunk,
-    ChatCompletionToolParam,
-    ChatCompletionMessageParam,
-    ChatCompletionToolChoiceOptionParam,
-    completion_create_params,
-)
+from ...types.chat import completion_create_params
 from ..._base_client import (
     make_request_options,
 )
+from ...types.chat_model import ChatModel
+from ...types.chat.chat_completion import ChatCompletion
+from ...types.chat.chat_completion_chunk import ChatCompletionChunk
+from ...types.chat.chat_completion_tool_param import ChatCompletionToolParam
+from ...types.chat.chat_completion_message_param import ChatCompletionMessageParam
+from ...types.chat.chat_completion_tool_choice_option_param import ChatCompletionToolChoiceOptionParam
 
 __all__ = ["Completions", "AsyncCompletions"]
 
src/openai/resources/fine_tuning/jobs/checkpoints.py
@@ -15,7 +15,8 @@ from ...._base_client import (
     AsyncPaginator,
     make_request_options,
 )
-from ....types.fine_tuning.jobs import FineTuningJobCheckpoint, checkpoint_list_params
+from ....types.fine_tuning.jobs import checkpoint_list_params
+from ....types.fine_tuning.jobs.fine_tuning_job_checkpoint import FineTuningJobCheckpoint
 
 __all__ = ["Checkpoints", "AsyncCheckpoints"]
 
src/openai/resources/fine_tuning/jobs/jobs.py
@@ -29,13 +29,9 @@ from ...._base_client import (
     AsyncPaginator,
     make_request_options,
 )
-from ....types.fine_tuning import (
-    FineTuningJob,
-    FineTuningJobEvent,
-    job_list_params,
-    job_create_params,
-    job_list_events_params,
-)
+from ....types.fine_tuning import job_list_params, job_create_params, job_list_events_params
+from ....types.fine_tuning.fine_tuning_job import FineTuningJob
+from ....types.fine_tuning.fine_tuning_job_event import FineTuningJobEvent
 
 __all__ = ["Jobs", "AsyncJobs"]
 
src/openai/resources/batches.py
@@ -8,7 +8,7 @@ from typing_extensions import Literal
 import httpx
 
 from .. import _legacy_response
-from ..types import Batch, batch_list_params, batch_create_params
+from ..types import batch_list_params, batch_create_params
 from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
 from .._utils import (
     maybe_transform,
@@ -18,6 +18,7 @@ from .._compat import cached_property
 from .._resource import SyncAPIResource, AsyncAPIResource
 from .._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
 from ..pagination import SyncCursorPage, AsyncCursorPage
+from ..types.batch import Batch
 from .._base_client import (
     AsyncPaginator,
     make_request_options,
src/openai/resources/completions.py
@@ -8,7 +8,7 @@ from typing_extensions import Literal
 import httpx
 
 from .. import _legacy_response
-from ..types import Completion, completion_create_params
+from ..types import completion_create_params
 from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
 from .._utils import (
     required_args,
@@ -22,6 +22,7 @@ from .._streaming import Stream, AsyncStream
 from .._base_client import (
     make_request_options,
 )
+from ..types.completion import Completion
 
 __all__ = ["Completions", "AsyncCompletions"]
 
src/openai/resources/embeddings.py
@@ -9,7 +9,7 @@ from typing_extensions import Literal
 import httpx
 
 from .. import _legacy_response
-from ..types import CreateEmbeddingResponse, embedding_create_params
+from ..types import embedding_create_params
 from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
 from .._utils import is_given, maybe_transform
 from .._compat import cached_property
@@ -19,6 +19,7 @@ from .._response import to_streamed_response_wrapper, async_to_streamed_response
 from .._base_client import (
     make_request_options,
 )
+from ..types.create_embedding_response import CreateEmbeddingResponse
 
 __all__ = ["Embeddings", "AsyncEmbeddings"]
 
src/openai/resources/files.py
@@ -10,7 +10,7 @@ from typing_extensions import Literal
 import httpx
 
 from .. import _legacy_response
-from ..types import FileObject, FileDeleted, file_list_params, file_create_params
+from ..types import file_list_params, file_create_params
 from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven, FileTypes
 from .._utils import (
     extract_files,
@@ -33,6 +33,8 @@ from .._base_client import (
     AsyncPaginator,
     make_request_options,
 )
+from ..types.file_object import FileObject
+from ..types.file_deleted import FileDeleted
 
 __all__ = ["Files", "AsyncFiles"]
 
src/openai/resources/images.py
@@ -8,12 +8,7 @@ from typing_extensions import Literal
 import httpx
 
 from .. import _legacy_response
-from ..types import (
-    ImagesResponse,
-    image_edit_params,
-    image_generate_params,
-    image_create_variation_params,
-)
+from ..types import image_edit_params, image_generate_params, image_create_variation_params
 from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven, FileTypes
 from .._utils import (
     extract_files,
@@ -27,6 +22,7 @@ from .._response import to_streamed_response_wrapper, async_to_streamed_response
 from .._base_client import (
     make_request_options,
 )
+from ..types.images_response import ImagesResponse
 
 __all__ = ["Images", "AsyncImages"]
 
src/openai/resources/models.py
@@ -5,16 +5,17 @@ from __future__ import annotations
 import httpx
 
 from .. import _legacy_response
-from ..types import Model, ModelDeleted
 from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
 from .._compat import cached_property
 from .._resource import SyncAPIResource, AsyncAPIResource
 from .._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
 from ..pagination import SyncPage, AsyncPage
+from ..types.model import Model
 from .._base_client import (
     AsyncPaginator,
     make_request_options,
 )
+from ..types.model_deleted import ModelDeleted
 
 __all__ = ["Models", "AsyncModels"]
 
src/openai/resources/moderations.py
@@ -8,7 +8,7 @@ from typing_extensions import Literal
 import httpx
 
 from .. import _legacy_response
-from ..types import ModerationCreateResponse, moderation_create_params
+from ..types import moderation_create_params
 from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
 from .._utils import (
     maybe_transform,
@@ -20,6 +20,7 @@ from .._response import to_streamed_response_wrapper, async_to_streamed_response
 from .._base_client import (
     make_request_options,
 )
+from ..types.moderation_create_response import ModerationCreateResponse
 
 __all__ = ["Moderations", "AsyncModerations"]
 
src/openai/types/beta/assistant_stream_event.py
@@ -4,11 +4,14 @@ from typing import Union
 from typing_extensions import Literal, Annotated
 
 from .thread import Thread
-from ..shared import ErrorObject
-from .threads import Run, Message, MessageDeltaEvent
 from ..._utils import PropertyInfo
 from ..._models import BaseModel
-from .threads.runs import RunStep, RunStepDeltaEvent
+from .threads.run import Run
+from .threads.message import Message
+from ..shared.error_object import ErrorObject
+from .threads.runs.run_step import RunStep
+from .threads.message_delta_event import MessageDeltaEvent
+from .threads.runs.run_step_delta_event import RunStepDeltaEvent
 
 __all__ = [
     "AssistantStreamEvent",
src/openai/types/beta/function_tool.py
@@ -2,8 +2,8 @@
 
 from typing_extensions import Literal
 
-from ..shared import FunctionDefinition
 from ..._models import BaseModel
+from ..shared.function_definition import FunctionDefinition
 
 __all__ = ["FunctionTool"]
 
src/openai/_version.py
@@ -1,4 +1,4 @@
 # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
 
 __title__ = "openai"
-__version__ = "1.23.2"  # x-release-please-version
+__version__ = "1.23.3"  # x-release-please-version
tests/api_resources/audio/test_transcriptions.py
@@ -9,7 +9,7 @@ import pytest
 
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
-from openai.types.audio import Transcription
+from openai.types.audio.transcription import Transcription
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/audio/test_translations.py
@@ -9,7 +9,7 @@ import pytest
 
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
-from openai.types.audio import Translation
+from openai.types.audio.translation import Translation
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/beta/threads/runs/test_steps.py
@@ -10,7 +10,7 @@ import pytest
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
 from openai.pagination import SyncCursorPage, AsyncCursorPage
-from openai.types.beta.threads.runs import RunStep
+from openai.types.beta.threads.runs.run_step import RunStep
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/beta/threads/test_messages.py
@@ -10,7 +10,7 @@ import pytest
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
 from openai.pagination import SyncCursorPage, AsyncCursorPage
-from openai.types.beta.threads import Message
+from openai.types.beta.threads.message import Message
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/beta/threads/test_runs.py
@@ -10,9 +10,7 @@ import pytest
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
 from openai.pagination import SyncCursorPage, AsyncCursorPage
-from openai.types.beta.threads import (
-    Run,
-)
+from openai.types.beta.threads.run import Run
 
 # pyright: reportDeprecated=false
 
tests/api_resources/beta/vector_stores/test_file_batches.py
@@ -10,10 +10,8 @@ import pytest
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
 from openai.pagination import SyncCursorPage, AsyncCursorPage
-from openai.types.beta.vector_stores import (
-    VectorStoreFile,
-    VectorStoreFileBatch,
-)
+from openai.types.beta.vector_stores.vector_store_file import VectorStoreFile
+from openai.types.beta.vector_stores.vector_store_file_batch import VectorStoreFileBatch
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/beta/vector_stores/test_files.py
@@ -10,10 +10,8 @@ import pytest
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
 from openai.pagination import SyncCursorPage, AsyncCursorPage
-from openai.types.beta.vector_stores import (
-    VectorStoreFile,
-    VectorStoreFileDeleted,
-)
+from openai.types.beta.vector_stores.vector_store_file import VectorStoreFile
+from openai.types.beta.vector_stores.vector_store_file_deleted import VectorStoreFileDeleted
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/beta/test_assistants.py
@@ -10,10 +10,8 @@ import pytest
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
 from openai.pagination import SyncCursorPage, AsyncCursorPage
-from openai.types.beta import (
-    Assistant,
-    AssistantDeleted,
-)
+from openai.types.beta.assistant import Assistant
+from openai.types.beta.assistant_deleted import AssistantDeleted
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/beta/test_threads.py
@@ -9,11 +9,9 @@ import pytest
 
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
-from openai.types.beta import (
-    Thread,
-    ThreadDeleted,
-)
-from openai.types.beta.threads import Run
+from openai.types.beta.thread import Thread
+from openai.types.beta.threads.run import Run
+from openai.types.beta.thread_deleted import ThreadDeleted
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/beta/test_vector_stores.py
@@ -10,10 +10,8 @@ import pytest
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
 from openai.pagination import SyncCursorPage, AsyncCursorPage
-from openai.types.beta import (
-    VectorStore,
-    VectorStoreDeleted,
-)
+from openai.types.beta.vector_store import VectorStore
+from openai.types.beta.vector_store_deleted import VectorStoreDeleted
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/chat/test_completions.py
@@ -9,7 +9,7 @@ import pytest
 
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
-from openai.types.chat import ChatCompletion
+from openai.types.chat.chat_completion import ChatCompletion
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/fine_tuning/jobs/test_checkpoints.py
@@ -10,7 +10,7 @@ import pytest
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
 from openai.pagination import SyncCursorPage, AsyncCursorPage
-from openai.types.fine_tuning.jobs import FineTuningJobCheckpoint
+from openai.types.fine_tuning.jobs.fine_tuning_job_checkpoint import FineTuningJobCheckpoint
 
 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,8 @@ import pytest
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
 from openai.pagination import SyncCursorPage, AsyncCursorPage
-from openai.types.fine_tuning import (
-    FineTuningJob,
-    FineTuningJobEvent,
-)
+from openai.types.fine_tuning.fine_tuning_job import FineTuningJob
+from openai.types.fine_tuning.fine_tuning_job_event import FineTuningJobEvent
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/test_batches.py
@@ -9,8 +9,8 @@ import pytest
 
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
-from openai.types import Batch
 from openai.pagination import SyncCursorPage, AsyncCursorPage
+from openai.types.batch import Batch
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/test_completions.py
@@ -9,7 +9,7 @@ import pytest
 
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
-from openai.types import Completion
+from openai.types.completion import Completion
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/test_embeddings.py
@@ -9,7 +9,7 @@ import pytest
 
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
-from openai.types import CreateEmbeddingResponse
+from openai.types.create_embedding_response import CreateEmbeddingResponse
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/test_files.py
@@ -12,8 +12,9 @@ from respx import MockRouter
 import openai._legacy_response as _legacy_response
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
-from openai.types import FileObject, FileDeleted
 from openai.pagination import SyncPage, AsyncPage
+from openai.types.file_object import FileObject
+from openai.types.file_deleted import FileDeleted
 
 # pyright: reportDeprecated=false
 
tests/api_resources/test_images.py
@@ -9,7 +9,7 @@ import pytest
 
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
-from openai.types import ImagesResponse
+from openai.types.images_response import ImagesResponse
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/test_models.py
@@ -9,8 +9,9 @@ import pytest
 
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
-from openai.types import Model, ModelDeleted
 from openai.pagination import SyncPage, AsyncPage
+from openai.types.model import Model
+from openai.types.model_deleted import ModelDeleted
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
tests/api_resources/test_moderations.py
@@ -9,7 +9,7 @@ import pytest
 
 from openai import OpenAI, AsyncOpenAI
 from tests.utils import assert_matches_type
-from openai.types import ModerationCreateResponse
+from openai.types.moderation_create_response import ModerationCreateResponse
 
 base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
 
.release-please-manifest.json
@@ -1,3 +1,3 @@
 {
-  ".": "1.23.2"
+  ".": "1.23.3"
 }
\ No newline at end of file
CHANGELOG.md
@@ -1,5 +1,13 @@
 # Changelog
 
+## 1.23.3 (2024-04-23)
+
+Full Changelog: [v1.23.2...v1.23.3](https://github.com/openai/openai-python/compare/v1.23.2...v1.23.3)
+
+### Chores
+
+* **internal:** restructure imports ([#1359](https://github.com/openai/openai-python/issues/1359)) ([4e5eb37](https://github.com/openai/openai-python/commit/4e5eb374ea0545a6117db657bb05f6417bc62d18))
+
 ## 1.23.2 (2024-04-19)
 
 Full Changelog: [v1.23.1...v1.23.2](https://github.com/openai/openai-python/compare/v1.23.1...v1.23.2)
pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "openai"
-version = "1.23.2"
+version = "1.23.3"
 description = "The official Python library for the openai API"
 dynamic = ["readme"]
 license = "Apache-2.0"