Skip to content

Commit 4e28a42

Browse files
release: 1.101.0 (#2577)
* feat(api): adding support for /v1/conversations to the API * chore: update github action * feat(api): Add connectors support for MCP tool * release: 1.101.0 --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent e328fb4 commit 4e28a42

Some content is hidden

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

54 files changed

+3114
-74
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
run: ./scripts/lint
3737

3838
build:
39-
if: github.repository == 'stainless-sdks/openai-python' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork)
39+
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
4040
timeout-minutes: 10
4141
name: build
4242
permissions:
@@ -61,12 +61,14 @@ jobs:
6161
run: rye build
6262

6363
- name: Get GitHub OIDC Token
64+
if: github.repository == 'stainless-sdks/openai-python'
6465
id: github-oidc
6566
uses: actions/github-script@v6
6667
with:
6768
script: core.setOutput('github_token', await core.getIDToken());
6869

6970
- name: Upload tarball
71+
if: github.repository == 'stainless-sdks/openai-python'
7072
env:
7173
URL: https://pkg.stainless.com/s
7274
AUTH: ${{ steps.github-oidc.outputs.github_token }}

.release-please-manifest.json

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

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 111
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-7ef7a457c3bf05364e66e48c9ca34f31bfef1f6c9b7c15b1812346105e0abb16.yml
3-
openapi_spec_hash: a2b1f5d8fbb62175c93b0ebea9f10063
4-
config_hash: 4870312b04f48fd717ea4151053e7fb9
1+
configured_endpoints: 119
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-ddbdf9343316047e8a773c54fb24e4a8d225955e202a1888fde6f9c8898ebf98.yml
3+
openapi_spec_hash: 9802f6dd381558466c897f6e387e06ca
4+
config_hash: fe0ea26680ac2075a6cd66416aefe7db

CHANGELOG.md

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

