Skip to content

Commit 5d18a84

Browse files
feat(api): manual updates
1 parent cc2c1fc commit 5d18a84

File tree

5 files changed

+25
-36
lines changed

5 files changed

+25
-36
lines changed

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 111
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-9e41d2d5471d2c28bff0d616f4476f5b0e6c541ef4cb51bdaaef5fdf5e13c8b2.yml
33
openapi_spec_hash: 86f765e18d00e32cf2ce9db7ab84d946
4-
config_hash: fd2af1d5eff0995bb7dc02ac9a34851d
4+
config_hash: dc5515e257676a27cb1ace1784aa92b3

api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ from openai.types.fine_tuning.checkpoints import (
293293
Methods:
294294

295295
- <code title="post /fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions">client.fine_tuning.checkpoints.permissions.<a href="./src/openai/resources/fine_tuning/checkpoints/permissions.py">create</a>(fine_tuned_model_checkpoint, \*\*<a href="src/openai/types/fine_tuning/checkpoints/permission_create_params.py">params</a>) -> <a href="./src/openai/types/fine_tuning/checkpoints/permission_create_response.py">SyncPage[PermissionCreateResponse]</a></code>
296-
- <code title="get /fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions">client.fine_tuning.checkpoints.permissions.<a href="./src/openai/resources/fine_tuning/checkpoints/permissions.py">retrieve</a>(fine_tuned_model_checkpoint, \*\*<a href="src/openai/types/fine_tuning/checkpoints/permission_retrieve_params.py">params</a>) -> <a href="./src/openai/types/fine_tuning/checkpoints/permission_retrieve_response.py">PermissionRetrieveResponse</a></code>
296+
- <code title="get /fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions">client.fine_tuning.checkpoints.permissions.<a href="./src/openai/resources/fine_tuning/checkpoints/permissions.py">retrieve</a>(fine_tuned_model_checkpoint, \*\*<a href="src/openai/types/fine_tuning/checkpoints/permission_retrieve_params.py">params</a>) -> <a href="./src/openai/types/fine_tuning/checkpoints/permission_retrieve_response.py">SyncCursorPage[PermissionRetrieveResponse]</a></code>
297297
- <code title="delete /fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions/{permission_id}">client.fine_tuning.checkpoints.permissions.<a href="./src/openai/resources/fine_tuning/checkpoints/permissions.py">delete</a>(permission_id, \*, fine_tuned_model_checkpoint) -> <a href="./src/openai/types/fine_tuning/checkpoints/permission_delete_response.py">PermissionDeleteResponse</a></code>
298298

299299
## Alpha

src/openai/resources/fine_tuning/checkpoints/permissions.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99

1010
from .... import _legacy_response
1111
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
12-
from ...._utils import maybe_transform, async_maybe_transform
12+
from ...._utils import maybe_transform
1313
from ...._compat import cached_property
1414
from ...._resource import SyncAPIResource, AsyncAPIResource
1515
from ...._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
16-
from ....pagination import SyncPage, AsyncPage
16+
from ....pagination import SyncPage, AsyncPage, SyncCursorPage, AsyncCursorPage
1717
from ...._base_client import AsyncPaginator, make_request_options
1818
from ....types.fine_tuning.checkpoints import permission_create_params, permission_retrieve_params
1919
from ....types.fine_tuning.checkpoints.permission_create_response import PermissionCreateResponse
@@ -101,7 +101,7 @@ def retrieve(
101101
extra_query: Query | None = None,
102102
extra_body: Body | None = None,
103103
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
104-
) -> PermissionRetrieveResponse:
104+
) -> SyncCursorPage[PermissionRetrieveResponse]:
105105
"""
106106
**NOTE:** This endpoint requires an [admin API key](../admin-api-keys).
107107
@@ -129,8 +129,9 @@ def retrieve(
129129
raise ValueError(
130130
f"Expected a non-empty value for `fine_tuned_model_checkpoint` but received {fine_tuned_model_checkpoint!r}"
131131
)
132-
return self._get(
132+
return self._get_api_list(
133133
f"/fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions",
134+
page=SyncCursorPage[PermissionRetrieveResponse],
134135
options=make_request_options(
135136
extra_headers=extra_headers,
136137
extra_query=extra_query,
@@ -146,7 +147,7 @@ def retrieve(
146147
permission_retrieve_params.PermissionRetrieveParams,
147148
),
148149
),
149-
cast_to=PermissionRetrieveResponse,
150+
model=PermissionRetrieveResponse,
150151
)
151152

152153
def delete(
@@ -255,7 +256,7 @@ def create(
255256
method="post",
256257
)
257258

258-
async def retrieve(
259+
def retrieve(
259260
self,
260261
fine_tuned_model_checkpoint: str,
261262
*,
@@ -269,7 +270,7 @@ async def retrieve(
269270
extra_query: Query | None = None,
270271
extra_body: Body | None = None,
271272
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
272-
) -> PermissionRetrieveResponse:
273+
) -> AsyncPaginator[PermissionRetrieveResponse, AsyncCursorPage[PermissionRetrieveResponse]]:
273274
"""
274275
**NOTE:** This endpoint requires an [admin API key](../admin-api-keys).
275276
@@ -297,14 +298,15 @@ async def retrieve(
297298
raise ValueError(
298299
f"Expected a non-empty value for `fine_tuned_model_checkpoint` but received {fine_tuned_model_checkpoint!r}"
299300
)
300-
return await self._get(
301+
return self._get_api_list(
301302
f"/fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions",
303+
page=AsyncCursorPage[PermissionRetrieveResponse],
302304
options=make_request_options(
303305
extra_headers=extra_headers,
304306
extra_query=extra_query,
305307
extra_body=extra_body,
306308
timeout=timeout,
307-
query=await async_maybe_transform(
309+
query=maybe_transform(
308310
{
309311
"after": after,
310312
"limit": limit,
@@ -314,7 +316,7 @@ async def retrieve(
314316
permission_retrieve_params.PermissionRetrieveParams,
315317
),
316318
),
317-
cast_to=PermissionRetrieveResponse,
319+
model=PermissionRetrieveResponse,
318320
)
319321

320322
async def delete(
Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3-
from typing import List, Optional
43
from typing_extensions import Literal
54

65
from ...._models import BaseModel
76

8-
__all__ = ["PermissionRetrieveResponse", "Data"]
7+
__all__ = ["PermissionRetrieveResponse"]
98

109

11-
class Data(BaseModel):
10+
class PermissionRetrieveResponse(BaseModel):
1211
id: str
1312
"""The permission identifier, which can be referenced in the API endpoints."""
1413

@@ -20,15 +19,3 @@ class Data(BaseModel):
2019

2120
project_id: str
2221
"""The project identifier that the permission is for."""
23-
24-
25-
class PermissionRetrieveResponse(BaseModel):
26-
data: List[Data]
27-
28-
has_more: bool
29-
30-
object: Literal["list"]
31-
32-
first_id: Optional[str] = None
33-
34-
last_id: Optional[str] = None

tests/api_resources/fine_tuning/checkpoints/test_permissions.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
from openai import OpenAI, AsyncOpenAI
1111
from tests.utils import assert_matches_type
12-
from openai.pagination import SyncPage, AsyncPage
12+
from openai.pagination import SyncPage, AsyncPage, SyncCursorPage, AsyncCursorPage
1313
from openai.types.fine_tuning.checkpoints import (
1414
PermissionCreateResponse,
1515
PermissionDeleteResponse,
@@ -71,7 +71,7 @@ def test_method_retrieve(self, client: OpenAI) -> None:
7171
permission = client.fine_tuning.checkpoints.permissions.retrieve(
7272
fine_tuned_model_checkpoint="ft-AF1WoRqd3aJAHsqc9NY7iL8F",
7373
)
74-
assert_matches_type(PermissionRetrieveResponse, permission, path=["response"])
74+
assert_matches_type(SyncCursorPage[PermissionRetrieveResponse], permission, path=["response"])
7575

7676
@parametrize
7777
def test_method_retrieve_with_all_params(self, client: OpenAI) -> None:
@@ -82,7 +82,7 @@ def test_method_retrieve_with_all_params(self, client: OpenAI) -> None:
8282
order="ascending",
8383
project_id="project_id",
8484
)
85-
assert_matches_type(PermissionRetrieveResponse, permission, path=["response"])
85+
assert_matches_type(SyncCursorPage[PermissionRetrieveResponse], permission, path=["response"])
8686

8787
@parametrize
8888
def test_raw_response_retrieve(self, client: OpenAI) -> None:
@@ -93,7 +93,7 @@ def test_raw_response_retrieve(self, client: OpenAI) -> None:
9393
assert response.is_closed is True
9494
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
9595
permission = response.parse()
96-
assert_matches_type(PermissionRetrieveResponse, permission, path=["response"])
96+
assert_matches_type(SyncCursorPage[PermissionRetrieveResponse], permission, path=["response"])
9797

9898
@parametrize
9999
def test_streaming_response_retrieve(self, client: OpenAI) -> None:
@@ -104,7 +104,7 @@ def test_streaming_response_retrieve(self, client: OpenAI) -> None:
104104
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
105105

106106
permission = response.parse()
107-
assert_matches_type(PermissionRetrieveResponse, permission, path=["response"])
107+
assert_matches_type(SyncCursorPage[PermissionRetrieveResponse], permission, path=["response"])
108108

109109
assert cast(Any, response.is_closed) is True
110110

@@ -220,7 +220,7 @@ async def test_method_retrieve(self, async_client: AsyncOpenAI) -> None:
220220
permission = await async_client.fine_tuning.checkpoints.permissions.retrieve(
221221
fine_tuned_model_checkpoint="ft-AF1WoRqd3aJAHsqc9NY7iL8F",
222222
)
223-
assert_matches_type(PermissionRetrieveResponse, permission, path=["response"])
223+
assert_matches_type(AsyncCursorPage[PermissionRetrieveResponse], permission, path=["response"])
224224

225225
@parametrize
226226
async def test_method_retrieve_with_all_params(self, async_client: AsyncOpenAI) -> None:
@@ -231,7 +231,7 @@ async def test_method_retrieve_with_all_params(self, async_client: AsyncOpenAI)
231231
order="ascending",
232232
project_id="project_id",
233233
)
234-
assert_matches_type(PermissionRetrieveResponse, permission, path=["response"])
234+
assert_matches_type(AsyncCursorPage[PermissionRetrieveResponse], permission, path=["response"])
235235

236236
@parametrize
237237
async def test_raw_response_retrieve(self, async_client: AsyncOpenAI) -> None:
@@ -242,7 +242,7 @@ async def test_raw_response_retrieve(self, async_client: AsyncOpenAI) -> None:
242242
assert response.is_closed is True
243243
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
244244
permission = response.parse()
245-
assert_matches_type(PermissionRetrieveResponse, permission, path=["response"])
245+
assert_matches_type(AsyncCursorPage[PermissionRetrieveResponse], permission, path=["response"])
246246

247247
@parametrize
248248
async def test_streaming_response_retrieve(self, async_client: AsyncOpenAI) -> None:
@@ -253,7 +253,7 @@ async def test_streaming_response_retrieve(self, async_client: AsyncOpenAI) -> N
253253
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
254254

255255
permission = await response.parse()
256-
assert_matches_type(PermissionRetrieveResponse, permission, path=["response"])
256+
assert_matches_type(AsyncCursorPage[PermissionRetrieveResponse], permission, path=["response"])
257257

258258
assert cast(Any, response.is_closed) is True
259259

0 commit comments

Comments
 (0)