Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "2.0.0-alpha.6"
".": "2.0.0-alpha.7"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 35
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/replicate%2Freplicate-client-f5aff38eef8d7b245a7af062bf02920ae75e5b9b3dc822416aeb48966c2c6874.yml
openapi_spec_hash: c0a966beaf5ae95c6bdddd4a933bd4aa
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/replicate%2Freplicate-client-d174b63c516640a0987bbb0879d1cb435ecf6cbcfe7c9f6465bfcc5416eff8e1.yml
openapi_spec_hash: 46f69b0827b955f2adf93928fcfb2c57
config_hash: 71c9e54dad5d546e9a98afe5edc6742b
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 2.0.0-alpha.7 (2025-06-27)

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)

### Features

* **api:** api update ([b1c14c8](https://github.com/replicate/replicate-python-stainless/commit/b1c14c8291ca205930dafbf639ba5e7bf9939d3a))

## 2.0.0-alpha.6 (2025-06-26)

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)
Expand Down
31 changes: 24 additions & 7 deletions api.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
# Collections

Types:

```python
from replicate.types import CollectionListResponse, CollectionGetResponse
```

Methods:

- <code title="get /collections">replicate.collections.<a href="./src/replicate/resources/collections.py">list</a>() -> None</code>
- <code title="get /collections/{collection_slug}">replicate.collections.<a href="./src/replicate/resources/collections.py">get</a>(\*, collection_slug) -> None</code>
- <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>
- <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>

# Deployments

Expand Down Expand Up @@ -61,12 +67,17 @@ Methods:
Types:

```python
from replicate.types import ModelListResponse, ModelGetResponse, ModelSearchResponse
from replicate.types import (
ModelCreateResponse,
ModelListResponse,
ModelGetResponse,
ModelSearchResponse,
)
```

Methods:

- <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>
- <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>
- <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>
- <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>
- <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>
Expand All @@ -76,7 +87,7 @@ Methods:

Methods:

- <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>
- <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>

## Predictions

Expand All @@ -98,11 +109,17 @@ Methods:

## Versions

Types:

```python
from replicate.types.models import VersionListResponse, VersionGetResponse
```

Methods:

- <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>
- <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>
- <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>
- <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>
- <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>

# Predictions

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "replicate"
version = "2.0.0-alpha.6"
version = "2.0.0-alpha.7"
description = "The official Python library for the replicate API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion src/replicate/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "replicate"
__version__ = "2.0.0-alpha.6" # x-release-please-version
__version__ = "2.0.0-alpha.7" # x-release-please-version
35 changes: 18 additions & 17 deletions src/replicate/resources/collections.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

import httpx

from .._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from .._compat import cached_property
from .._resource import SyncAPIResource, AsyncAPIResource
from .._response import (
Expand All @@ -13,7 +13,10 @@
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from .._base_client import make_request_options
from ..pagination import SyncCursorURLPage, AsyncCursorURLPage
from .._base_client import AsyncPaginator, make_request_options
from ..types.collection_get_response import CollectionGetResponse
from ..types.collection_list_response import CollectionListResponse

__all__ = ["CollectionsResource", "AsyncCollectionsResource"]

Expand Down Expand Up @@ -47,7 +50,7 @@ def list(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> None:
) -> SyncCursorURLPage[CollectionListResponse]:
"""
Example cURL request:

Expand All @@ -73,13 +76,13 @@ def list(
}
```
"""
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return self._get(
return self._get_api_list(
"/collections",
page=SyncCursorURLPage[CollectionListResponse],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=NoneType,
model=CollectionListResponse,
)

def get(
Expand All @@ -92,7 +95,7 @@ def get(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> None:
) -> CollectionGetResponse:
"""
Example cURL request:

Expand Down Expand Up @@ -125,13 +128,12 @@ def get(
"""
if not collection_slug:
raise ValueError(f"Expected a non-empty value for `collection_slug` but received {collection_slug!r}")
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return self._get(
f"/collections/{collection_slug}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=NoneType,
cast_to=CollectionGetResponse,
)


Expand All @@ -155,7 +157,7 @@ def with_streaming_response(self) -> AsyncCollectionsResourceWithStreamingRespon
"""
return AsyncCollectionsResourceWithStreamingResponse(self)

async def list(
def list(
self,
*,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
Expand All @@ -164,7 +166,7 @@ async def list(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> None:
) -> AsyncPaginator[CollectionListResponse, AsyncCursorURLPage[CollectionListResponse]]:
"""
Example cURL request:

Expand All @@ -190,13 +192,13 @@ async def list(
}
```
"""
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return await self._get(
return self._get_api_list(
"/collections",
page=AsyncCursorURLPage[CollectionListResponse],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=NoneType,
model=CollectionListResponse,
)

async def get(
Expand All @@ -209,7 +211,7 @@ async def get(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> None:
) -> CollectionGetResponse:
"""
Example cURL request:

Expand Down Expand Up @@ -242,13 +244,12 @@ async def get(
"""
if not collection_slug:
raise ValueError(f"Expected a non-empty value for `collection_slug` but received {collection_slug!r}")
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return await self._get(
f"/collections/{collection_slug}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=NoneType,
cast_to=CollectionGetResponse,
)


Expand Down
24 changes: 13 additions & 11 deletions src/replicate/resources/models/examples.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

import httpx

from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import (
Expand All @@ -13,7 +13,9 @@
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ..._base_client import make_request_options
from ...pagination import SyncCursorURLPage, AsyncCursorURLPage
from ..._base_client import AsyncPaginator, make_request_options
from ...types.prediction import Prediction

__all__ = ["ExamplesResource", "AsyncExamplesResource"]

Expand Down Expand Up @@ -49,7 +51,7 @@ def list(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> None:
) -> SyncCursorURLPage[Prediction]:
"""
List
[example predictions](https://replicate.com/docs/topics/models/publish-a-model#what-are-examples)
Expand Down Expand Up @@ -96,13 +98,13 @@ def list(
raise ValueError(f"Expected a non-empty value for `model_owner` but received {model_owner!r}")
if not model_name:
raise ValueError(f"Expected a non-empty value for `model_name` but received {model_name!r}")
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return self._get(
return self._get_api_list(
f"/models/{model_owner}/{model_name}/examples",
page=SyncCursorURLPage[Prediction],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=NoneType,
model=Prediction,
)


Expand All @@ -126,7 +128,7 @@ def with_streaming_response(self) -> AsyncExamplesResourceWithStreamingResponse:
"""
return AsyncExamplesResourceWithStreamingResponse(self)

async def list(
def list(
self,
*,
model_owner: str,
Expand All @@ -137,7 +139,7 @@ async def list(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> None:
) -> AsyncPaginator[Prediction, AsyncCursorURLPage[Prediction]]:
"""
List
[example predictions](https://replicate.com/docs/topics/models/publish-a-model#what-are-examples)
Expand Down Expand Up @@ -184,13 +186,13 @@ async def list(
raise ValueError(f"Expected a non-empty value for `model_owner` but received {model_owner!r}")
if not model_name:
raise ValueError(f"Expected a non-empty value for `model_name` but received {model_name!r}")
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return await self._get(
return self._get_api_list(
f"/models/{model_owner}/{model_name}/examples",
page=AsyncCursorURLPage[Prediction],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=NoneType,
model=Prediction,
)


Expand Down
11 changes: 5 additions & 6 deletions src/replicate/resources/models/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
from ..._base_client import AsyncPaginator, make_request_options
from ...types.model_get_response import ModelGetResponse
from ...types.model_list_response import ModelListResponse
from ...types.model_create_response import ModelCreateResponse
from ...types.model_search_response import ModelSearchResponse

__all__ = ["ModelsResource", "AsyncModelsResource"]
Expand Down Expand Up @@ -112,7 +113,7 @@ def create(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> None:
) -> ModelCreateResponse:
"""
Create a model.

Expand Down Expand Up @@ -183,7 +184,6 @@ def create(

timeout: Override the client-level default timeout for this request, in seconds
"""
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return self._post(
"/models",
body=maybe_transform(
Expand All @@ -203,7 +203,7 @@ def create(
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=NoneType,
cast_to=ModelCreateResponse,
)

def list(
Expand Down Expand Up @@ -512,7 +512,7 @@ async def create(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> None:
) -> ModelCreateResponse:
"""
Create a model.

Expand Down Expand Up @@ -583,7 +583,6 @@ async def create(

timeout: Override the client-level default timeout for this request, in seconds
"""
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return await self._post(
"/models",
body=await async_maybe_transform(
Expand All @@ -603,7 +602,7 @@ async def create(
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=NoneType,
cast_to=ModelCreateResponse,
)

def list(
Expand Down
Loading