22
33from __future__ import annotations
44
5+ import httpx
6+
7+ from ..._types import NOT_GIVEN , Body , Query , Headers , NotGiven
58from ..._compat import cached_property
69from ..._resource import SyncAPIResource , AsyncAPIResource
10+ from ..._response import (
11+ to_raw_response_wrapper ,
12+ to_streamed_response_wrapper ,
13+ async_to_raw_response_wrapper ,
14+ async_to_streamed_response_wrapper ,
15+ )
716from .test_results import (
817 TestResultsResource ,
918 AsyncTestResultsResource ,
1221 TestResultsResourceWithStreamingResponse ,
1322 AsyncTestResultsResourceWithStreamingResponse ,
1423)
24+ from ..._base_client import make_request_options
25+ from ...types .commit_retrieve_response import CommitRetrieveResponse
1526
1627__all__ = ["CommitsResource" , "AsyncCommitsResource" ]
1728
@@ -40,6 +51,39 @@ def with_streaming_response(self) -> CommitsResourceWithStreamingResponse:
4051 """
4152 return CommitsResourceWithStreamingResponse (self )
4253
54+ def retrieve (
55+ self ,
56+ project_version_id : str ,
57+ * ,
58+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
59+ # The extra values given here take precedence over values defined on the client or passed to this method.
60+ extra_headers : Headers | None = None ,
61+ extra_query : Query | None = None ,
62+ extra_body : Body | None = None ,
63+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
64+ ) -> CommitRetrieveResponse :
65+ """
66+ Retrieve a project version (commit) by its id.
67+
68+ Args:
69+ extra_headers: Send extra headers
70+
71+ extra_query: Add additional query parameters to the request
72+
73+ extra_body: Add additional JSON properties to the request
74+
75+ timeout: Override the client-level default timeout for this request, in seconds
76+ """
77+ if not project_version_id :
78+ raise ValueError (f"Expected a non-empty value for `project_version_id` but received { project_version_id !r} " )
79+ return self ._get (
80+ f"/versions/{ project_version_id } " ,
81+ options = make_request_options (
82+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
83+ ),
84+ cast_to = CommitRetrieveResponse ,
85+ )
86+
4387
4488class AsyncCommitsResource (AsyncAPIResource ):
4589 @cached_property
@@ -65,11 +109,48 @@ def with_streaming_response(self) -> AsyncCommitsResourceWithStreamingResponse:
65109 """
66110 return AsyncCommitsResourceWithStreamingResponse (self )
67111
112+ async def retrieve (
113+ self ,
114+ project_version_id : str ,
115+ * ,
116+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
117+ # The extra values given here take precedence over values defined on the client or passed to this method.
118+ extra_headers : Headers | None = None ,
119+ extra_query : Query | None = None ,
120+ extra_body : Body | None = None ,
121+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
122+ ) -> CommitRetrieveResponse :
123+ """
124+ Retrieve a project version (commit) by its id.
125+
126+ Args:
127+ extra_headers: Send extra headers
128+
129+ extra_query: Add additional query parameters to the request
130+
131+ extra_body: Add additional JSON properties to the request
132+
133+ timeout: Override the client-level default timeout for this request, in seconds
134+ """
135+ if not project_version_id :
136+ raise ValueError (f"Expected a non-empty value for `project_version_id` but received { project_version_id !r} " )
137+ return await self ._get (
138+ f"/versions/{ project_version_id } " ,
139+ options = make_request_options (
140+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
141+ ),
142+ cast_to = CommitRetrieveResponse ,
143+ )
144+
68145
69146class CommitsResourceWithRawResponse :
70147 def __init__ (self , commits : CommitsResource ) -> None :
71148 self ._commits = commits
72149
150+ self .retrieve = to_raw_response_wrapper (
151+ commits .retrieve ,
152+ )
153+
73154 @cached_property
74155 def test_results (self ) -> TestResultsResourceWithRawResponse :
75156 return TestResultsResourceWithRawResponse (self ._commits .test_results )
@@ -79,6 +160,10 @@ class AsyncCommitsResourceWithRawResponse:
79160 def __init__ (self , commits : AsyncCommitsResource ) -> None :
80161 self ._commits = commits
81162
163+ self .retrieve = async_to_raw_response_wrapper (
164+ commits .retrieve ,
165+ )
166+
82167 @cached_property
83168 def test_results (self ) -> AsyncTestResultsResourceWithRawResponse :
84169 return AsyncTestResultsResourceWithRawResponse (self ._commits .test_results )
@@ -88,6 +173,10 @@ class CommitsResourceWithStreamingResponse:
88173 def __init__ (self , commits : CommitsResource ) -> None :
89174 self ._commits = commits
90175
176+ self .retrieve = to_streamed_response_wrapper (
177+ commits .retrieve ,
178+ )
179+
91180 @cached_property
92181 def test_results (self ) -> TestResultsResourceWithStreamingResponse :
93182 return TestResultsResourceWithStreamingResponse (self ._commits .test_results )
@@ -97,6 +186,10 @@ class AsyncCommitsResourceWithStreamingResponse:
97186 def __init__ (self , commits : AsyncCommitsResource ) -> None :
98187 self ._commits = commits
99188
189+ self .retrieve = async_to_streamed_response_wrapper (
190+ commits .retrieve ,
191+ )
192+
100193 @cached_property
101194 def test_results (self ) -> AsyncTestResultsResourceWithStreamingResponse :
102195 return AsyncTestResultsResourceWithStreamingResponse (self ._commits .test_results )
0 commit comments