Skip to content

Commit c0823d8

Browse files
RobertCraigiemegamanics
authored andcommitted
feat(api): releases from DevDay; assistants, multimodality, tools, dall-e-3, tts, and more (openai#682)
* feat(api): releases from DevDay; assistants, multimodality, tools, dall-e-3, tts, and more * docs(api): improve docstrings * v1.1.0
1 parent c2bd21b commit c0823d8

File tree

144 files changed

+8618
-252
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

144 files changed

+8618
-252
lines changed

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
configured_endpoints: 28
1+
configured_endpoints: 57

api.md

Lines changed: 139 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,23 @@ Types:
1919
```python
2020
from openai.types.chat import (
2121
ChatCompletion,
22+
ChatCompletionAssistantMessageParam,
2223
ChatCompletionChunk,
24+
ChatCompletionContentPart,
25+
ChatCompletionContentPartImage,
26+
ChatCompletionContentPartText,
27+
ChatCompletionFunctionCallOption,
28+
ChatCompletionFunctionMessageParam,
2329
ChatCompletionMessage,
2430
ChatCompletionMessageParam,
31+
ChatCompletionMessageToolCall,
32+
ChatCompletionNamedToolChoice,
2533
ChatCompletionRole,
34+
ChatCompletionSystemMessageParam,
35+
ChatCompletionTool,
36+
ChatCompletionToolChoiceOption,
37+
ChatCompletionToolMessageParam,
38+
ChatCompletionUserMessageParam,
2639
)
2740
```
2841

@@ -66,7 +79,7 @@ Methods:
6679

6780
- <code title="post /files">client.files.<a href="./src/openai/resources/files.py">create</a>(\*\*<a href="src/openai/types/file_create_params.py">params</a>) -> <a href="./src/openai/types/file_object.py">FileObject</a></code>
6881
- <code title="get /files/{file_id}">client.files.<a href="./src/openai/resources/files.py">retrieve</a>(file_id) -> <a href="./src/openai/types/file_object.py">FileObject</a></code>
69-
- <code title="get /files">client.files.<a href="./src/openai/resources/files.py">list</a>() -> <a href="./src/openai/types/file_object.py">SyncPage[FileObject]</a></code>
82+
- <code title="get /files">client.files.<a href="./src/openai/resources/files.py">list</a>(\*\*<a href="src/openai/types/file_list_params.py">params</a>) -> <a href="./src/openai/types/file_object.py">SyncPage[FileObject]</a></code>
7083
- <code title="delete /files/{file_id}">client.files.<a href="./src/openai/resources/files.py">delete</a>(file_id) -> <a href="./src/openai/types/file_deleted.py">FileDeleted</a></code>
7184
- <code title="get /files/{file_id}/content">client.files.<a href="./src/openai/resources/files.py">retrieve_content</a>(file_id) -> str</code>
7285
- <code>client.files.<a href="./src/openai/resources/files.py">wait_for_processing</a>(\*args) -> FileObject</code>
@@ -111,6 +124,12 @@ Methods:
111124

112125
- <code title="post /audio/translations">client.audio.translations.<a href="./src/openai/resources/audio/translations.py">create</a>(\*\*<a href="src/openai/types/audio/translation_create_params.py">params</a>) -> <a href="./src/openai/types/audio/translation.py">Translation</a></code>
113126

127+
## Speech
128+
129+
Methods:
130+
131+
- <code title="post /audio/speech">client.audio.speech.<a href="./src/openai/resources/audio/speech.py">create</a>(\*\*<a href="src/openai/types/audio/speech_create_params.py">params</a>) -> HttpxBinaryResponseContent</code>
132+
114133
# Moderations
115134

116135
Types:
@@ -170,3 +189,122 @@ Methods:
170189
- <code title="get /fine-tunes">client.fine_tunes.<a href="./src/openai/resources/fine_tunes.py">list</a>() -> <a href="./src/openai/types/fine_tune.py">SyncPage[FineTune]</a></code>
171190
- <code title="post /fine-tunes/{fine_tune_id}/cancel">client.fine_tunes.<a href="./src/openai/resources/fine_tunes.py">cancel</a>(fine_tune_id) -> <a href="./src/openai/types/fine_tune.py">FineTune</a></code>
172191
- <code title="get /fine-tunes/{fine_tune_id}/events">client.fine_tunes.<a href="./src/openai/resources/fine_tunes.py">list_events</a>(fine_tune_id, \*\*<a href="src/openai/types/fine_tune_list_events_params.py">params</a>) -> <a href="./src/openai/types/fine_tune_events_list_response.py">FineTuneEventsListResponse</a></code>
192+
193+
# Beta
194+
195+
## Assistants
196+
197+
Types:
198+
199+
```python
200+
from openai.types.beta import Assistant, AsssitantDeleted
201+
```
202+
203+
Methods:
204+
205+
- <code title="post /assistants">client.beta.assistants.<a href="./src/openai/resources/beta/assistants/assistants.py">create</a>(\*\*<a href="src/openai/types/beta/assistant_create_params.py">params</a>) -> <a href="./src/openai/types/beta/assistant.py">Assistant</a></code>
206+
- <code title="get /assistants/{assistant_id}">client.beta.assistants.<a href="./src/openai/resources/beta/assistants/assistants.py">retrieve</a>(assistant_id) -> <a href="./src/openai/types/beta/assistant.py">Assistant</a></code>
207+
- <code title="post /assistants/{assistant_id}">client.beta.assistants.<a href="./src/openai/resources/beta/assistants/assistants.py">update</a>(assistant_id, \*\*<a href="src/openai/types/beta/assistant_update_params.py">params</a>) -> <a href="./src/openai/types/beta/assistant.py">Assistant</a></code>
208+
- <code title="get /assistants">client.beta.assistants.<a href="./src/openai/resources/beta/assistants/assistants.py">list</a>(\*\*<a href="src/openai/types/beta/assistant_list_params.py">params</a>) -> <a href="./src/openai/types/beta/assistant.py">SyncCursorPage[Assistant]</a></code>
209+
- <code title="delete /assistants/{assistant_id}">client.beta.assistants.<a href="./src/openai/resources/beta/assistants/assistants.py">delete</a>(assistant_id) -> <a href="./src/openai/types/beta/asssitant_deleted.py">AsssitantDeleted</a></code>
210+
211+
### Files
212+
213+
Types:
214+
215+
```python
216+
from openai.types.beta.assistants import AssistantFile, FileDeleteResponse
217+
```
218+
219+
Methods:
220+
221+
- <code title="post /assistants/{assistant_id}/files">client.beta.assistants.files.<a href="./src/openai/resources/beta/assistants/files.py">create</a>(assistant_id, \*\*<a href="src/openai/types/beta/assistants/file_create_params.py">params</a>) -> <a href="./src/openai/types/beta/assistants/assistant_file.py">AssistantFile</a></code>
222+
- <code title="get /assistants/{assistant_id}/files/{file_id}">client.beta.assistants.files.<a href="./src/openai/resources/beta/assistants/files.py">retrieve</a>(file_id, \*, assistant_id) -> <a href="./src/openai/types/beta/assistants/assistant_file.py">AssistantFile</a></code>
223+
- <code title="get /assistants/{assistant_id}/files">client.beta.assistants.files.<a href="./src/openai/resources/beta/assistants/files.py">list</a>(assistant_id, \*\*<a href="src/openai/types/beta/assistants/file_list_params.py">params</a>) -> <a href="./src/openai/types/beta/assistants/assistant_file.py">SyncCursorPage[AssistantFile]</a></code>
224+
- <code title="delete /assistants/{assistant_id}/files/{file_id}">client.beta.assistants.files.<a href="./src/openai/resources/beta/assistants/files.py">delete</a>(file_id, \*, assistant_id) -> <a href="./src/openai/types/beta/assistants/file_delete_response.py">FileDeleteResponse</a></code>
225+
226+
## Threads
227+
228+
Types:
229+
230+
```python
231+
from openai.types.beta import Thread, ThreadDeleted
232+
```
233+
234+
Methods:
235+
236+
- <code title="post /threads">client.beta.threads.<a href="./src/openai/resources/beta/threads/threads.py">create</a>(\*\*<a href="src/openai/types/beta/thread_create_params.py">params</a>) -> <a href="./src/openai/types/beta/thread.py">Thread</a></code>
237+
- <code title="get /threads/{thread_id}">client.beta.threads.<a href="./src/openai/resources/beta/threads/threads.py">retrieve</a>(thread_id) -> <a href="./src/openai/types/beta/thread.py">Thread</a></code>
238+
- <code title="post /threads/{thread_id}">client.beta.threads.<a href="./src/openai/resources/beta/threads/threads.py">update</a>(thread_id, \*\*<a href="src/openai/types/beta/thread_update_params.py">params</a>) -> <a href="./src/openai/types/beta/thread.py">Thread</a></code>
239+
- <code title="delete /threads/{thread_id}">client.beta.threads.<a href="./src/openai/resources/beta/threads/threads.py">delete</a>(thread_id) -> <a href="./src/openai/types/beta/thread_deleted.py">ThreadDeleted</a></code>
240+
- <code title="post /threads/runs">client.beta.threads.<a href="./src/openai/resources/beta/threads/threads.py">create_and_run</a>(\*\*<a href="src/openai/types/beta/thread_create_and_run_params.py">params</a>) -> <a href="./src/openai/types/beta/threads/run.py">Run</a></code>
241+
242+
### Runs
243+
244+
Types:
245+
246+
```python
247+
from openai.types.beta.threads import RequiredActionFunctionToolCall, Run
248+
```
249+
250+
Methods:
251+
252+
- <code title="post /threads/{thread_id}/runs">client.beta.threads.runs.<a href="./src/openai/resources/beta/threads/runs/runs.py">create</a>(thread_id, \*\*<a href="src/openai/types/beta/threads/run_create_params.py">params</a>) -> <a href="./src/openai/types/beta/threads/run.py">Run</a></code>
253+
- <code title="get /threads/{thread_id}/runs/{run_id}">client.beta.threads.runs.<a href="./src/openai/resources/beta/threads/runs/runs.py">retrieve</a>(run_id, \*, thread_id) -> <a href="./src/openai/types/beta/threads/run.py">Run</a></code>
254+
- <code title="post /threads/{thread_id}/runs/{run_id}">client.beta.threads.runs.<a href="./src/openai/resources/beta/threads/runs/runs.py">update</a>(run_id, \*, thread_id, \*\*<a href="src/openai/types/beta/threads/run_update_params.py">params</a>) -> <a href="./src/openai/types/beta/threads/run.py">Run</a></code>
255+
- <code title="get /threads/{thread_id}/runs">client.beta.threads.runs.<a href="./src/openai/resources/beta/threads/runs/runs.py">list</a>(thread_id, \*\*<a href="src/openai/types/beta/threads/run_list_params.py">params</a>) -> <a href="./src/openai/types/beta/threads/run.py">SyncCursorPage[Run]</a></code>
256+
- <code title="post /threads/{thread_id}/runs/{run_id}/cancel">client.beta.threads.runs.<a href="./src/openai/resources/beta/threads/runs/runs.py">cancel</a>(run_id, \*, thread_id) -> <a href="./src/openai/types/beta/threads/run.py">Run</a></code>
257+
- <code title="post /threads/{thread_id}/runs/{run_id}/submit_tool_outputs">client.beta.threads.runs.<a href="./src/openai/resources/beta/threads/runs/runs.py">submit_tool_outputs</a>(run_id, \*, thread_id, \*\*<a href="src/openai/types/beta/threads/run_submit_tool_outputs_params.py">params</a>) -> <a href="./src/openai/types/beta/threads/run.py">Run</a></code>
258+
259+
#### Steps
260+
261+
Types:
262+
263+
```python
264+
from openai.types.beta.threads.runs import (
265+
CodeToolCall,
266+
FunctionToolCall,
267+
MessageCreationStepDetails,
268+
RetrievalToolCall,
269+
RunStep,
270+
ToolCallsStepDetails,
271+
)
272+
```
273+
274+
Methods:
275+
276+
- <code title="get /threads/{thread_id}/runs/{run_id}/steps/{step_id}">client.beta.threads.runs.steps.<a href="./src/openai/resources/beta/threads/runs/steps.py">retrieve</a>(step_id, \*, thread_id, run_id) -> <a href="./src/openai/types/beta/threads/runs/run_step.py">RunStep</a></code>
277+
- <code title="get /threads/{thread_id}/runs/{run_id}/steps">client.beta.threads.runs.steps.<a href="./src/openai/resources/beta/threads/runs/steps.py">list</a>(run_id, \*, thread_id, \*\*<a href="src/openai/types/beta/threads/runs/step_list_params.py">params</a>) -> <a href="./src/openai/types/beta/threads/runs/run_step.py">SyncCursorPage[RunStep]</a></code>
278+
279+
### Messages
280+
281+
Types:
282+
283+
```python
284+
from openai.types.beta.threads import (
285+
MessageContentImageFile,
286+
MessageContentText,
287+
ThreadMessage,
288+
ThreadMessageDeleted,
289+
)
290+
```
291+
292+
Methods:
293+
294+
- <code title="post /threads/{thread_id}/messages">client.beta.threads.messages.<a href="./src/openai/resources/beta/threads/messages/messages.py">create</a>(thread_id, \*\*<a href="src/openai/types/beta/threads/message_create_params.py">params</a>) -> <a href="./src/openai/types/beta/threads/thread_message.py">ThreadMessage</a></code>
295+
- <code title="get /threads/{thread_id}/messages/{message_id}">client.beta.threads.messages.<a href="./src/openai/resources/beta/threads/messages/messages.py">retrieve</a>(message_id, \*, thread_id) -> <a href="./src/openai/types/beta/threads/thread_message.py">ThreadMessage</a></code>
296+
- <code title="post /threads/{thread_id}/messages/{message_id}">client.beta.threads.messages.<a href="./src/openai/resources/beta/threads/messages/messages.py">update</a>(message_id, \*, thread_id, \*\*<a href="src/openai/types/beta/threads/message_update_params.py">params</a>) -> <a href="./src/openai/types/beta/threads/thread_message.py">ThreadMessage</a></code>
297+
- <code title="get /threads/{thread_id}/messages">client.beta.threads.messages.<a href="./src/openai/resources/beta/threads/messages/messages.py">list</a>(thread_id, \*\*<a href="src/openai/types/beta/threads/message_list_params.py">params</a>) -> <a href="./src/openai/types/beta/threads/thread_message.py">SyncCursorPage[ThreadMessage]</a></code>
298+
299+
#### Files
300+
301+
Types:
302+
303+
```python
304+
from openai.types.beta.threads.messages import MessageFile
305+
```
306+
307+
Methods:
308+
309+
- <code title="get /threads/{thread_id}/messages/{message_id}/files/{file_id}">client.beta.threads.messages.files.<a href="./src/openai/resources/beta/threads/messages/files.py">retrieve</a>(file_id, \*, thread_id, message_id) -> <a href="./src/openai/types/beta/threads/messages/message_file.py">MessageFile</a></code>
310+
- <code title="get /threads/{thread_id}/messages/{message_id}/files">client.beta.threads.messages.files.<a href="./src/openai/resources/beta/threads/messages/files.py">list</a>(message_id, \*, thread_id, \*\*<a href="src/openai/types/beta/threads/messages/file_list_params.py">params</a>) -> <a href="./src/openai/types/beta/threads/messages/message_file.py">SyncCursorPage[MessageFile]</a></code>

examples/async_demo.py

100644100755
File mode changed.

examples/azure.py

100644100755
File mode changed.

examples/azure_ad.py

100644100755
File mode changed.

examples/demo.py

100644100755
File mode changed.

examples/module_client.py

100644100755
File mode changed.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "openai"
3-
version = "1.0.1"
3+
version = "1.1.0"
44
description = "Client library for the openai API"
55
readme = "README.md"
66
license = "Apache-2.0"

src/openai/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,7 @@ def _reset_client() -> None: # type: ignore[reportUnusedFunction]
329329
_client = None
330330

331331

332+
from ._module_client import beta as beta
332333
from ._module_client import chat as chat
333334
from ._module_client import audio as audio
334335
from ._module_client import edits as edits

src/openai/_client.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ class OpenAI(SyncAPIClient):
5252
models: resources.Models
5353
fine_tuning: resources.FineTuning
5454
fine_tunes: resources.FineTunes
55+
beta: resources.Beta
5556
with_raw_response: OpenAIWithRawResponse
5657

5758
# client options
@@ -125,6 +126,7 @@ def __init__(
125126
self.models = resources.Models(self)
126127
self.fine_tuning = resources.FineTuning(self)
127128
self.fine_tunes = resources.FineTunes(self)
129+
self.beta = resources.Beta(self)
128130
self.with_raw_response = OpenAIWithRawResponse(self)
129131

130132
@property
@@ -257,6 +259,7 @@ class AsyncOpenAI(AsyncAPIClient):
257259
models: resources.AsyncModels
258260
fine_tuning: resources.AsyncFineTuning
259261
fine_tunes: resources.AsyncFineTunes
262+
beta: resources.AsyncBeta
260263
with_raw_response: AsyncOpenAIWithRawResponse
261264

262265
# client options
@@ -330,6 +333,7 @@ def __init__(
330333
self.models = resources.AsyncModels(self)
331334
self.fine_tuning = resources.AsyncFineTuning(self)
332335
self.fine_tunes = resources.AsyncFineTunes(self)
336+
self.beta = resources.AsyncBeta(self)
333337
self.with_raw_response = AsyncOpenAIWithRawResponse(self)
334338

335339
@property
@@ -466,6 +470,7 @@ def __init__(self, client: OpenAI) -> None:
466470
self.models = resources.ModelsWithRawResponse(client.models)
467471
self.fine_tuning = resources.FineTuningWithRawResponse(client.fine_tuning)
468472
self.fine_tunes = resources.FineTunesWithRawResponse(client.fine_tunes)
473+
self.beta = resources.BetaWithRawResponse(client.beta)
469474

470475

471476
class AsyncOpenAIWithRawResponse:
@@ -481,6 +486,7 @@ def __init__(self, client: AsyncOpenAI) -> None:
481486
self.models = resources.AsyncModelsWithRawResponse(client.models)
482487
self.fine_tuning = resources.AsyncFineTuningWithRawResponse(client.fine_tuning)
483488
self.fine_tunes = resources.AsyncFineTunesWithRawResponse(client.fine_tunes)
489+
self.beta = resources.AsyncBetaWithRawResponse(client.beta)
484490

485491

486492
Client = OpenAI

0 commit comments

Comments
 (0)