Skip to content

Commit 2d955a1

Browse files
authored
Merge pull request #3359 from openai/release-please--branches--main--changes--next
release: 2.41.0
2 parents a28a3f6 + 519cd02 commit 2d955a1

19 files changed

Lines changed: 592 additions & 16 deletions

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "2.40.0"
2+
".": "2.41.0"
33
}

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 262
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai/openai-a6fedde02dc6241719ebb2589062ba2892baa8dbe928a2d718643beede85e7b3.yml
3-
openapi_spec_hash: a712e4ee68f829570b3f5b267afa5a05
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai/openai-0161cb2a0faadedfc17ff59c7fcad9671962dbd170f83811003c23702148cf36.yml
3+
openapi_spec_hash: 1023c7442d0e2e7e213e8b3a253921c5
44
config_hash: e02ca1082421dfe55b145c45e95d6126

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## 2.41.0 (2026-06-03)
4+
5+
Full Changelog: [v2.40.0...v2.41.0](https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0)
6+
7+
### Features
8+
9+
* **api:** responses.moderation and chat_completions.moderation ([87e46c2](https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6))
10+
311
## 2.40.0 (2026-06-01)
412

513
Full Changelog: [v2.39.0...v2.40.0](https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0)

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 = "2.40.0"
3+
version = "2.41.0"
44
description = "The official Python library for the openai API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"

src/openai/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
__title__ = "openai"
4-
__version__ = "2.40.0" # x-release-please-version
4+
__version__ = "2.41.0" # x-release-please-version

src/openai/auth/_workload.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class SubjectTokenProvider(TypedDict):
2828

2929
class WorkloadIdentity(TypedDict):
3030
"""Identity provider resource id in WIFAPI."""
31+
3132
identity_provider_id: str
3233

3334
"""Service account id to bind the verified external identity to."""

