Skip to content

Commit 5850549

Browse files
authored
Merge pull request #34 from replicate/release-please--branches--main--changes--next
release: 2.0.0-alpha.7
2 parents f9a92db + ab3ad6e commit 5850549

21 files changed

+309
-100
lines changed

.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.0.0-alpha.6"
2+
".": "2.0.0-alpha.7"
33
}

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 35
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/replicate%2Freplicate-client-f5aff38eef8d7b245a7af062bf02920ae75e5b9b3dc822416aeb48966c2c6874.yml
3-
openapi_spec_hash: c0a966beaf5ae95c6bdddd4a933bd4aa
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/replicate%2Freplicate-client-d174b63c516640a0987bbb0879d1cb435ecf6cbcfe7c9f6465bfcc5416eff8e1.yml
3+
openapi_spec_hash: 46f69b0827b955f2adf93928fcfb2c57
44
config_hash: 71c9e54dad5d546e9a98afe5edc6742b

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.0.0-alpha.7 (2025-06-27)
4+
5+
Full Changelog: [v2.0.0-alpha.6...v2.0.0-alpha.7](https://github.com/replicate/replicate-python-stainless/compare/v2.0.0-alpha.6...v2.0.0-alpha.7)
6+
7+
### Features
8+
9+
* **api:** api update ([b1c14c8](https://github.com/replicate/replicate-python-stainless/commit/b1c14c8291ca205930dafbf639ba5e7bf9939d3a))
10+
311
## 2.0.0-alpha.6 (2025-06-26)
412

513
Full Changelog: [v2.0.0-alpha.5...v2.0.0-alpha.6](https://github.com/replicate/replicate-python-stainless/compare/v2.0.0-alpha.5...v2.0.0-alpha.6)

api.md

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
# Collections
22

3+
Types:
4+
5+
```python
6+
from replicate.types import CollectionListResponse, CollectionGetResponse
7+
```
8+
39
Methods:
410

5-
- <code title="get /collections">replicate.collections.<a href="./src/replicate/resources/collections.py">list</a>() -> None</code>
6-
- <code title="get /collections/{collection_slug}">replicate.collections.<a href="./src/replicate/resources/collections.py">get</a>(\*, collection_slug) -> None</code>
11+
- <code title="get /collections">replicate.collections.<a href="./src/replicate/resources/collections.py">list</a>() -> <a href="./src/replicate/types/collection_list_response.py">SyncCursorURLPage[CollectionListResponse]</a></code>
12+
- <code title="get /collections/{collection_slug}">replicate.collections.<a href="./src/replicate/resources/collections.py">get</a>(\*, collection_slug) -> <a href="./src/replicate/types/collection_get_response.py">CollectionGetResponse</a></code>
713

814
# Deployments
915

@@ -61,12 +67,17 @@ Methods:
6167
Types:
6268

6369
```python
64-
from replicate.types import ModelListResponse, ModelGetResponse, ModelSearchResponse
70+
from replicate.types import (
71+
ModelCreateResponse,
72+
ModelListResponse,
73+
ModelGetResponse,
74+
ModelSearchResponse,
75+
)
6576
```
6677

6778
Methods:
6879

69-
- <code title="post /models">replicate.models.<a href="./src/replicate/resources/models/models.py">create</a>(\*\*<a href="src/replicate/types/model_create_params.py">params</a>) -> None</code>
80+
- <code title="post /models">replicate.models.<a href="./src/replicate/resources/models/models.py">create</a>(\*\*<a href="src/replicate/types/model_create_params.py">params</a>) -> <a href="./src/replicate/types/model_create_response.py">ModelCreateResponse</a></code>
7081
- <code title="get /models">replicate.models.<a href="./src/replicate/resources/models/models.py">list</a>() -> <a href="./src/replicate/types/model_list_response.py">SyncCursorURLPage[ModelListResponse]</a></code>
7182
- <code title="delete /models/{model_owner}/{model_name}">replicate.models.<a href="./src/replicate/resources/models/models.py">delete</a>(\*, model_owner, model_name) -> None</code>
7283
- <code title="get /models/{model_owner}/{model_name}">replicate.models.<a href="./src/replicate/resources/models/models.py">get</a>(\*, model_owner, model_name) -> <a href="./src/replicate/types/model_get_response.py">ModelGetResponse</a></code>
@@ -76,7 +87,7 @@ Methods:
7687

7788
Methods:
7889

79-
- <code title="get /models/{model_owner}/{model_name}/examples">replicate.models.examples.<a href="./src/replicate/resources/models/examples.py">list</a>(\*, model_owner, model_name) -> None</code>
90+
- <code title="get /models/{model_owner}/{model_name}/examples">replicate.models.examples.<a href="./src/replicate/resources/models/examples.py">list</a>(\*, model_owner, model_name) -> <a href="./src/replicate/types/prediction.py">SyncCursorURLPage[Prediction]</a></code>
8091

8192
## Predictions
8293

@@ -98,11 +109,17 @@ Methods:
98109

99110
## Versions
100111

112+
Types:
113+
114+
```python
115+
from replicate.types.models import VersionListResponse, VersionGetResponse
116+
```
117+
101118
Methods:
102119

103-
- <code title="get /models/{model_owner}/{model_name}/versions">replicate.models.versions.<a href="./src/replicate/resources/models/versions.py">list</a>(\*, model_owner, model_name) -> None</code>
120+
- <code title="get /models/{model_owner}/{model_name}/versions">replicate.models.versions.<a href="./src/replicate/resources/models/versions.py">list</a>(\*, model_owner, model_name) -> <a href="./src/replicate/types/models/version_list_response.py">SyncCursorURLPage[VersionListResponse]</a></code>
104121
- <code title="delete /models/{model_owner}/{model_name}/versions/{version_id}">replicate.models.versions.<a href="./src/replicate/resources/models/versions.py">delete</a>(\*, model_owner, model_name, version_id) -> None</code>
105-
- <code title="get /models/{model_owner}/{model_name}/versions/{version_id}">replicate.models.versions.<a href="./src/replicate/resources/models/versions.py">get</a>(\*, model_owner, model_name, version_id) -> None</code>
122+
- <code title="get /models/{model_owner}/{model_name}/versions/{version_id}">replicate.models.versions.<a href="./src/replicate/resources/models/versions.py">get</a>(\*, model_owner, model_name, version_id) -> <a href="./src/replicate/types/models/version_get_response.py">VersionGetResponse</a></code>
106123

107124
# Predictions
108125

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "replicate"
3-
version = "2.0.0-alpha.6"
3+
version = "2.0.0-alpha.7"
44
description = "The official Python library for the replicate API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"

src/replicate/_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__ = "replicate"
4-
__version__ = "2.0.0-alpha.6" # x-release-please-version
4+
__version__ = "2.0.0-alpha.7" # x-release-please-version

src/replicate/resources/collections.py

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import httpx
66

7-
from .._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
7+
from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
88
from .._compat import cached_property
99
from .._resource import SyncAPIResource, AsyncAPIResource
1010
from .._response import (
@@ -13,7 +13,10 @@
1313
async_to_raw_response_wrapper,
1414
async_to_streamed_response_wrapper,
1515
)
16-
from .._base_client import make_request_options
16+
from ..pagination import SyncCursorURLPage, AsyncCursorURLPage
17+
from .._base_client import AsyncPaginator, make_request_options
18+
from ..types.collection_get_response import CollectionGetResponse
19+
from ..types.collection_list_response import CollectionListResponse
1720

1821
__all__ = ["CollectionsResource", "AsyncCollectionsResource"]
1922

@@ -47,7 +50,7 @@ def list(
4750
extra_query: Query | None = None,
4851
extra_body: Body | None = None,
4952
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
50-
) -> None:
53+
) -> SyncCursorURLPage[CollectionListResponse]:
5154
"""
5255
Example cURL request:
5356
@@ -73,13 +76,13 @@ def list(
7376
}
7477
```
7578
"""
76-
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
77-
return self._get(
79+
return self._get_api_list(
7880
"/collections",
81+
page=SyncCursorURLPage[CollectionListResponse],
7982
options=make_request_options(
8083
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
8184
),
82-
cast_to=NoneType,
85+
model=CollectionListResponse,
8386
)
8487

8588
def get(
@@ -92,7 +95,7 @@ def get(
9295
extra_query: Query | None = None,
9396
extra_body: Body | None = None,
9497
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
95-
) -> None:
98+
) -> CollectionGetResponse:
9699
"""
97100
Example cURL request:
98101
@@ -125,13 +128,12 @@ def get(
125128
"""
126129
if not collection_slug:
127130
raise ValueError(f"Expected a non-empty value for `collection_slug` but received {collection_slug!r}")
128-
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
129131
return self._get(
130132
f"/collections/{collection_slug}",
131133
options=make_request_options(
132134
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
133135
),
134-
cast_to=NoneType,
136+
cast_to=CollectionGetResponse,
135137
)
136138

137139

@@ -155,7 +157,7 @@ def with_streaming_response(self) -> AsyncCollectionsResourceWithStreamingRespon
155157
"""
156158
return AsyncCollectionsResourceWithStreamingResponse(self)
157159

158-
async def list(
160+
def list(
159161
self,
160162
*,
161163
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -164,7 +166,7 @@ async def list(
164166
extra_query: Query | None = None,
165167
extra_body: Body | None = None,
166168
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
167-
) -> None:
169+
) -> AsyncPaginator[CollectionListResponse, AsyncCursorURLPage[CollectionListResponse]]:
168170
"""
169171
Example cURL request:
170172
@@ -190,13 +192,13 @@ async def list(
190192
}
191193
```
192194
"""
193-
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
194-
return await self._get(
195+
return self._get_api_list(
195196
"/collections",
197+
page=AsyncCursorURLPage[CollectionListResponse],
196198
options=make_request_options(
197199
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
198200
),
199-
cast_to=NoneType,
201+
model=CollectionListResponse,
200202
)
201203

202204
async def get(
@@ -209,7 +211,7 @@ async def get(
209211
extra_query: Query | None = None,
210212
extra_body: Body | None = None,
211213
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
212-
) -> None:
214+
) -> CollectionGetResponse:
213215
"""
214216
Example cURL request:
215217
@@ -242,13 +244,12 @@ async def get(
242244
"""
243245
if not collection_slug:
244246
raise ValueError(f"Expected a non-empty value for `collection_slug` but received {collection_slug!r}")
245-
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
246247
return await self._get(
247248
f"/collections/{collection_slug}",
248249
options=make_request_options(
249250
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
250251
),
251-
cast_to=NoneType,
252+
cast_to=CollectionGetResponse,
252253
)
253254

254255

src/replicate/resources/models/examples.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import httpx
66

7-
from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
7+
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
88
from ..._compat import cached_property
99
from ..._resource import SyncAPIResource, AsyncAPIResource
1010
from ..._response import (
@@ -13,7 +13,9 @@
1313
async_to_raw_response_wrapper,
1414
async_to_streamed_response_wrapper,
1515
)
16-
from ..._base_client import make_request_options
16+
from ...pagination import SyncCursorURLPage, AsyncCursorURLPage
17+
from ..._base_client import AsyncPaginator, make_request_options
18+
from ...types.prediction import Prediction
1719

1820
__all__ = ["ExamplesResource", "AsyncExamplesResource"]
1921

@@ -49,7 +51,7 @@ def list(
4951
extra_query: Query | None = None,
5052
extra_body: Body | None = None,
5153
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
52-
) -> None:
54+
) -> SyncCursorURLPage[Prediction]:
5355
"""
5456
List
5557
[example predictions](https://replicate.com/docs/topics/models/publish-a-model#what-are-examples)
@@ -96,13 +98,13 @@ def list(
9698
raise ValueError(f"Expected a non-empty value for `model_owner` but received {model_owner!r}")
9799
if not model_name:
98100
raise ValueError(f"Expected a non-empty value for `model_name` but received {model_name!r}")
99-
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
100-
return self._get(
101+
return self._get_api_list(
101102
f"/models/{model_owner}/{model_name}/examples",
103+
page=SyncCursorURLPage[Prediction],
102104
options=make_request_options(
103105
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
104106
),
105-
cast_to=NoneType,
107+
model=Prediction,
106108
)
107109

108110

@@ -126,7 +128,7 @@ def with_streaming_response(self) -> AsyncExamplesResourceWithStreamingResponse:
126128
"""
127129
return AsyncExamplesResourceWithStreamingResponse(self)
128130

129-
async def list(
131+
def list(
130132
self,
131133
*,
132134
model_owner: str,
@@ -137,7 +139,7 @@ async def list(
137139
extra_query: Query | None = None,
138140
extra_body: Body | None = None,
139141
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
140-
) -> None:
142+
) -> AsyncPaginator[Prediction, AsyncCursorURLPage[Prediction]]:
141143
"""
142144
List
143145
[example predictions](https://replicate.com/docs/topics/models/publish-a-model#what-are-examples)
@@ -184,13 +186,13 @@ async def list(
184186
raise ValueError(f"Expected a non-empty value for `model_owner` but received {model_owner!r}")
185187
if not model_name:
186188
raise ValueError(f"Expected a non-empty value for `model_name` but received {model_name!r}")
187-
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
188-
return await self._get(
189+
return self._get_api_list(
189190
f"/models/{model_owner}/{model_name}/examples",
191+
page=AsyncCursorURLPage[Prediction],
190192
options=make_request_options(
191193
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
192194
),
193-
cast_to=NoneType,
195+
model=Prediction,
194196
)
195197

196198

src/replicate/resources/models/models.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
from ..._base_client import AsyncPaginator, make_request_options
5454
from ...types.model_get_response import ModelGetResponse
5555
from ...types.model_list_response import ModelListResponse
56+
from ...types.model_create_response import ModelCreateResponse
5657
from ...types.model_search_response import ModelSearchResponse
5758

5859
__all__ = ["ModelsResource", "AsyncModelsResource"]
@@ -112,7 +113,7 @@ def create(
112113
extra_query: Query | None = None,
113114
extra_body: Body | None = None,
114115
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
115-
) -> None:
116+
) -> ModelCreateResponse:
116117
"""
117118
Create a model.
118119
@@ -183,7 +184,6 @@ def create(
183184
184185
timeout: Override the client-level default timeout for this request, in seconds
185186
"""
186-
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
187187
return self._post(
188188
"/models",
189189
body=maybe_transform(
@@ -203,7 +203,7 @@ def create(
203203
options=make_request_options(
204204
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
205205
),
206-
cast_to=NoneType,
206+
cast_to=ModelCreateResponse,
207207
)
208208

209209
def list(
@@ -512,7 +512,7 @@ async def create(
512512
extra_query: Query | None = None,
513513
extra_body: Body | None = None,
514514
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
515-
) -> None:
515+
) -> ModelCreateResponse:
516516
"""
517517
Create a model.
518518
@@ -583,7 +583,6 @@ async def create(
583583
584584
timeout: Override the client-level default timeout for this request, in seconds
585585
"""
586-
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
587586
return await self._post(
588587
"/models",
589588
body=await async_maybe_transform(
@@ -603,7 +602,7 @@ async def create(
603602
options=make_request_options(
604603
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
605604
),
606-
cast_to=NoneType,
605+
cast_to=ModelCreateResponse,
607606
)
608607

609608
def list(

0 commit comments

Comments
 (0)