Skip to content

Commit c9f0b8c

Browse files
committed
feat: add timeout option to methods
1 parent 77c479b commit c9f0b8c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+865
-69
lines changed

src/increase/_base_client.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1283,6 +1283,7 @@ def make_request_options(
12831283
extra_query: Query | None = None,
12841284
extra_body: Body | None = None,
12851285
idempotency_key: str | None = None,
1286+
timeout: float | None | NotGiven = NOT_GIVEN,
12861287
) -> RequestOptions:
12871288
"""Create a dict of type RequestOptions without keys of NotGiven values."""
12881289
options: RequestOptions = {}
@@ -1298,6 +1299,9 @@ def make_request_options(
12981299
if extra_query is not None:
12991300
options["params"] = {**options.get("params", {}), **extra_query}
13001301

1302+
if not isinstance(timeout, NotGiven):
1303+
options["timeout"] = timeout
1304+
13011305
if idempotency_key is not None:
13021306
options["idempotency_key"] = idempotency_key
13031307

src/increase/resources/account_numbers.py

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def create(
3030
extra_headers: Headers | None = None,
3131
extra_query: Query | None = None,
3232
extra_body: Body | None = None,
33+
timeout: float | None | NotGiven = NOT_GIVEN,
3334
idempotency_key: str | None = None,
3435
) -> AccountNumber:
3536
"""
@@ -46,6 +47,8 @@ def create(
4647
4748
extra_body: Add additional JSON properties to the request
4849
50+
timeout: Override the client-level default timeout for this request, in seconds
51+
4952
idempotency_key: Specify a custom idempotency key for this request
5053
"""
5154
return self._post(
@@ -61,6 +64,7 @@ def create(
6164
extra_headers=extra_headers,
6265
extra_query=extra_query,
6366
extra_body=extra_body,
67+
timeout=timeout,
6468
idempotency_key=idempotency_key,
6569
),
6670
cast_to=AccountNumber,
@@ -75,11 +79,14 @@ def retrieve(
7579
extra_headers: Headers | None = None,
7680
extra_query: Query | None = None,
7781
extra_body: Body | None = None,
82+
timeout: float | None | NotGiven = NOT_GIVEN,
7883
) -> AccountNumber:
7984
"""Retrieve an Account Number"""
8085
return self._get(
8186
f"/account_numbers/{account_number_id}",
82-
options=make_request_options(extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body),
87+
options=make_request_options(
88+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
89+
),
8390
cast_to=AccountNumber,
8491
)
8592

@@ -94,6 +101,7 @@ def update(
94101
extra_headers: Headers | None = None,
95102
extra_query: Query | None = None,
96103
extra_body: Body | None = None,
104+
timeout: float | None | NotGiven = NOT_GIVEN,
97105
idempotency_key: str | None = None,
98106
) -> AccountNumber:
99107
"""
@@ -110,6 +118,8 @@ def update(
110118
111119
extra_body: Add additional JSON properties to the request
112120
121+
timeout: Override the client-level default timeout for this request, in seconds
122+
113123
idempotency_key: Specify a custom idempotency key for this request
114124
"""
115125
return self._patch(
@@ -125,6 +135,7 @@ def update(
125135
extra_headers=extra_headers,
126136
extra_query=extra_query,
127137
extra_body=extra_body,
138+
timeout=timeout,
128139
idempotency_key=idempotency_key,
129140
),
130141
cast_to=AccountNumber,
@@ -142,6 +153,7 @@ def list(
142153
extra_headers: Headers | None = None,
143154
extra_query: Query | None = None,
144155
extra_body: Body | None = None,
156+
timeout: float | None | NotGiven = NOT_GIVEN,
145157
) -> SyncPage[AccountNumber]:
146158
"""
147159
List Account Numbers
@@ -161,6 +173,8 @@ def list(
161173
extra_query: Add additional query parameters to the request
162174
163175
extra_body: Add additional JSON properties to the request
176+
177+
timeout: Override the client-level default timeout for this request, in seconds
164178
"""
165179
return self._get_api_list(
166180
"/account_numbers",
@@ -169,6 +183,7 @@ def list(
169183
extra_headers=extra_headers,
170184
extra_query=extra_query,
171185
extra_body=extra_body,
186+
timeout=timeout,
172187
query=maybe_transform(
173188
{
174189
"cursor": cursor,
@@ -194,6 +209,7 @@ async def create(
194209
extra_headers: Headers | None = None,
195210
extra_query: Query | None = None,
196211
extra_body: Body | None = None,
212+
timeout: float | None | NotGiven = NOT_GIVEN,
197213
idempotency_key: str | None = None,
198214
) -> AccountNumber:
199215
"""
@@ -210,6 +226,8 @@ async def create(
210226
211227
extra_body: Add additional JSON properties to the request
212228
229+
timeout: Override the client-level default timeout for this request, in seconds
230+
213231
idempotency_key: Specify a custom idempotency key for this request
214232
"""
215233
return await self._post(
@@ -225,6 +243,7 @@ async def create(
225243
extra_headers=extra_headers,
226244
extra_query=extra_query,
227245
extra_body=extra_body,
246+
timeout=timeout,
228247
idempotency_key=idempotency_key,
229248
),
230249
cast_to=AccountNumber,
@@ -239,11 +258,14 @@ async def retrieve(
239258
extra_headers: Headers | None = None,
240259
extra_query: Query | None = None,
241260
extra_body: Body | None = None,
261+
timeout: float | None | NotGiven = NOT_GIVEN,
242262
) -> AccountNumber:
243263
"""Retrieve an Account Number"""
244264
return await self._get(
245265
f"/account_numbers/{account_number_id}",
246-
options=make_request_options(extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body),
266+
options=make_request_options(
267+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
268+
),
247269
cast_to=AccountNumber,
248270
)
249271

@@ -258,6 +280,7 @@ async def update(
258280
extra_headers: Headers | None = None,
259281
extra_query: Query | None = None,
260282
extra_body: Body | None = None,
283+
timeout: float | None | NotGiven = NOT_GIVEN,
261284
idempotency_key: str | None = None,
262285
) -> AccountNumber:
263286
"""
@@ -274,6 +297,8 @@ async def update(
274297
275298
extra_body: Add additional JSON properties to the request
276299
300+
timeout: Override the client-level default timeout for this request, in seconds
301+
277302
idempotency_key: Specify a custom idempotency key for this request
278303
"""
279304
return await self._patch(
@@ -289,6 +314,7 @@ async def update(
289314
extra_headers=extra_headers,
290315
extra_query=extra_query,
291316
extra_body=extra_body,
317+
timeout=timeout,
292318
idempotency_key=idempotency_key,
293319
),
294320
cast_to=AccountNumber,
@@ -306,6 +332,7 @@ def list(
306332
extra_headers: Headers | None = None,
307333
extra_query: Query | None = None,
308334
extra_body: Body | None = None,
335+
timeout: float | None | NotGiven = NOT_GIVEN,
309336
) -> AsyncPaginator[AccountNumber, AsyncPage[AccountNumber]]:
310337
"""
311338
List Account Numbers
@@ -325,6 +352,8 @@ def list(
325352
extra_query: Add additional query parameters to the request
326353
327354
extra_body: Add additional JSON properties to the request
355+
356+
timeout: Override the client-level default timeout for this request, in seconds
328357
"""
329358
return self._get_api_list(
330359
"/account_numbers",
@@ -333,6 +362,7 @@ def list(
333362
extra_headers=extra_headers,
334363
extra_query=extra_query,
335364
extra_body=extra_body,
365+
timeout=timeout,
336366
query=maybe_transform(
337367
{
338368
"cursor": cursor,

src/increase/resources/account_statements.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,14 @@ def retrieve(
2222
extra_headers: Headers | None = None,
2323
extra_query: Query | None = None,
2424
extra_body: Body | None = None,
25+
timeout: float | None | NotGiven = NOT_GIVEN,
2526
) -> AccountStatement:
2627
"""Retrieve an Account Statement"""
2728
return self._get(
2829
f"/account_statements/{account_statement_id}",
29-
options=make_request_options(extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body),
30+
options=make_request_options(
31+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
32+
),
3033
cast_to=AccountStatement,
3134
)
3235

@@ -42,6 +45,7 @@ def list(
4245
extra_headers: Headers | None = None,
4346
extra_query: Query | None = None,
4447
extra_body: Body | None = None,
48+
timeout: float | None | NotGiven = NOT_GIVEN,
4549
) -> SyncPage[AccountStatement]:
4650
"""
4751
List Account Statements
@@ -59,6 +63,8 @@ def list(
5963
extra_query: Add additional query parameters to the request
6064
6165
extra_body: Add additional JSON properties to the request
66+
67+
timeout: Override the client-level default timeout for this request, in seconds
6268
"""
6369
return self._get_api_list(
6470
"/account_statements",
@@ -67,6 +73,7 @@ def list(
6773
extra_headers=extra_headers,
6874
extra_query=extra_query,
6975
extra_body=extra_body,
76+
timeout=timeout,
7077
query=maybe_transform(
7178
{
7279
"cursor": cursor,
@@ -91,11 +98,14 @@ async def retrieve(
9198
extra_headers: Headers | None = None,
9299
extra_query: Query | None = None,
93100
extra_body: Body | None = None,
101+
timeout: float | None | NotGiven = NOT_GIVEN,
94102
) -> AccountStatement:
95103
"""Retrieve an Account Statement"""
96104
return await self._get(
97105
f"/account_statements/{account_statement_id}",
98-
options=make_request_options(extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body),
106+
options=make_request_options(
107+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
108+
),
99109
cast_to=AccountStatement,
100110
)
101111

@@ -111,6 +121,7 @@ def list(
111121
extra_headers: Headers | None = None,
112122
extra_query: Query | None = None,
113123
extra_body: Body | None = None,
124+
timeout: float | None | NotGiven = NOT_GIVEN,
114125
) -> AsyncPaginator[AccountStatement, AsyncPage[AccountStatement]]:
115126
"""
116127
List Account Statements
@@ -128,6 +139,8 @@ def list(
128139
extra_query: Add additional query parameters to the request
129140
130141
extra_body: Add additional JSON properties to the request
142+
143+
timeout: Override the client-level default timeout for this request, in seconds
131144
"""
132145
return self._get_api_list(
133146
"/account_statements",
@@ -136,6 +149,7 @@ def list(
136149
extra_headers=extra_headers,
137150
extra_query=extra_query,
138151
extra_body=extra_body,
152+
timeout=timeout,
139153
query=maybe_transform(
140154
{
141155
"cursor": cursor,

0 commit comments

Comments
 (0)