diff --git a/aimon/resources/datasets/collection.py b/aimon/resources/datasets/collection.py index ffaf264..9cff11c 100644 --- a/aimon/resources/datasets/collection.py +++ b/aimon/resources/datasets/collection.py @@ -21,8 +21,9 @@ async_to_streamed_response_wrapper, ) from ..._base_client import make_request_options -from ...types.datasets import collection_create_params +from ...types.datasets import collection_create_params, collection_retrieve_params from ...types.datasets.collection_create_response import CollectionCreateResponse +from ...types.datasets.collection_retrieve_response import CollectionRetrieveResponse __all__ = ["CollectionResource", "AsyncCollectionResource"] @@ -89,6 +90,41 @@ def create( cast_to=CollectionCreateResponse, ) + def retrieve( + self, + *, + name: str, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, + ) -> CollectionRetrieveResponse: + """ + Retrieve a dataset collection by name + + Args: + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + """ + return self._get( + "/v1/dataset-collection", + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=maybe_transform({"name": name}, collection_retrieve_params.CollectionRetrieveParams), + ), + cast_to=CollectionRetrieveResponse, + ) + class AsyncCollectionResource(AsyncAPIResource): @cached_property @@ -152,6 +188,41 @@ async def create( cast_to=CollectionCreateResponse, ) + async def retrieve( + self, + *, + name: str, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, + ) -> CollectionRetrieveResponse: + """ + Retrieve a dataset collection by name + + Args: + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + """ + return await self._get( + "/v1/dataset-collection", + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=await async_maybe_transform({"name": name}, collection_retrieve_params.CollectionRetrieveParams), + ), + cast_to=CollectionRetrieveResponse, + ) + class CollectionResourceWithRawResponse: def __init__(self, collection: CollectionResource) -> None: @@ -160,6 +231,9 @@ def __init__(self, collection: CollectionResource) -> None: self.create = to_raw_response_wrapper( collection.create, ) + self.retrieve = to_raw_response_wrapper( + collection.retrieve, + ) class AsyncCollectionResourceWithRawResponse: @@ -169,6 +243,9 @@ def __init__(self, collection: AsyncCollectionResource) -> None: self.create = async_to_raw_response_wrapper( collection.create, ) + self.retrieve = async_to_raw_response_wrapper( + collection.retrieve, + ) class CollectionResourceWithStreamingResponse: @@ -178,6 +255,9 @@ def __init__(self, collection: CollectionResource) -> None: self.create = to_streamed_response_wrapper( collection.create, ) + self.retrieve = to_streamed_response_wrapper( + collection.retrieve, + ) class AsyncCollectionResourceWithStreamingResponse: @@ -187,3 +267,6 @@ def __init__(self, collection: AsyncCollectionResource) -> None: self.create = async_to_streamed_response_wrapper( collection.create, ) + self.retrieve = async_to_streamed_response_wrapper( + collection.retrieve, + ) diff --git a/aimon/types/datasets/__init__.py b/aimon/types/datasets/__init__.py index cc3097c..7841717 100644 --- a/aimon/types/datasets/__init__.py +++ b/aimon/types/datasets/__init__.py @@ -6,3 +6,5 @@ from .record_list_response import RecordListResponse as RecordListResponse from .collection_create_params import CollectionCreateParams as CollectionCreateParams from .collection_create_response import CollectionCreateResponse as CollectionCreateResponse +from .collection_retrieve_params import CollectionRetrieveParams as CollectionRetrieveParams +from .collection_retrieve_response import CollectionRetrieveResponse as CollectionRetrieveResponse diff --git a/aimon/types/datasets/collection_retrieve_params.py b/aimon/types/datasets/collection_retrieve_params.py new file mode 100644 index 0000000..38727c6 --- /dev/null +++ b/aimon/types/datasets/collection_retrieve_params.py @@ -0,0 +1,11 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Required, TypedDict + +__all__ = ["CollectionRetrieveParams"] + + +class CollectionRetrieveParams(TypedDict, total=False): + name: Required[str] diff --git a/aimon/types/datasets/collection_retrieve_response.py b/aimon/types/datasets/collection_retrieve_response.py new file mode 100644 index 0000000..1499831 --- /dev/null +++ b/aimon/types/datasets/collection_retrieve_response.py @@ -0,0 +1,27 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from typing import List, Optional +from datetime import datetime + +from ..._models import BaseModel + +__all__ = ["CollectionRetrieveResponse"] + + +class CollectionRetrieveResponse(BaseModel): + dataset_ids: List[str] + """A list of dataset IDs included in this collection.""" + + name: str + + id: Optional[str] = None + + company_id: Optional[str] = None + + creation_time: Optional[datetime] = None + + description: Optional[str] = None + + last_updated_time: Optional[datetime] = None + + user_id: Optional[str] = None