Skip to content

Commit

Permalink
Include dataset collection retrieve (#18)
Browse files Browse the repository at this point in the history
Co-authored-by: Ramon Marques <ramon.marques@toptal.com>
  • Loading branch information
ramoncelestino and ramon-marques authored Jul 24, 2024
1 parent bb812b6 commit b4b4de3
Show file tree
Hide file tree
Showing 4 changed files with 124 additions and 1 deletion.
85 changes: 84 additions & 1 deletion aimon/resources/datasets/collection.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"]

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand All @@ -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:
Expand All @@ -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:
Expand All @@ -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:
Expand All @@ -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,
)
2 changes: 2 additions & 0 deletions aimon/types/datasets/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
11 changes: 11 additions & 0 deletions aimon/types/datasets/collection_retrieve_params.py
Original file line number Diff line number Diff line change
@@ -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]
27 changes: 27 additions & 0 deletions aimon/types/datasets/collection_retrieve_response.py
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit b4b4de3

Please sign in to comment.