3+
## 1.101.0 (2025-08-21)
4+
5+
Full Changelog: [v1.100.3...v1.101.0](https://github.com/openai/openai-python/compare/v1.100.3...v1.101.0)
6+
7+
### Features
8+
9+
* **api:** Add connectors support for MCP tool ([a47f962](https://github.com/openai/openai-python/commit/a47f962daf579c142b8af5579be732772b688a29))
10+
* **api:** adding support for /v1/conversations to the API ([e30bcbc](https://github.com/openai/openai-python/commit/e30bcbc0cb7c827af779bee6971f976261abfb67))
11+
12+
13+
### Chores
14+
15+
* update github action ([7333b28](https://github.com/openai/openai-python/commit/7333b282718a5f6977f30e1a2548207b3a089bd4))
16+
317
## 1.100.3 (2025-08-20)
418

519
Full Changelog: [v1.100.2...v1.100.3](https://github.com/openai/openai-python/compare/v1.100.2...v1.100.3)

api.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -751,6 +751,7 @@ from openai.types.responses import (
751751
ResponseContent,
752752
ResponseContentPartAddedEvent,
753753
ResponseContentPartDoneEvent,
754+
ResponseConversationParam,
754755
ResponseCreatedEvent,
755756
ResponseCustomToolCall,
756757
ResponseCustomToolCallInputDeltaEvent,
@@ -854,6 +855,54 @@ Methods:
854855

855856
- <code title="get /responses/{response_id}/input_items">client.responses.input_items.<a href="./src/openai/resources/responses/input_items.py">list</a>(response_id, \*\*<a href="src/openai/types/responses/input_item_list_params.py">params</a>) -> <a href="./src/openai/types/responses/response_item.py">SyncCursorPage[ResponseItem]</a></code>
856857

858+
# Conversations
859+
860+
Types:
861+
862+
```python
863+
from openai.types.conversations import (
864+
ComputerScreenshotContent,
865+
ContainerFileCitationBody,
866+
Conversation,
867+
ConversationDeleted,
868+
ConversationDeletedResource,
869+
FileCitationBody,
870+
InputFileContent,
871+
InputImageContent,
872+
InputTextContent,
873+
LobProb,
874+
Message,
875+
OutputTextContent,
876+
RefusalContent,
877+
SummaryTextContent,
878+
TextContent,
879+
TopLogProb,
880+
URLCitationBody,
881+
)
882+
```
883+
884+
Methods:
885+
886+
- <code title="post /conversations">client.conversations.<a href="./src/openai/resources/conversations/conversations.py">create</a>(\*\*<a href="src/openai/types/conversations/conversation_create_params.py">params</a>) -> <a href="./src/openai/types/conversations/conversation.py">Conversation</a></code>
887+
- <code title="get /conversations/{conversation_id}">client.conversations.<a href="./src/openai/resources/conversations/conversations.py">retrieve</a>(conversation_id) -> <a href="./src/openai/types/conversations/conversation.py">Conversation</a></code>
888+
- <code title="post /conversations/{conversation_id}">client.conversations.<a href="./src/openai/resources/conversations/conversations.py">update</a>(conversation_id, \*\*<a href="src/openai/types/conversations/conversation_update_params.py">params</a>) -> <a href="./src/openai/types/conversations/conversation.py">Conversation</a></code>
889+
- <code title="delete /conversations/{conversation_id}">client.conversations.<a href="./src/openai/resources/conversations/conversations.py">delete</a>(conversation_id) -> <a href="./src/openai/types/conversations/conversation_deleted_resource.py">ConversationDeletedResource</a></code>
890+
891+
## Items
892+
893+
Types:
894+
895+
```python
896+
from openai.types.conversations import ConversationItem, ConversationItemList
897+
```
898+
899+
Methods:
900+
901+
- <code title="post /conversations/{conversation_id}/items">client.conversations.items.<a href="./src/openai/resources/conversations/items.py">create</a>(conversation_id, \*\*<a href="src/openai/types/conversations/item_create_params.py">params</a>) -> <a href="./src/openai/types/conversations/conversation_item_list.py">ConversationItemList</a></code>
902+
- <code title="get /conversations/{conversation_id}/items/{item_id}">client.conversations.items.<a href="./src/openai/resources/conversations/items.py">retrieve</a>(item_id, \*, conversation_id, \*\*<a href="src/openai/types/conversations/item_retrieve_params.py">params</a>) -> <a href="./src/openai/types/conversations/conversation_item.py">ConversationItem</a></code>
903+
- <code title="get /conversations/{conversation_id}/items">client.conversations.items.<a href="./src/openai/resources/conversations/items.py">list</a>(conversation_id, \*\*<a href="src/openai/types/conversations/item_list_params.py">params</a>) -> <a href="./src/openai/types/conversations/conversation_item.py">SyncConversationCursorPage[ConversationItem]</a></code>
904+
- <code title="delete /conversations/{conversation_id}/items/{item_id}">client.conversations.items.<a href="./src/openai/resources/conversations/items.py">delete</a>(item_id, \*, conversation_id) -> <a href="./src/openai/types/conversations/conversation.py">Conversation</a></code>
905+
857906
# Evals
858907

859908
Types:

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

src/openai/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,5 +386,6 @@ def _reset_client() -> None: # type: ignore[reportUnusedFunction]
386386
completions as completions,
387387
fine_tuning as fine_tuning,
388388
moderations as moderations,
389+
conversations as conversations,
389390
vector_stores as vector_stores,
390391
)

src/openai/_client.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
completions,
5252
fine_tuning,
5353
moderations,
54+
conversations,
5455
vector_stores,
5556
)
5657
from .resources.files import Files, AsyncFiles
@@ -69,6 +70,7 @@
6970
from .resources.responses.responses import Responses, AsyncResponses
7071
from .resources.containers.containers import Containers, AsyncContainers
7172
from .resources.fine_tuning.fine_tuning import FineTuning, AsyncFineTuning
73+
from .resources.conversations.conversations import Conversations, AsyncConversations
7274
from .resources.vector_stores.vector_stores import VectorStores, AsyncVectorStores
7375

7476
__all__ = ["Timeout", "Transport", "ProxiesTypes", "RequestOptions", "OpenAI", "AsyncOpenAI", "Client", "AsyncClient"]
@@ -254,6 +256,12 @@ def responses(self) -> Responses:
254256

255257
return Responses(self)
256258

259+
@cached_property
260+
def conversations(self) -> Conversations:
261+
from .resources.conversations import Conversations
262+
263+
return Conversations(self)
264+
257265
@cached_property
258266
def evals(self) -> Evals:
259267
from .resources.evals import Evals
@@ -573,6 +581,12 @@ def responses(self) -> AsyncResponses:
573581

574582
return AsyncResponses(self)
575583

584+
@cached_property
585+
def conversations(self) -> AsyncConversations:
586+
from .resources.conversations import AsyncConversations
587+
588+
return AsyncConversations(self)
589+
576590
@cached_property
577591
def evals(self) -> AsyncEvals:
578592
from .resources.evals import AsyncEvals
@@ -802,6 +816,12 @@ def responses(self) -> responses.ResponsesWithRawResponse:
802816

803817
return ResponsesWithRawResponse(self._client.responses)
804818

819+
@cached_property
820+
def conversations(self) -> conversations.ConversationsWithRawResponse:
821+
from .resources.conversations import ConversationsWithRawResponse
822+
823+
return ConversationsWithRawResponse(self._client.conversations)
824+
805825
@cached_property
806826
def evals(self) -> evals.EvalsWithRawResponse:
807827
from .resources.evals import EvalsWithRawResponse
@@ -905,6 +925,12 @@ def responses(self) -> responses.AsyncResponsesWithRawResponse:
905925

906926
return AsyncResponsesWithRawResponse(self._client.responses)
907927

928+
@cached_property
929+
def conversations(self) -> conversations.AsyncConversationsWithRawResponse:
930+
from .resources.conversations import AsyncConversationsWithRawResponse
931+
932+
return AsyncConversationsWithRawResponse(self._client.conversations)
933+
908934
@cached_property
909935
def evals(self) -> evals.AsyncEvalsWithRawResponse:
910936
from .resources.evals import AsyncEvalsWithRawResponse
@@ -1008,6 +1034,12 @@ def responses(self) -> responses.ResponsesWithStreamingResponse:
10081034

10091035
return ResponsesWithStreamingResponse(self._client.responses)
10101036

1037+
@cached_property
1038+
def conversations(self) -> conversations.ConversationsWithStreamingResponse:
1039+
from .resources.conversations import ConversationsWithStreamingResponse
1040+
1041+
return ConversationsWithStreamingResponse(self._client.conversations)
1042+
10111043
@cached_property
10121044
def evals(self) -> evals.EvalsWithStreamingResponse:
10131045
from .resources.evals import EvalsWithStreamingResponse
@@ -1111,6 +1143,12 @@ def responses(self) -> responses.AsyncResponsesWithStreamingResponse:
11111143

11121144
return AsyncResponsesWithStreamingResponse(self._client.responses)
11131145

1146+
@cached_property
1147+
def conversations(self) -> conversations.AsyncConversationsWithStreamingResponse:
1148+
from .resources.conversations import AsyncConversationsWithStreamingResponse
1149+
1150+
return AsyncConversationsWithStreamingResponse(self._client.conversations)
1151+
11141152
@cached_property
11151153
def evals(self) -> evals.AsyncEvalsWithStreamingResponse:
11161154
from .resources.evals import AsyncEvalsWithStreamingResponse

src/openai/_module_client.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from .resources.responses.responses import Responses
2323
from .resources.containers.containers import Containers
2424
from .resources.fine_tuning.fine_tuning import FineTuning
25+
from .resources.conversations.conversations import Conversations
2526
from .resources.vector_stores.vector_stores import VectorStores
2627

2728
from . import _load_client
@@ -130,6 +131,12 @@ def __load__(self) -> VectorStores:
130131
return _load_client().vector_stores
131132

132133

134+
class ConversationsProxy(LazyProxy["Conversations"]):
135+
@override
136+
def __load__(self) -> Conversations:
137+
return _load_client().conversations
138+
139+
133140
chat: Chat = ChatProxy().__as_proxied__()
134141
beta: Beta = BetaProxy().__as_proxied__()
135142
files: Files = FilesProxy().__as_proxied__()
@@ -147,3 +154,4 @@ def __load__(self) -> VectorStores:
147154
moderations: Moderations = ModerationsProxy().__as_proxied__()
148155
fine_tuning: FineTuning = FineTuningProxy().__as_proxied__()
149156
vector_stores: VectorStores = VectorStoresProxy().__as_proxied__()
157+
conversations: Conversations = ConversationsProxy().__as_proxied__()

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__ = "1.100.3" # x-release-please-version
4+
__version__ = "1.101.0" # x-release-please-version

0 commit comments

Comments
 (0)