gmt-python-sdk 0.9.1__tar.gz → 0.10.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. gmt_python_sdk-0.10.0/.release-please-manifest.json +3 -0
  2. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/CHANGELOG.md +13 -0
  3. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/PKG-INFO +1 -1
  4. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/pyproject.toml +1 -1
  5. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_version.py +1 -1
  6. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/resources/accounts.py +28 -28
  7. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/resources/purchases.py +4 -4
  8. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/resources/webhooks.py +9 -9
  9. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/account_list_countries_params.py +10 -10
  10. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/account_list_params.py +10 -10
  11. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/purchase_list_params.py +3 -3
  12. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/webhook_test_params.py +3 -3
  13. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/api_resources/test_accounts.py +16 -64
  14. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/api_resources/test_purchases.py +6 -24
  15. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/api_resources/test_webhooks.py +18 -6
  16. gmt_python_sdk-0.9.1/.release-please-manifest.json +0 -3
  17. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/.gitignore +0 -0
  18. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/CONTRIBUTING.md +0 -0
  19. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/LICENSE +0 -0
  20. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/README.md +0 -0
  21. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/SECURITY.md +0 -0
  22. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/api.md +0 -0
  23. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/bin/check-release-environment +0 -0
  24. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/bin/publish-pypi +0 -0
  25. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/examples/.keep +0 -0
  26. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/release-please-config.json +0 -0
  27. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/requirements-dev.lock +0 -0
  28. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/__init__.py +0 -0
  29. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_base_client.py +0 -0
  30. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_client.py +0 -0
  31. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_compat.py +0 -0
  32. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_constants.py +0 -0
  33. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_exceptions.py +0 -0
  34. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_files.py +0 -0
  35. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_models.py +0 -0
  36. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_qs.py +0 -0
  37. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_resource.py +0 -0
  38. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_response.py +0 -0
  39. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_streaming.py +0 -0
  40. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_types.py +0 -0
  41. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_utils/__init__.py +0 -0
  42. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_utils/_compat.py +0 -0
  43. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_utils/_datetime_parse.py +0 -0
  44. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_utils/_logs.py +0 -0
  45. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_utils/_proxy.py +0 -0
  46. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_utils/_reflection.py +0 -0
  47. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_utils/_resources_proxy.py +0 -0
  48. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_utils/_streams.py +0 -0
  49. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_utils/_sync.py +0 -0
  50. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_utils/_transform.py +0 -0
  51. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_utils/_typing.py +0 -0
  52. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/_utils/_utils.py +0 -0
  53. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/lib/.keep +0 -0
  54. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/pagination.py +0 -0
  55. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/py.typed +0 -0
  56. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/resources/__init__.py +0 -0
  57. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/resources/profile.py +0 -0
  58. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/resources/service.py +0 -0
  59. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/__init__.py +0 -0
  60. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/account_list_countries_response.py +0 -0
  61. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/account_list_response.py +0 -0
  62. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/account_retrieve_response.py +0 -0
  63. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/profile_retrieve_response.py +0 -0
  64. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/purchase_create_params.py +0 -0
  65. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/purchase_create_response.py +0 -0
  66. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/purchase_list_response.py +0 -0
  67. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/purchase_refund_response.py +0 -0
  68. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/purchase_request_verification_code_params.py +0 -0
  69. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/purchase_request_verification_code_response.py +0 -0
  70. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/purchase_retrieve_response.py +0 -0
  71. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/service_get_server_time_response.py +0 -0
  72. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/service_health_check_response.py +0 -0
  73. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/src/gmt/types/webhook_test_response.py +0 -0
  74. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/__init__.py +0 -0
  75. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/api_resources/__init__.py +0 -0
  76. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/api_resources/test_profile.py +0 -0
  77. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/api_resources/test_service.py +0 -0
  78. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/conftest.py +0 -0
  79. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/sample_file.txt +0 -0
  80. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/test_client.py +0 -0
  81. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/test_deepcopy.py +0 -0
  82. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/test_extract_files.py +0 -0
  83. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/test_files.py +0 -0
  84. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/test_models.py +0 -0
  85. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/test_qs.py +0 -0
  86. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/test_required_args.py +0 -0
  87. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/test_response.py +0 -0
  88. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/test_streaming.py +0 -0
  89. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/test_transform.py +0 -0
  90. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/test_utils/test_datetime_parse.py +0 -0
  91. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/test_utils/test_proxy.py +0 -0
  92. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/test_utils/test_typing.py +0 -0
  93. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/tests/utils.py +0 -0
  94. {gmt_python_sdk-0.9.1 → gmt_python_sdk-0.10.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.10.0"
3
+ }
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.10.0 (2025-12-19)
4
+
5
+ Full Changelog: [v0.9.1...v0.10.0](https://github.com/cameo6/gmt-python-sdk/compare/v0.9.1...v0.10.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([c34332a](https://github.com/cameo6/gmt-python-sdk/commit/c34332a8618301f5674dcf581e56bea5974a2c43))
10
+
11
+
12
+ ### Chores
13
+
14
+ * **internal:** add `--fix` argument to lint script ([6479356](https://github.com/cameo6/gmt-python-sdk/commit/647935661dfca80dfdd23a8ee5edf945a15cf5d2))
15
+
3
16
  ## 0.9.1 (2025-12-18)
4
17
 
5
18
  Full Changelog: [v0.9.0...v0.9.1](https://github.com/cameo6/gmt-python-sdk/compare/v0.9.0...v0.9.1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: gmt-python-sdk
3
- Version: 0.9.1
3
+ Version: 0.10.0
4
4
  Summary: The official Python library for the gmt API
5
5
  Project-URL: Homepage, https://github.com/cameo6/gmt-python-sdk
6
6
  Project-URL: Repository, https://github.com/cameo6/gmt-python-sdk
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "gmt-python-sdk"
3
- version = "0.9.1"
3
+ version = "0.10.0"
4
4
  description = "The official Python library for the gmt API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "gmt"
4
- __version__ = "0.9.1" # x-release-please-version
4
+ __version__ = "0.10.0" # x-release-please-version
@@ -85,10 +85,10 @@ class AccountsResource(SyncAPIResource):
85
85
  def list(
86
86
  self,
87
87
  *,
88
- page: int,
89
- page_size: int,
90
- sort: Literal["price_asc", "price_desc", "name_asc", "name_desc"],
91
88
  country_codes: str | Omit = omit,
89
+ page: int | Omit = omit,
90
+ page_size: int | Omit = omit,
91
+ sort: Literal["price_asc", "price_desc", "name_asc", "name_desc"] | Omit = omit,
92
92
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
93
93
  # The extra values given here take precedence over values defined on the client or passed to this method.
94
94
  extra_headers: Headers | None = None,
@@ -100,15 +100,15 @@ class AccountsResource(SyncAPIResource):
100
100
  Returns paginated list of accounts with filtering and sorting options.
101
101
 
102
102
  Args:
103
+ country_codes: Filter by country codes. Comma-separated list of ISO 3166-1 alpha-2 codes (e.g.,
104
+ 'US,RU,GB').
105
+
103
106
  page: Page number.
104
107
 
105
108
  page_size: Number of items per page.
106
109
 
107
110
  sort: Sort order for accounts.
108
111
 
109
- country_codes: Filter by country codes. Comma-separated list of ISO 3166-1 alpha-2 codes (e.g.,
110
- 'US,RU,GB').
111
-
112
112
  extra_headers: Send extra headers
113
113
 
114
114
  extra_query: Add additional query parameters to the request
@@ -127,10 +127,10 @@ class AccountsResource(SyncAPIResource):
127
127
  timeout=timeout,
128
128
  query=maybe_transform(
129
129
  {
130
+ "country_codes": country_codes,
130
131
  "page": page,
131
132
  "page_size": page_size,
132
133
  "sort": sort,
133
- "country_codes": country_codes,
134
134
  },
135
135
  account_list_params.AccountListParams,
136
136
  ),
@@ -141,10 +141,10 @@ class AccountsResource(SyncAPIResource):
141
141
  def list_countries(
142
142
  self,
143
143
  *,
144
- page: int,
145
- page_size: int,
146
- sort: Literal["price_asc", "price_desc", "name_asc", "name_desc"],
147
144
  country_codes: str | Omit = omit,
145
+ page: int | Omit = omit,
146
+ page_size: int | Omit = omit,
147
+ sort: Literal["price_asc", "price_desc", "name_asc", "name_desc"] | Omit = omit,
148
148
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
149
149
  # The extra values given here take precedence over values defined on the client or passed to this method.
150
150
  extra_headers: Headers | None = None,
@@ -157,15 +157,15 @@ class AccountsResource(SyncAPIResource):
157
157
  availability. No authentication required.
158
158
 
159
159
  Args:
160
+ country_codes: Filter by country codes. Comma-separated list of ISO 3166-1 alpha-2 codes (e.g.,
161
+ 'US,RU,GB').
162
+
160
163
  page: Page number.
161
164
 
162
165
  page_size: Number of items per page.
163
166
 
164
167
  sort: Sort order for accounts.
165
168
 
166
- country_codes: Filter by country codes. Comma-separated list of ISO 3166-1 alpha-2 codes (e.g.,
167
- 'US,RU,GB').
168
-
169
169
  extra_headers: Send extra headers
170
170
 
171
171
  extra_query: Add additional query parameters to the request
@@ -184,10 +184,10 @@ class AccountsResource(SyncAPIResource):
184
184
  timeout=timeout,
185
185
  query=maybe_transform(
186
186
  {
187
+ "country_codes": country_codes,
187
188
  "page": page,
188
189
  "page_size": page_size,
189
190
  "sort": sort,
190
- "country_codes": country_codes,
191
191
  },
192
192
  account_list_countries_params.AccountListCountriesParams,
193
193
  ),
@@ -255,10 +255,10 @@ class AsyncAccountsResource(AsyncAPIResource):
255
255
  def list(
256
256
  self,
257
257
  *,
258
- page: int,
259
- page_size: int,
260
- sort: Literal["price_asc", "price_desc", "name_asc", "name_desc"],
261
258
  country_codes: str | Omit = omit,
259
+ page: int | Omit = omit,
260
+ page_size: int | Omit = omit,
261
+ sort: Literal["price_asc", "price_desc", "name_asc", "name_desc"] | Omit = omit,
262
262
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
263
263
  # The extra values given here take precedence over values defined on the client or passed to this method.
264
264
  extra_headers: Headers | None = None,
@@ -270,15 +270,15 @@ class AsyncAccountsResource(AsyncAPIResource):
270
270
  Returns paginated list of accounts with filtering and sorting options.
271
271
 
272
272
  Args:
273
+ country_codes: Filter by country codes. Comma-separated list of ISO 3166-1 alpha-2 codes (e.g.,
274
+ 'US,RU,GB').
275
+
273
276
  page: Page number.
274
277
 
275
278
  page_size: Number of items per page.
276
279
 
277
280
  sort: Sort order for accounts.
278
281
 
279
- country_codes: Filter by country codes. Comma-separated list of ISO 3166-1 alpha-2 codes (e.g.,
280
- 'US,RU,GB').
281
-
282
282
  extra_headers: Send extra headers
283
283
 
284
284
  extra_query: Add additional query parameters to the request
@@ -297,10 +297,10 @@ class AsyncAccountsResource(AsyncAPIResource):
297
297
  timeout=timeout,
298
298
  query=maybe_transform(
299
299
  {
300
+ "country_codes": country_codes,
300
301
  "page": page,
301
302
  "page_size": page_size,
302
303
  "sort": sort,
303
- "country_codes": country_codes,
304
304
  },
305
305
  account_list_params.AccountListParams,
306
306
  ),
@@ -311,10 +311,10 @@ class AsyncAccountsResource(AsyncAPIResource):
311
311
  def list_countries(
312
312
  self,
313
313
  *,
314
- page: int,
315
- page_size: int,
316
- sort: Literal["price_asc", "price_desc", "name_asc", "name_desc"],
317
314
  country_codes: str | Omit = omit,
315
+ page: int | Omit = omit,
316
+ page_size: int | Omit = omit,
317
+ sort: Literal["price_asc", "price_desc", "name_asc", "name_desc"] | Omit = omit,
318
318
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
319
319
  # The extra values given here take precedence over values defined on the client or passed to this method.
320
320
  extra_headers: Headers | None = None,
@@ -327,15 +327,15 @@ class AsyncAccountsResource(AsyncAPIResource):
327
327
  availability. No authentication required.
328
328
 
329
329
  Args:
330
+ country_codes: Filter by country codes. Comma-separated list of ISO 3166-1 alpha-2 codes (e.g.,
331
+ 'US,RU,GB').
332
+
330
333
  page: Page number.
331
334
 
332
335
  page_size: Number of items per page.
333
336
 
334
337
  sort: Sort order for accounts.
335
338
 
336
- country_codes: Filter by country codes. Comma-separated list of ISO 3166-1 alpha-2 codes (e.g.,
337
- 'US,RU,GB').
338
-
339
339
  extra_headers: Send extra headers
340
340
 
341
341
  extra_query: Add additional query parameters to the request
@@ -354,10 +354,10 @@ class AsyncAccountsResource(AsyncAPIResource):
354
354
  timeout=timeout,
355
355
  query=maybe_transform(
356
356
  {
357
+ "country_codes": country_codes,
357
358
  "page": page,
358
359
  "page_size": page_size,
359
360
  "sort": sort,
360
- "country_codes": country_codes,
361
361
  },
362
362
  account_list_countries_params.AccountListCountriesParams,
363
363
  ),
@@ -136,8 +136,8 @@ class PurchasesResource(SyncAPIResource):
136
136
  def list(
137
137
  self,
138
138
  *,
139
- page: int,
140
- page_size: int,
139
+ page: int | Omit = omit,
140
+ page_size: int | Omit = omit,
141
141
  status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"] | Omit = omit,
142
142
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
143
143
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -421,8 +421,8 @@ class AsyncPurchasesResource(AsyncAPIResource):
421
421
  def list(
422
422
  self,
423
423
  *,
424
- page: int,
425
- page_size: int,
424
+ page: int | Omit = omit,
425
+ page_size: int | Omit = omit,
426
426
  status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"] | Omit = omit,
427
427
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
428
428
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -7,7 +7,7 @@ from typing_extensions import Literal
7
7
  import httpx
8
8
 
9
9
  from ..types import webhook_test_params
10
- from .._types import Body, Query, Headers, NotGiven, not_given
10
+ from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
11
11
  from .._utils import maybe_transform, async_maybe_transform
12
12
  from .._compat import cached_property
13
13
  from .._resource import SyncAPIResource, AsyncAPIResource
@@ -46,8 +46,8 @@ class WebhooksResource(SyncAPIResource):
46
46
  def test(
47
47
  self,
48
48
  *,
49
- type: Literal["success", "failed"],
50
49
  url: str,
50
+ type: Literal["success", "failed"] | Omit = omit,
51
51
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
52
52
  # The extra values given here take precedence over values defined on the client or passed to this method.
53
53
  extra_headers: Headers | None = None,
@@ -73,10 +73,10 @@ class WebhooksResource(SyncAPIResource):
73
73
  **No persistence.** Test webhooks are not stored in delivery history.
74
74
 
75
75
  Args:
76
- type: Webhook payload type to send: `success` or `failed`.
77
-
78
76
  url: Webhook endpoint URL. Must be a valid URL.
79
77
 
78
+ type: Webhook payload type to send: `success` or `failed`.
79
+
80
80
  extra_headers: Send extra headers
81
81
 
82
82
  extra_query: Add additional query parameters to the request
@@ -89,8 +89,8 @@ class WebhooksResource(SyncAPIResource):
89
89
  "/v1/webhooks/test",
90
90
  body=maybe_transform(
91
91
  {
92
- "type": type,
93
92
  "url": url,
93
+ "type": type,
94
94
  },
95
95
  webhook_test_params.WebhookTestParams,
96
96
  ),
@@ -124,8 +124,8 @@ class AsyncWebhooksResource(AsyncAPIResource):
124
124
  async def test(
125
125
  self,
126
126
  *,
127
- type: Literal["success", "failed"],
128
127
  url: str,
128
+ type: Literal["success", "failed"] | Omit = omit,
129
129
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
130
130
  # The extra values given here take precedence over values defined on the client or passed to this method.
131
131
  extra_headers: Headers | None = None,
@@ -151,10 +151,10 @@ class AsyncWebhooksResource(AsyncAPIResource):
151
151
  **No persistence.** Test webhooks are not stored in delivery history.
152
152
 
153
153
  Args:
154
- type: Webhook payload type to send: `success` or `failed`.
155
-
156
154
  url: Webhook endpoint URL. Must be a valid URL.
157
155
 
156
+ type: Webhook payload type to send: `success` or `failed`.
157
+
158
158
  extra_headers: Send extra headers
159
159
 
160
160
  extra_query: Add additional query parameters to the request
@@ -167,8 +167,8 @@ class AsyncWebhooksResource(AsyncAPIResource):
167
167
  "/v1/webhooks/test",
168
168
  body=await async_maybe_transform(
169
169
  {
170
- "type": type,
171
170
  "url": url,
171
+ "type": type,
172
172
  },
173
173
  webhook_test_params.WebhookTestParams,
174
174
  ),
@@ -2,23 +2,23 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing_extensions import Literal, Required, TypedDict
5
+ from typing_extensions import Literal, TypedDict
6
6
 
7
7
  __all__ = ["AccountListCountriesParams"]
8
8
 
9
9
 
10
10
  class AccountListCountriesParams(TypedDict, total=False):
11
- page: Required[int]
12
- """Page number."""
13
-
14
- page_size: Required[int]
15
- """Number of items per page."""
16
-
17
- sort: Required[Literal["price_asc", "price_desc", "name_asc", "name_desc"]]
18
- """Sort order for accounts."""
19
-
20
11
  country_codes: str
21
12
  """Filter by country codes.
22
13
 
23
14
  Comma-separated list of ISO 3166-1 alpha-2 codes (e.g., 'US,RU,GB').
24
15
  """
16
+
17
+ page: int
18
+ """Page number."""
19
+
20
+ page_size: int
21
+ """Number of items per page."""
22
+
23
+ sort: Literal["price_asc", "price_desc", "name_asc", "name_desc"]
24
+ """Sort order for accounts."""
@@ -2,23 +2,23 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing_extensions import Literal, Required, TypedDict
5
+ from typing_extensions import Literal, TypedDict
6
6
 
7
7
  __all__ = ["AccountListParams"]
8
8
 
9
9
 
10
10
  class AccountListParams(TypedDict, total=False):
11
- page: Required[int]
12
- """Page number."""
13
-
14
- page_size: Required[int]
15
- """Number of items per page."""
16
-
17
- sort: Required[Literal["price_asc", "price_desc", "name_asc", "name_desc"]]
18
- """Sort order for accounts."""
19
-
20
11
  country_codes: str
21
12
  """Filter by country codes.
22
13
 
23
14
  Comma-separated list of ISO 3166-1 alpha-2 codes (e.g., 'US,RU,GB').
24
15
  """
16
+
17
+ page: int
18
+ """Page number."""
19
+
20
+ page_size: int
21
+ """Number of items per page."""
22
+
23
+ sort: Literal["price_asc", "price_desc", "name_asc", "name_desc"]
24
+ """Sort order for accounts."""
@@ -2,16 +2,16 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing_extensions import Literal, Required, TypedDict
5
+ from typing_extensions import Literal, TypedDict
6
6
 
7
7
  __all__ = ["PurchaseListParams"]
8
8
 
9
9
 
10
10
  class PurchaseListParams(TypedDict, total=False):
11
- page: Required[int]
11
+ page: int
12
12
  """Page number."""
13
13
 
14
- page_size: Required[int]
14
+ page_size: int
15
15
  """Number of items per page."""
16
16
 
17
17
  status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"]
@@ -8,8 +8,8 @@ __all__ = ["WebhookTestParams"]
8
8
 
9
9
 
10
10
  class WebhookTestParams(TypedDict, total=False):
11
- type: Required[Literal["success", "failed"]]
12
- """Webhook payload type to send: `success` or `failed`."""
13
-
14
11
  url: Required[str]
15
12
  """Webhook endpoint URL. Must be a valid URL."""
13
+
14
+ type: Literal["success", "failed"]
15
+ """Webhook payload type to send: `success` or `failed`."""
@@ -67,32 +67,24 @@ class TestAccounts:
67
67
  @pytest.mark.skip(reason="Prism tests are disabled")
68
68
  @parametrize
69
69
  def test_method_list(self, client: Gmt) -> None:
70
- account = client.accounts.list(
71
- page=1,
72
- page_size=50,
73
- sort="price_asc",
74
- )
70
+ account = client.accounts.list()
75
71
  assert_matches_type(SyncPageNumber[AccountListResponse], account, path=["response"])
76
72
 
77
73
  @pytest.mark.skip(reason="Prism tests are disabled")
78
74
  @parametrize
79
75
  def test_method_list_with_all_params(self, client: Gmt) -> None:
80
76
  account = client.accounts.list(
77
+ country_codes="US,RU,GB",
81
78
  page=1,
82
79
  page_size=50,
83
80
  sort="price_asc",
84
- country_codes="US,RU,GB",
85
81
  )
86
82
  assert_matches_type(SyncPageNumber[AccountListResponse], account, path=["response"])
87
83
 
88
84
  @pytest.mark.skip(reason="Prism tests are disabled")
89
85
  @parametrize
90
86
  def test_raw_response_list(self, client: Gmt) -> None:
91
- response = client.accounts.with_raw_response.list(
92
- page=1,
93
- page_size=50,
94
- sort="price_asc",
95
- )
87
+ response = client.accounts.with_raw_response.list()
96
88
 
97
89
  assert response.is_closed is True
98
90
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -102,11 +94,7 @@ class TestAccounts:
102
94
  @pytest.mark.skip(reason="Prism tests are disabled")
103
95
  @parametrize
104
96
  def test_streaming_response_list(self, client: Gmt) -> None:
105
- with client.accounts.with_streaming_response.list(
106
- page=1,
107
- page_size=50,
108
- sort="price_asc",
109
- ) as response:
97
+ with client.accounts.with_streaming_response.list() as response:
110
98
  assert not response.is_closed
111
99
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
112
100
 
@@ -118,32 +106,24 @@ class TestAccounts:
118
106
  @pytest.mark.skip(reason="Prism tests are disabled")
119
107
  @parametrize
120
108
  def test_method_list_countries(self, client: Gmt) -> None:
121
- account = client.accounts.list_countries(
122
- page=1,
123
- page_size=50,
124
- sort="price_asc",
125
- )
109
+ account = client.accounts.list_countries()
126
110
  assert_matches_type(SyncPageNumber[AccountListCountriesResponse], account, path=["response"])
127
111
 
128
112
  @pytest.mark.skip(reason="Prism tests are disabled")
129
113
  @parametrize
130
114
  def test_method_list_countries_with_all_params(self, client: Gmt) -> None:
131
115
  account = client.accounts.list_countries(
116
+ country_codes="US,RU,GB",
132
117
  page=1,
133
118
  page_size=50,
134
119
  sort="price_asc",
135
- country_codes="US,RU,GB",
136
120
  )
137
121
  assert_matches_type(SyncPageNumber[AccountListCountriesResponse], account, path=["response"])
138
122
 
139
123
  @pytest.mark.skip(reason="Prism tests are disabled")
140
124
  @parametrize
141
125
  def test_raw_response_list_countries(self, client: Gmt) -> None:
142
- response = client.accounts.with_raw_response.list_countries(
143
- page=1,
144
- page_size=50,
145
- sort="price_asc",
146
- )
126
+ response = client.accounts.with_raw_response.list_countries()
147
127
 
148
128
  assert response.is_closed is True
149
129
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -153,11 +133,7 @@ class TestAccounts:
153
133
  @pytest.mark.skip(reason="Prism tests are disabled")
154
134
  @parametrize
155
135
  def test_streaming_response_list_countries(self, client: Gmt) -> None:
156
- with client.accounts.with_streaming_response.list_countries(
157
- page=1,
158
- page_size=50,
159
- sort="price_asc",
160
- ) as response:
136
+ with client.accounts.with_streaming_response.list_countries() as response:
161
137
  assert not response.is_closed
162
138
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
163
139
 
@@ -217,32 +193,24 @@ class TestAsyncAccounts:
217
193
  @pytest.mark.skip(reason="Prism tests are disabled")
218
194
  @parametrize
219
195
  async def test_method_list(self, async_client: AsyncGmt) -> None:
220
- account = await async_client.accounts.list(
221
- page=1,
222
- page_size=50,
223
- sort="price_asc",
224
- )
196
+ account = await async_client.accounts.list()
225
197
  assert_matches_type(AsyncPageNumber[AccountListResponse], account, path=["response"])
226
198
 
227
199
  @pytest.mark.skip(reason="Prism tests are disabled")
228
200
  @parametrize
229
201
  async def test_method_list_with_all_params(self, async_client: AsyncGmt) -> None:
230
202
  account = await async_client.accounts.list(
203
+ country_codes="US,RU,GB",
231
204
  page=1,
232
205
  page_size=50,
233
206
  sort="price_asc",
234
- country_codes="US,RU,GB",
235
207
  )
236
208
  assert_matches_type(AsyncPageNumber[AccountListResponse], account, path=["response"])
237
209
 
238
210
  @pytest.mark.skip(reason="Prism tests are disabled")
239
211
  @parametrize
240
212
  async def test_raw_response_list(self, async_client: AsyncGmt) -> None:
241
- response = await async_client.accounts.with_raw_response.list(
242
- page=1,
243
- page_size=50,
244
- sort="price_asc",
245
- )
213
+ response = await async_client.accounts.with_raw_response.list()
246
214
 
247
215
  assert response.is_closed is True
248
216
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -252,11 +220,7 @@ class TestAsyncAccounts:
252
220
  @pytest.mark.skip(reason="Prism tests are disabled")
253
221
  @parametrize
254
222
  async def test_streaming_response_list(self, async_client: AsyncGmt) -> None:
255
- async with async_client.accounts.with_streaming_response.list(
256
- page=1,
257
- page_size=50,
258
- sort="price_asc",
259
- ) as response:
223
+ async with async_client.accounts.with_streaming_response.list() as response:
260
224
  assert not response.is_closed
261
225
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
262
226
 
@@ -268,32 +232,24 @@ class TestAsyncAccounts:
268
232
  @pytest.mark.skip(reason="Prism tests are disabled")
269
233
  @parametrize
270
234
  async def test_method_list_countries(self, async_client: AsyncGmt) -> None:
271
- account = await async_client.accounts.list_countries(
272
- page=1,
273
- page_size=50,
274
- sort="price_asc",
275
- )
235
+ account = await async_client.accounts.list_countries()
276
236
  assert_matches_type(AsyncPageNumber[AccountListCountriesResponse], account, path=["response"])
277
237
 
278
238
  @pytest.mark.skip(reason="Prism tests are disabled")
279
239
  @parametrize
280
240
  async def test_method_list_countries_with_all_params(self, async_client: AsyncGmt) -> None:
281
241
  account = await async_client.accounts.list_countries(
242
+ country_codes="US,RU,GB",
282
243
  page=1,
283
244
  page_size=50,
284
245
  sort="price_asc",
285
- country_codes="US,RU,GB",
286
246
  )
287
247
  assert_matches_type(AsyncPageNumber[AccountListCountriesResponse], account, path=["response"])
288
248
 
289
249
  @pytest.mark.skip(reason="Prism tests are disabled")
290
250
  @parametrize
291
251
  async def test_raw_response_list_countries(self, async_client: AsyncGmt) -> None:
292
- response = await async_client.accounts.with_raw_response.list_countries(
293
- page=1,
294
- page_size=50,
295
- sort="price_asc",
296
- )
252
+ response = await async_client.accounts.with_raw_response.list_countries()
297
253
 
298
254
  assert response.is_closed is True
299
255
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -303,11 +259,7 @@ class TestAsyncAccounts:
303
259
  @pytest.mark.skip(reason="Prism tests are disabled")
304
260
  @parametrize
305
261
  async def test_streaming_response_list_countries(self, async_client: AsyncGmt) -> None:
306
- async with async_client.accounts.with_streaming_response.list_countries(
307
- page=1,
308
- page_size=50,
309
- sort="price_asc",
310
- ) as response:
262
+ async with async_client.accounts.with_streaming_response.list_countries() as response:
311
263
  assert not response.is_closed
312
264
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
313
265
 
@@ -95,10 +95,7 @@ class TestPurchases:
95
95
  @pytest.mark.skip(reason="Prism tests are disabled")
96
96
  @parametrize
97
97
  def test_method_list(self, client: Gmt) -> None:
98
- purchase = client.purchases.list(
99
- page=1,
100
- page_size=50,
101
- )
98
+ purchase = client.purchases.list()
102
99
  assert_matches_type(SyncPageNumber[PurchaseListResponse], purchase, path=["response"])
103
100
 
104
101
  @pytest.mark.skip(reason="Prism tests are disabled")
@@ -114,10 +111,7 @@ class TestPurchases:
114
111
  @pytest.mark.skip(reason="Prism tests are disabled")
115
112
  @parametrize
116
113
  def test_raw_response_list(self, client: Gmt) -> None:
117
- response = client.purchases.with_raw_response.list(
118
- page=1,
119
- page_size=50,
120
- )
114
+ response = client.purchases.with_raw_response.list()
121
115
 
122
116
  assert response.is_closed is True
123
117
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -127,10 +121,7 @@ class TestPurchases:
127
121
  @pytest.mark.skip(reason="Prism tests are disabled")
128
122
  @parametrize
129
123
  def test_streaming_response_list(self, client: Gmt) -> None:
130
- with client.purchases.with_streaming_response.list(
131
- page=1,
132
- page_size=50,
133
- ) as response:
124
+ with client.purchases.with_streaming_response.list() as response:
134
125
  assert not response.is_closed
135
126
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
136
127
 
@@ -293,10 +284,7 @@ class TestAsyncPurchases:
293
284
  @pytest.mark.skip(reason="Prism tests are disabled")
294
285
  @parametrize
295
286
  async def test_method_list(self, async_client: AsyncGmt) -> None:
296
- purchase = await async_client.purchases.list(
297
- page=1,
298
- page_size=50,
299
- )
287
+ purchase = await async_client.purchases.list()
300
288
  assert_matches_type(AsyncPageNumber[PurchaseListResponse], purchase, path=["response"])
301
289
 
302
290
  @pytest.mark.skip(reason="Prism tests are disabled")
@@ -312,10 +300,7 @@ class TestAsyncPurchases:
312
300
  @pytest.mark.skip(reason="Prism tests are disabled")
313
301
  @parametrize
314
302
  async def test_raw_response_list(self, async_client: AsyncGmt) -> None:
315
- response = await async_client.purchases.with_raw_response.list(
316
- page=1,
317
- page_size=50,
318
- )
303
+ response = await async_client.purchases.with_raw_response.list()
319
304
 
320
305
  assert response.is_closed is True
321
306
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -325,10 +310,7 @@ class TestAsyncPurchases:
325
310
  @pytest.mark.skip(reason="Prism tests are disabled")
326
311
  @parametrize
327
312
  async def test_streaming_response_list(self, async_client: AsyncGmt) -> None:
328
- async with async_client.purchases.with_streaming_response.list(
329
- page=1,
330
- page_size=50,
331
- ) as response:
313
+ async with async_client.purchases.with_streaming_response.list() as response:
332
314
  assert not response.is_closed
333
315
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
334
316
 
@@ -21,16 +21,23 @@ class TestWebhooks:
21
21
  @parametrize
22
22
  def test_method_test(self, client: Gmt) -> None:
23
23
  webhook = client.webhooks.test(
24
- type="success",
25
24
  url="https://example.com/webhooks/handler",
26
25
  )
27
26
  assert_matches_type(WebhookTestResponse, webhook, path=["response"])
28
27
 
28
+ @pytest.mark.skip(reason="Prism tests are disabled")
29
+ @parametrize
30
+ def test_method_test_with_all_params(self, client: Gmt) -> None:
31
+ webhook = client.webhooks.test(
32
+ url="https://example.com/webhooks/handler",
33
+ type="success",
34
+ )
35
+ assert_matches_type(WebhookTestResponse, webhook, path=["response"])
36
+
29
37
  @pytest.mark.skip(reason="Prism tests are disabled")
30
38
  @parametrize
31
39
  def test_raw_response_test(self, client: Gmt) -> None:
32
40
  response = client.webhooks.with_raw_response.test(
33
- type="success",
34
41
  url="https://example.com/webhooks/handler",
35
42
  )
36
43
 
@@ -43,7 +50,6 @@ class TestWebhooks:
43
50
  @parametrize
44
51
  def test_streaming_response_test(self, client: Gmt) -> None:
45
52
  with client.webhooks.with_streaming_response.test(
46
- type="success",
47
53
  url="https://example.com/webhooks/handler",
48
54
  ) as response:
49
55
  assert not response.is_closed
@@ -64,16 +70,23 @@ class TestAsyncWebhooks:
64
70
  @parametrize
65
71
  async def test_method_test(self, async_client: AsyncGmt) -> None:
66
72
  webhook = await async_client.webhooks.test(
67
- type="success",
68
73
  url="https://example.com/webhooks/handler",
69
74
  )
70
75
  assert_matches_type(WebhookTestResponse, webhook, path=["response"])
71
76
 
77
+ @pytest.mark.skip(reason="Prism tests are disabled")
78
+ @parametrize
79
+ async def test_method_test_with_all_params(self, async_client: AsyncGmt) -> None:
80
+ webhook = await async_client.webhooks.test(
81
+ url="https://example.com/webhooks/handler",
82
+ type="success",
83
+ )
84
+ assert_matches_type(WebhookTestResponse, webhook, path=["response"])
85
+
72
86
  @pytest.mark.skip(reason="Prism tests are disabled")
73
87
  @parametrize
74
88
  async def test_raw_response_test(self, async_client: AsyncGmt) -> None:
75
89
  response = await async_client.webhooks.with_raw_response.test(
76
- type="success",
77
90
  url="https://example.com/webhooks/handler",
78
91
  )
79
92
 
@@ -86,7 +99,6 @@ class TestAsyncWebhooks:
86
99
  @parametrize
87
100
  async def test_streaming_response_test(self, async_client: AsyncGmt) -> None:
88
101
  async with async_client.webhooks.with_streaming_response.test(
89
- type="success",
90
102
  url="https://example.com/webhooks/handler",
91
103
  ) as response:
92
104
  assert not response.is_closed
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.9.1"
3
- }
File without changes
File without changes
File without changes