Skip to content

Commit 8f31c2b

Browse files
feat(api): add get project (#91)
1 parent 0d63abb commit 8f31c2b

File tree

4 files changed

+102
-1
lines changed

4 files changed

+102
-1
lines changed

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
configured_endpoints: 92
1+
configured_endpoints: 93
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/datamini%2Fasktable-907ea99ae17ecc7e5589897d8c79f0d5ebe600307720ab0fc8baf80ef5099604.yml

api.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,7 @@ from asktable.types import ProjectListModelGroupsResponse
384384

385385
Methods:
386386

387+
- <code title="get /project">client.project.<a href="./src/asktable/resources/project.py">retrieve</a>() -> <a href="./src/asktable/types/sys/project.py">Project</a></code>
387388
- <code title="patch /project">client.project.<a href="./src/asktable/resources/project.py">update</a>(\*\*<a href="src/asktable/types/project_update_params.py">params</a>) -> <a href="./src/asktable/types/sys/project.py">Project</a></code>
388389
- <code title="get /project/model-groups">client.project.<a href="./src/asktable/resources/project.py">list_model_groups</a>() -> <a href="./src/asktable/types/project_list_model_groups_response.py">ProjectListModelGroupsResponse</a></code>
389390

src/asktable/resources/project.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,25 @@ def with_streaming_response(self) -> ProjectResourceWithStreamingResponse:
4747
"""
4848
return ProjectResourceWithStreamingResponse(self)
4949

50+
def retrieve(
51+
self,
52+
*,
53+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
54+
# The extra values given here take precedence over values defined on the client or passed to this method.
55+
extra_headers: Headers | None = None,
56+
extra_query: Query | None = None,
57+
extra_body: Body | None = None,
58+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
59+
) -> Project:
60+
"""Get My Project"""
61+
return self._get(
62+
"/project",
63+
options=make_request_options(
64+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
65+
),
66+
cast_to=Project,
67+
)
68+
5069
def update(
5170
self,
5271
*,
@@ -130,6 +149,25 @@ def with_streaming_response(self) -> AsyncProjectResourceWithStreamingResponse:
130149
"""
131150
return AsyncProjectResourceWithStreamingResponse(self)
132151

152+
async def retrieve(
153+
self,
154+
*,
155+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
156+
# The extra values given here take precedence over values defined on the client or passed to this method.
157+
extra_headers: Headers | None = None,
158+
extra_query: Query | None = None,
159+
extra_body: Body | None = None,
160+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
161+
) -> Project:
162+
"""Get My Project"""
163+
return await self._get(
164+
"/project",
165+
options=make_request_options(
166+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
167+
),
168+
cast_to=Project,
169+
)
170+
133171
async def update(
134172
self,
135173
*,
@@ -197,6 +235,9 @@ class ProjectResourceWithRawResponse:
197235
def __init__(self, project: ProjectResource) -> None:
198236
self._project = project
199237

238+
self.retrieve = to_raw_response_wrapper(
239+
project.retrieve,
240+
)
200241
self.update = to_raw_response_wrapper(
201242
project.update,
202243
)
@@ -209,6 +250,9 @@ class AsyncProjectResourceWithRawResponse:
209250
def __init__(self, project: AsyncProjectResource) -> None:
210251
self._project = project
211252

253+
self.retrieve = async_to_raw_response_wrapper(
254+
project.retrieve,
255+
)
212256
self.update = async_to_raw_response_wrapper(
213257
project.update,
214258
)
@@ -221,6 +265,9 @@ class ProjectResourceWithStreamingResponse:
221265
def __init__(self, project: ProjectResource) -> None:
222266
self._project = project
223267

268+
self.retrieve = to_streamed_response_wrapper(
269+
project.retrieve,
270+
)
224271
self.update = to_streamed_response_wrapper(
225272
project.update,
226273
)
@@ -233,6 +280,9 @@ class AsyncProjectResourceWithStreamingResponse:
233280
def __init__(self, project: AsyncProjectResource) -> None:
234281
self._project = project
235282

283+
self.retrieve = async_to_streamed_response_wrapper(
284+
project.retrieve,
285+
)
236286
self.update = async_to_streamed_response_wrapper(
237287
project.update,
238288
)

tests/api_resources/test_project.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,31 @@
1818
class TestProject:
1919
parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"])
2020

21+
@parametrize
22+
def test_method_retrieve(self, client: Asktable) -> None:
23+
project = client.project.retrieve()
24+
assert_matches_type(Project, project, path=["response"])
25+
26+
@parametrize
27+
def test_raw_response_retrieve(self, client: Asktable) -> None:
28+
response = client.project.with_raw_response.retrieve()
29+
30+
assert response.is_closed is True
31+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
32+
project = response.parse()
33+
assert_matches_type(Project, project, path=["response"])
34+
35+
@parametrize
36+
def test_streaming_response_retrieve(self, client: Asktable) -> None:
37+
with client.project.with_streaming_response.retrieve() as response:
38+
assert not response.is_closed
39+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
40+
41+
project = response.parse()
42+
assert_matches_type(Project, project, path=["response"])
43+
44+
assert cast(Any, response.is_closed) is True
45+
2146
@parametrize
2247
def test_method_update(self, client: Asktable) -> None:
2348
project = client.project.update()
@@ -80,6 +105,31 @@ def test_streaming_response_list_model_groups(self, client: Asktable) -> None:
80105
class TestAsyncProject:
81106
parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"])
82107

108+
@parametrize
109+
async def test_method_retrieve(self, async_client: AsyncAsktable) -> None:
110+
project = await async_client.project.retrieve()
111+
assert_matches_type(Project, project, path=["response"])
112+
113+
@parametrize
114+
async def test_raw_response_retrieve(self, async_client: AsyncAsktable) -> None:
115+
response = await async_client.project.with_raw_response.retrieve()
116+
117+
assert response.is_closed is True
118+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
119+
project = await response.parse()
120+
assert_matches_type(Project, project, path=["response"])
121+
122+
@parametrize
123+
async def test_streaming_response_retrieve(self, async_client: AsyncAsktable) -> None:
124+
async with async_client.project.with_streaming_response.retrieve() as response:
125+
assert not response.is_closed
126+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
127+
128+
project = await response.parse()
129+
assert_matches_type(Project, project, path=["response"])
130+
131+
assert cast(Any, response.is_closed) is True
132+
83133
@parametrize
84134
async def test_method_update(self, async_client: AsyncAsktable) -> None:
85135
project = await async_client.project.update()

0 commit comments

Comments
 (0)