src/openai/resources/chat/completions/completions.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ def parse(
104104
max_tokens: Optional[int] | Omit = omit,
105105
metadata: Optional[Metadata] | Omit = omit,
106106
modalities: Optional[List[Literal["text", "audio"]]] | Omit = omit,
107+
moderation: Optional[completion_create_params.Moderation] | Omit = omit,
107108
n: Optional[int] | Omit = omit,
108109
parallel_tool_calls: bool | Omit = omit,
109110
prediction: Optional[ChatCompletionPredictionContentParam] | Omit = omit,
@@ -204,6 +205,7 @@ def parser(raw_completion: ChatCompletion) -> ParsedChatCompletion[ResponseForma
204205
"max_tokens": max_tokens,
205206
"metadata": metadata,
206207
"modalities": modalities,
208+
"moderation": moderation,
207209
"n": n,
208210
"parallel_tool_calls": parallel_tool_calls,
209211
"prediction": prediction,
@@ -260,6 +262,7 @@ def create(
260262
max_tokens: Optional[int] | Omit = omit,
261263
metadata: Optional[Metadata] | Omit = omit,
262264
modalities: Optional[List[Literal["text", "audio"]]] | Omit = omit,
265+
moderation: Optional[completion_create_params.Moderation] | Omit = omit,
263266
n: Optional[int] | Omit = omit,
264267
parallel_tool_calls: bool | Omit = omit,
265268
prediction: Optional[ChatCompletionPredictionContentParam] | Omit = omit,
@@ -396,6 +399,8 @@ def create(
396399
397400
`["text", "audio"]`
398401
402+
moderation: Configuration for running moderation on the request input and generated output.
403+
399404
n: How many chat completion choices to generate for each input message. Note that
400405
you will be charged based on the number of generated tokens across all of the
401406
choices. Keep `n` as `1` to minimize costs.
@@ -576,6 +581,7 @@ def create(
576581
max_tokens: Optional[int] | Omit = omit,
577582
metadata: Optional[Metadata] | Omit = omit,
578583
modalities: Optional[List[Literal["text", "audio"]]] | Omit = omit,
584+
moderation: Optional[completion_create_params.Moderation] | Omit = omit,
579585
n: Optional[int] | Omit = omit,
580586
parallel_tool_calls: bool | Omit = omit,
581587
prediction: Optional[ChatCompletionPredictionContentParam] | Omit = omit,
@@ -720,6 +726,8 @@ def create(
720726
721727
`["text", "audio"]`
722728
729+
moderation: Configuration for running moderation on the request input and generated output.
730+
723731
n: How many chat completion choices to generate for each input message. Note that
724732
you will be charged based on the number of generated tokens across all of the
725733
choices. Keep `n` as `1` to minimize costs.
@@ -891,6 +899,7 @@ def create(
891899
max_tokens: Optional[int] | Omit = omit,
892900
metadata: Optional[Metadata] | Omit = omit,
893901
modalities: Optional[List[Literal["text", "audio"]]] | Omit = omit,
902+
moderation: Optional[completion_create_params.Moderation] | Omit = omit,
894903
n: Optional[int] | Omit = omit,
895904
parallel_tool_calls: bool | Omit = omit,
896905
prediction: Optional[ChatCompletionPredictionContentParam] | Omit = omit,
@@ -1035,6 +1044,8 @@ def create(
10351044
10361045
`["text", "audio"]`
10371046
1047+
moderation: Configuration for running moderation on the request input and generated output.
1048+
10381049
n: How many chat completion choices to generate for each input message. Note that
10391050
you will be charged based on the number of generated tokens across all of the
10401051
choices. Keep `n` as `1` to minimize costs.
@@ -1205,6 +1216,7 @@ def create(
12051216
max_tokens: Optional[int] | Omit = omit,
12061217
metadata: Optional[Metadata] | Omit = omit,
12071218
modalities: Optional[List[Literal["text", "audio"]]] | Omit = omit,
1219+
moderation: Optional[completion_create_params.Moderation] | Omit = omit,
12081220
n: Optional[int] | Omit = omit,
12091221
parallel_tool_calls: bool | Omit = omit,
12101222
prediction: Optional[ChatCompletionPredictionContentParam] | Omit = omit,
@@ -1252,6 +1264,7 @@ def create(
12521264
"max_tokens": max_tokens,
12531265
"metadata": metadata,
12541266
"modalities": modalities,
1267+
"moderation": moderation,
12551268
"n": n,
12561269
"parallel_tool_calls": parallel_tool_calls,
12571270
"prediction": prediction,
@@ -1501,6 +1514,7 @@ def stream(
15011514
max_tokens: Optional[int] | Omit = omit,
15021515
metadata: Optional[Metadata] | Omit = omit,
15031516
modalities: Optional[List[Literal["text", "audio"]]] | Omit = omit,
1517+
moderation: Optional[completion_create_params.Moderation] | Omit = omit,
15041518
n: Optional[int] | Omit = omit,
15051519
parallel_tool_calls: bool | Omit = omit,
15061520
prediction: Optional[ChatCompletionPredictionContentParam] | Omit = omit,
@@ -1572,6 +1586,7 @@ def stream(
15721586
max_tokens=max_tokens,
15731587
metadata=metadata,
15741588
modalities=modalities,
1589+
moderation=moderation,
15751590
n=n,
15761591
parallel_tool_calls=parallel_tool_calls,
15771592
prediction=prediction,
@@ -1652,6 +1667,7 @@ async def parse(
16521667
max_tokens: Optional[int] | Omit = omit,
16531668
metadata: Optional[Metadata] | Omit = omit,
16541669
modalities: Optional[List[Literal["text", "audio"]]] | Omit = omit,
1670+
moderation: Optional[completion_create_params.Moderation] | Omit = omit,
16551671
n: Optional[int] | Omit = omit,
16561672
parallel_tool_calls: bool | Omit = omit,
16571673
prediction: Optional[ChatCompletionPredictionContentParam] | Omit = omit,
@@ -1752,6 +1768,7 @@ def parser(raw_completion: ChatCompletion) -> ParsedChatCompletion[ResponseForma
17521768
"max_tokens": max_tokens,
17531769
"metadata": metadata,
17541770
"modalities": modalities,
1771+
"moderation": moderation,
17551772
"n": n,
17561773
"parallel_tool_calls": parallel_tool_calls,
17571774
"prediction": prediction,
@@ -1808,6 +1825,7 @@ async def create(
18081825
max_tokens: Optional[int] | Omit = omit,
18091826
metadata: Optional[Metadata] | Omit = omit,
18101827
modalities: Optional[List[Literal["text", "audio"]]] | Omit = omit,
1828+
moderation: Optional[completion_create_params.Moderation] | Omit = omit,
18111829
n: Optional[int] | Omit = omit,
18121830
parallel_tool_calls: bool | Omit = omit,
18131831
prediction: Optional[ChatCompletionPredictionContentParam] | Omit = omit,
@@ -1944,6 +1962,8 @@ async def create(
19441962
19451963
`["text", "audio"]`
19461964
1965+
moderation: Configuration for running moderation on the request input and generated output.
1966+
19471967
n: How many chat completion choices to generate for each input message. Note that
19481968
you will be charged based on the number of generated tokens across all of the
19491969
choices. Keep `n` as `1` to minimize costs.
@@ -2124,6 +2144,7 @@ async def create(
21242144
max_tokens: Optional[int] | Omit = omit,
21252145
metadata: Optional[Metadata] | Omit = omit,
21262146
modalities: Optional[List[Literal["text", "audio"]]] | Omit = omit,
2147+
moderation: Optional[completion_create_params.Moderation] | Omit = omit,
21272148
n: Optional[int] | Omit = omit,
21282149
parallel_tool_calls: bool | Omit = omit,
21292150
prediction: Optional[ChatCompletionPredictionContentParam] | Omit = omit,
@@ -2268,6 +2289,8 @@ async def create(
22682289
22692290
`["text", "audio"]`
22702291
2292+
moderation: Configuration for running moderation on the request input and generated output.
2293+
22712294
n: How many chat completion choices to generate for each input message. Note that
22722295
you will be charged based on the number of generated tokens across all of the
22732296
choices. Keep `n` as `1` to minimize costs.
@@ -2439,6 +2462,7 @@ async def create(
24392462
max_tokens: Optional[int] | Omit = omit,
24402463
metadata: Optional[Metadata] | Omit = omit,
24412464
modalities: Optional[List[Literal["text", "audio"]]] | Omit = omit,
2465+
moderation: Optional[completion_create_params.Moderation] | Omit = omit,
24422466
n: Optional[int] | Omit = omit,
24432467
parallel_tool_calls: bool | Omit = omit,
24442468
prediction: Optional[ChatCompletionPredictionContentParam] | Omit = omit,
@@ -2583,6 +2607,8 @@ async def create(
25832607
25842608
`["text", "audio"]`
25852609
2610+
moderation: Configuration for running moderation on the request input and generated output.
2611+
25862612
n: How many chat completion choices to generate for each input message. Note that
25872613
you will be charged based on the number of generated tokens across all of the
25882614
choices. Keep `n` as `1` to minimize costs.
@@ -2753,6 +2779,7 @@ async def create(
27532779
max_tokens: Optional[int] | Omit = omit,
27542780
metadata: Optional[Metadata] | Omit = omit,
27552781
modalities: Optional[List[Literal["text", "audio"]]] | Omit = omit,
2782+
moderation: Optional[completion_create_params.Moderation] | Omit = omit,
27562783
n: Optional[int] | Omit = omit,
27572784
parallel_tool_calls: bool | Omit = omit,
27582785
prediction: Optional[ChatCompletionPredictionContentParam] | Omit = omit,
@@ -2800,6 +2827,7 @@ async def create(
28002827
"max_tokens": max_tokens,
28012828
"metadata": metadata,
28022829
"modalities": modalities,
2830+
"moderation": moderation,
28032831
"n": n,
28042832
"parallel_tool_calls": parallel_tool_calls,
28052833
"prediction": prediction,
@@ -3049,6 +3077,7 @@ def stream(
30493077
max_tokens: Optional[int] | Omit = omit,
30503078
metadata: Optional[Metadata] | Omit = omit,
30513079
modalities: Optional[List[Literal["text", "audio"]]] | Omit = omit,
3080+
moderation: Optional[completion_create_params.Moderation] | Omit = omit,
30523081
n: Optional[int] | Omit = omit,
30533082
parallel_tool_calls: bool | Omit = omit,
30543083
prediction: Optional[ChatCompletionPredictionContentParam] | Omit = omit,
@@ -3121,6 +3150,7 @@ def stream(
31213150
max_tokens=max_tokens,
31223151
metadata=metadata,
31233152
modalities=modalities,
3153+
moderation=moderation,
31243154
n=n,
31253155
parallel_tool_calls=parallel_tool_calls,
31263156
prediction=prediction,

0 commit comments

Comments
 (0)