Skip to content

Commit b4b4de3

Browse files
Include dataset collection retrieve (#18)
Co-authored-by: Ramon Marques <ramon.marques@toptal.com>
1 parent bb812b6 commit b4b4de3

File tree

4 files changed

+124
-1
lines changed

4 files changed

+124
-1
lines changed

aimon/resources/datasets/collection.py

Lines changed: 84 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121
async_to_streamed_response_wrapper,
2222
)
2323
from ..._base_client import make_request_options
24-
from ...types.datasets import collection_create_params
24+
from ...types.datasets import collection_create_params, collection_retrieve_params
2525
from ...types.datasets.collection_create_response import CollectionCreateResponse
26+
from ...types.datasets.collection_retrieve_response import CollectionRetrieveResponse
2627

2728
__all__ = ["CollectionResource", "AsyncCollectionResource"]
2829

@@ -89,6 +90,41 @@ def create(
8990
cast_to=CollectionCreateResponse,
9091
)
9192

93+
def retrieve(
94+
self,
95+
*,
96+
name: str,
97+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
98+
# The extra values given here take precedence over values defined on the client or passed to this method.
99+
extra_headers: Headers | None = None,
100+
extra_query: Query | None = None,
101+
extra_body: Body | None = None,
102+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
103+
) -> CollectionRetrieveResponse:
104+
"""
105+
Retrieve a dataset collection by name
106+
107+
Args:
108+
extra_headers: Send extra headers
109+
110+
extra_query: Add additional query parameters to the request
111+
112+
extra_body: Add additional JSON properties to the request
113+
114+
timeout: Override the client-level default timeout for this request, in seconds
115+
"""
116+
return self._get(
117+
"/v1/dataset-collection",
118+
options=make_request_options(
119+
extra_headers=extra_headers,
120+
extra_query=extra_query,
121+
extra_body=extra_body,
122+
timeout=timeout,
123+
query=maybe_transform({"name": name}, collection_retrieve_params.CollectionRetrieveParams),
124+
),
125+
cast_to=CollectionRetrieveResponse,
126+
)
127+
92128

93129
class AsyncCollectionResource(AsyncAPIResource):
94130
@cached_property
@@ -152,6 +188,41 @@ async def create(
152188
cast_to=CollectionCreateResponse,
153189
)
154190

191+
async def retrieve(
192+
self,
193+
*,
194+
name: str,
195+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
196+
# The extra values given here take precedence over values defined on the client or passed to this method.
197+
extra_headers: Headers | None = None,
198+
extra_query: Query | None = None,
199+
extra_body: Body | None = None,
200+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
201+
) -> CollectionRetrieveResponse:
202+
"""
203+
Retrieve a dataset collection by name
204+
205+
Args:
206+
extra_headers: Send extra headers
207+
208+
extra_query: Add additional query parameters to the request
209+
210+
extra_body: Add additional JSON properties to the request
211+
212+
timeout: Override the client-level default timeout for this request, in seconds
213+
"""
214+
return await self._get(
215+
"/v1/dataset-collection",
216+
options=make_request_options(
217+
extra_headers=extra_headers,
218+
extra_query=extra_query,
219+
extra_body=extra_body,
220+
timeout=timeout,
221+
query=await async_maybe_transform({"name": name}, collection_retrieve_params.CollectionRetrieveParams),
222+
),
223+
cast_to=CollectionRetrieveResponse,
224+
)
225+
155226

156227
class CollectionResourceWithRawResponse:
157228
def __init__(self, collection: CollectionResource) -> None:
@@ -160,6 +231,9 @@ def __init__(self, collection: CollectionResource) -> None:
160231
self.create = to_raw_response_wrapper(
161232
collection.create,
162233
)
234+
self.retrieve = to_raw_response_wrapper(
235+
collection.retrieve,
236+
)
163237

164238

165239
class AsyncCollectionResourceWithRawResponse:
@@ -169,6 +243,9 @@ def __init__(self, collection: AsyncCollectionResource) -> None:
169243
self.create = async_to_raw_response_wrapper(
170244
collection.create,
171245
)
246+
self.retrieve = async_to_raw_response_wrapper(
247+
collection.retrieve,
248+
)
172249

173250

174251
class CollectionResourceWithStreamingResponse:
@@ -178,6 +255,9 @@ def __init__(self, collection: CollectionResource) -> None:
178255
self.create = to_streamed_response_wrapper(
179256
collection.create,
180257
)
258+
self.retrieve = to_streamed_response_wrapper(
259+
collection.retrieve,
260+
)
181261

182262

183263
class AsyncCollectionResourceWithStreamingResponse:
@@ -187,3 +267,6 @@ def __init__(self, collection: AsyncCollectionResource) -> None:
187267
self.create = async_to_streamed_response_wrapper(
188268
collection.create,
189269
)
270+
self.retrieve = async_to_streamed_response_wrapper(
271+
collection.retrieve,
272+
)

aimon/types/datasets/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@
66
from .record_list_response import RecordListResponse as RecordListResponse
77
from .collection_create_params import CollectionCreateParams as CollectionCreateParams
88
from .collection_create_response import CollectionCreateResponse as CollectionCreateResponse
9+
from .collection_retrieve_params import CollectionRetrieveParams as CollectionRetrieveParams
10+
from .collection_retrieve_response import CollectionRetrieveResponse as CollectionRetrieveResponse
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing_extensions import Required, TypedDict
6+
7+
__all__ = ["CollectionRetrieveParams"]
8+
9+
10+
class CollectionRetrieveParams(TypedDict, total=False):
11+
name: Required[str]
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from typing import List, Optional
4+
from datetime import datetime
5+
6+
from ..._models import BaseModel
7+
8+
__all__ = ["CollectionRetrieveResponse"]
9+
10+
11+
class CollectionRetrieveResponse(BaseModel):
12+
dataset_ids: List[str]
13+
"""A list of dataset IDs included in this collection."""
14+
15+
name: str
16+
17+
id: Optional[str] = None
18+
19+
company_id: Optional[str] = None
20+
21+
creation_time: Optional[datetime] = None
22+
23+
description: Optional[str] = None
24+
25+
last_updated_time: Optional[datetime] = None
26+
27+
user_id: Optional[str] = None

0 commit comments

Comments
 (0)