Commit 05f0132f

stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
2024-08-16 05:59:01
chore(types): define FilePurpose enum (#1653)
1 parent 3bf03f2
src/openai/resources/uploads/uploads.py
@@ -3,7 +3,6 @@
 from __future__ import annotations
 
 from typing import List
-from typing_extensions import Literal
 
 import httpx
 
@@ -16,7 +15,7 @@ from .parts import (
     PartsWithStreamingResponse,
     AsyncPartsWithStreamingResponse,
 )
-from ...types import upload_create_params, upload_complete_params
+from ...types import FilePurpose, upload_create_params, upload_complete_params
 from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
 from ..._utils import (
     maybe_transform,
@@ -27,6 +26,7 @@ from ..._resource import SyncAPIResource, AsyncAPIResource
 from ..._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
 from ..._base_client import make_request_options
 from ...types.upload import Upload
+from ...types.file_purpose import FilePurpose
 
 __all__ = ["Uploads", "AsyncUploads"]
 
@@ -50,7 +50,7 @@ class Uploads(SyncAPIResource):
         bytes: int,
         filename: str,
         mime_type: str,
-        purpose: Literal["assistants", "batch", "fine-tune", "vision"],
+        purpose: FilePurpose,
         # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
         # The extra values given here take precedence over values defined on the client or passed to this method.
         extra_headers: Headers | None = None,
@@ -233,7 +233,7 @@ class AsyncUploads(AsyncAPIResource):
         bytes: int,
         filename: str,
         mime_type: str,
-        purpose: Literal["assistants", "batch", "fine-tune", "vision"],
+        purpose: FilePurpose,
         # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
         # The extra values given here take precedence over values defined on the client or passed to this method.
         extra_headers: Headers | None = None,
src/openai/resources/files.py
@@ -5,12 +5,11 @@ from __future__ import annotations
 import time
 import typing_extensions
 from typing import Mapping, cast
-from typing_extensions import Literal
 
 import httpx
 
 from .. import _legacy_response
-from ..types import file_list_params, file_create_params
+from ..types import FilePurpose, file_list_params, file_create_params
 from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven, FileTypes
 from .._utils import (
     extract_files,
@@ -35,6 +34,7 @@ from .._base_client import (
 )
 from ..types.file_object import FileObject
 from ..types.file_deleted import FileDeleted
+from ..types.file_purpose import FilePurpose
 
 __all__ = ["Files", "AsyncFiles"]
 
@@ -52,7 +52,7 @@ class Files(SyncAPIResource):
         self,
         *,
         file: FileTypes,
-        purpose: Literal["assistants", "batch", "fine-tune", "vision"],
+        purpose: FilePurpose,
         # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
         # The extra values given here take precedence over values defined on the client or passed to this method.
         extra_headers: Headers | None = None,
@@ -334,7 +334,7 @@ class AsyncFiles(AsyncAPIResource):
         self,
         *,
         file: FileTypes,
-        purpose: Literal["assistants", "batch", "fine-tune", "vision"],
+        purpose: FilePurpose,
         # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
         # The extra values given here take precedence over values defined on the client or passed to this method.
         extra_headers: Headers | None = None,
src/openai/types/__init__.py
@@ -24,6 +24,7 @@ from .file_object import FileObject as FileObject
 from .image_model import ImageModel as ImageModel
 from .file_content import FileContent as FileContent
 from .file_deleted import FileDeleted as FileDeleted
+from .file_purpose import FilePurpose as FilePurpose
 from .model_deleted import ModelDeleted as ModelDeleted
 from .images_response import ImagesResponse as ImagesResponse
 from .completion_usage import CompletionUsage as CompletionUsage
src/openai/types/file_create_params.py
@@ -2,9 +2,10 @@
 
 from __future__ import annotations
 
-from typing_extensions import Literal, Required, TypedDict
+from typing_extensions import Required, TypedDict
 
 from .._types import FileTypes
+from .file_purpose import FilePurpose
 
 __all__ = ["FileCreateParams"]
 
@@ -13,7 +14,7 @@ class FileCreateParams(TypedDict, total=False):
     file: Required[FileTypes]
     """The File object (not file name) to be uploaded."""
 
-    purpose: Required[Literal["assistants", "batch", "fine-tune", "vision"]]
+    purpose: Required[FilePurpose]
     """The intended purpose of the uploaded file.
 
     Use "assistants" for
src/openai/types/file_purpose.py
@@ -0,0 +1,7 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from typing_extensions import Literal, TypeAlias
+
+__all__ = ["FilePurpose"]
+
+FilePurpose: TypeAlias = Literal["assistants", "batch", "fine-tune", "vision"]
src/openai/types/upload_create_params.py
@@ -2,7 +2,9 @@
 
 from __future__ import annotations
 
-from typing_extensions import Literal, Required, TypedDict
+from typing_extensions import Required, TypedDict
+
+from .file_purpose import FilePurpose
 
 __all__ = ["UploadCreateParams"]
 
@@ -21,7 +23,7 @@ class UploadCreateParams(TypedDict, total=False):
     supported MIME types for assistants and vision.
     """
 
-    purpose: Required[Literal["assistants", "batch", "fine-tune", "vision"]]
+    purpose: Required[FilePurpose]
     """The intended purpose of the uploaded file.
 
     See the
.stats.yml
@@ -1,2 +1,2 @@
 configured_endpoints: 68
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai-285bce7dcdae7eea5fe84a8d6e5af2c1473d65ea193109370fb2257851eef7eb.yml
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai-8ff62fa1091460d68fbd36d72c17d91b709917bebf2983c9c4de5784bc384a2e.yml
api.md
@@ -82,7 +82,7 @@ Methods:
 Types:
 
 ```python
-from openai.types import FileContent, FileDeleted, FileObject
+from openai.types import FileContent, FileDeleted, FileObject, FilePurpose
 ```
 
 Methods: