gmt-python-sdk 0.35.0__tar.gz → 0.36.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 (153) hide show
  1. gmt_python_sdk-0.36.0/.release-please-manifest.json +3 -0
  2. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/CHANGELOG.md +16 -0
  3. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/PKG-INFO +1 -1
  4. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/pyproject.toml +1 -1
  5. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_utils/_utils.py +3 -2
  6. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_version.py +1 -1
  7. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/purchases/purchases.py +2 -2
  8. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchase_create_response.py +1 -1
  9. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchase_list_params.py +1 -1
  10. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchase_list_response.py +1 -1
  11. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchase_refund_response.py +1 -1
  12. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchase_request_verification_code_response.py +1 -1
  13. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchase_retrieve_response.py +1 -1
  14. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchases/bulk_create_response.py +2 -2
  15. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchases/bulk_retrieve_response.py +2 -2
  16. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchases_by_hash_request_verification_code_response.py +1 -1
  17. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchases_by_hash_retrieve_response.py +1 -1
  18. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_extract_files.py +9 -0
  19. gmt_python_sdk-0.35.0/.release-please-manifest.json +0 -3
  20. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/.gitignore +0 -0
  21. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/CONTRIBUTING.md +0 -0
  22. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/LICENSE +0 -0
  23. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/README.md +0 -0
  24. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/SECURITY.md +0 -0
  25. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/api.md +0 -0
  26. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/bin/check-release-environment +0 -0
  27. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/bin/publish-pypi +0 -0
  28. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/examples/.keep +0 -0
  29. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/release-please-config.json +0 -0
  30. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/requirements-dev.lock +0 -0
  31. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/__init__.py +0 -0
  32. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_base_client.py +0 -0
  33. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_client.py +0 -0
  34. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_compat.py +0 -0
  35. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_constants.py +0 -0
  36. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_exceptions.py +0 -0
  37. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_files.py +0 -0
  38. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_models.py +0 -0
  39. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_qs.py +0 -0
  40. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_resource.py +0 -0
  41. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_response.py +0 -0
  42. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_streaming.py +0 -0
  43. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_types.py +0 -0
  44. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_utils/__init__.py +0 -0
  45. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_utils/_compat.py +0 -0
  46. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_utils/_datetime_parse.py +0 -0
  47. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_utils/_json.py +0 -0
  48. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_utils/_logs.py +0 -0
  49. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_utils/_path.py +0 -0
  50. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_utils/_proxy.py +0 -0
  51. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_utils/_reflection.py +0 -0
  52. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_utils/_resources_proxy.py +0 -0
  53. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_utils/_streams.py +0 -0
  54. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_utils/_sync.py +0 -0
  55. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_utils/_transform.py +0 -0
  56. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/_utils/_typing.py +0 -0
  57. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/lib/.keep +0 -0
  58. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/pagination.py +0 -0
  59. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/py.typed +0 -0
  60. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/__init__.py +0 -0
  61. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/accounts.py +0 -0
  62. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/profile/__init__.py +0 -0
  63. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/profile/discount.py +0 -0
  64. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/profile/profile.py +0 -0
  65. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/profile/referral/__init__.py +0 -0
  66. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/profile/referral/referral.py +0 -0
  67. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/profile/referral/transaction.py +0 -0
  68. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/purchases/__init__.py +0 -0
  69. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/purchases/bulk.py +0 -0
  70. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/purchases_by_hash.py +0 -0
  71. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/service.py +0 -0
  72. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/telegram/__init__.py +0 -0
  73. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/telegram/purchases.py +0 -0
  74. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/telegram/telegram.py +0 -0
  75. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/resources/webhooks.py +0 -0
  76. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/__init__.py +0 -0
  77. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/account_list_countries_params.py +0 -0
  78. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/account_list_countries_response.py +0 -0
  79. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/account_list_params.py +0 -0
  80. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/account_list_response.py +0 -0
  81. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/account_retrieve_response.py +0 -0
  82. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/profile/__init__.py +0 -0
  83. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/profile/discount_retrieve_response.py +0 -0
  84. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/profile/referral/__init__.py +0 -0
  85. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/profile/referral/transaction_list_params.py +0 -0
  86. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/profile/referral/transaction_list_response.py +0 -0
  87. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/profile/referral_retrieve_response.py +0 -0
  88. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/profile/referral_transfer_balance_params.py +0 -0
  89. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/profile/referral_transfer_balance_response.py +0 -0
  90. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/profile_change_login_params.py +0 -0
  91. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/profile_change_login_response.py +0 -0
  92. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/profile_change_password_params.py +0 -0
  93. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/profile_change_password_response.py +0 -0
  94. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/profile_retrieve_response.py +0 -0
  95. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/profile_unbind_telegram_response.py +0 -0
  96. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchase_create_params.py +0 -0
  97. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchase_request_verification_code_params.py +0 -0
  98. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchases/__init__.py +0 -0
  99. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchases/bulk_create_params.py +0 -0
  100. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/purchases_by_hash_request_verification_code_params.py +0 -0
  101. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/service_get_server_time_response.py +0 -0
  102. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/service_health_check_response.py +0 -0
  103. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/telegram/__init__.py +0 -0
  104. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/telegram/purchase_create_premium_params.py +0 -0
  105. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/telegram/purchase_create_premium_response.py +0 -0
  106. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/telegram/purchase_create_stars_params.py +0 -0
  107. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/telegram/purchase_create_stars_response.py +0 -0
  108. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/telegram/purchase_list_premium_params.py +0 -0
  109. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/telegram/purchase_list_premium_response.py +0 -0
  110. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/telegram/purchase_list_stars_params.py +0 -0
  111. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/telegram/purchase_list_stars_response.py +0 -0
  112. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/telegram_get_premium_price_params.py +0 -0
  113. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/telegram_get_premium_price_response.py +0 -0
  114. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/telegram_get_stars_price_params.py +0 -0
  115. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/telegram_get_stars_price_response.py +0 -0
  116. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/webhook_test_params.py +0 -0
  117. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/src/gmt/types/webhook_test_response.py +0 -0
  118. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/__init__.py +0 -0
  119. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/__init__.py +0 -0
  120. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/profile/__init__.py +0 -0
  121. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/profile/referral/__init__.py +0 -0
  122. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/profile/referral/test_transaction.py +0 -0
  123. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/profile/test_discount.py +0 -0
  124. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/profile/test_referral.py +0 -0
  125. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/purchases/__init__.py +0 -0
  126. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/purchases/test_bulk.py +0 -0
  127. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/telegram/__init__.py +0 -0
  128. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/telegram/test_purchases.py +0 -0
  129. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/test_accounts.py +0 -0
  130. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/test_profile.py +0 -0
  131. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/test_purchases.py +0 -0
  132. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/test_purchases_by_hash.py +0 -0
  133. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/test_service.py +0 -0
  134. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/test_telegram.py +0 -0
  135. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/api_resources/test_webhooks.py +0 -0
  136. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/conftest.py +0 -0
  137. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/sample_file.txt +0 -0
  138. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_client.py +0 -0
  139. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_deepcopy.py +0 -0
  140. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_files.py +0 -0
  141. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_models.py +0 -0
  142. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_qs.py +0 -0
  143. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_required_args.py +0 -0
  144. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_response.py +0 -0
  145. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_streaming.py +0 -0
  146. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_transform.py +0 -0
  147. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_utils/test_datetime_parse.py +0 -0
  148. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_utils/test_json.py +0 -0
  149. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_utils/test_path.py +0 -0
  150. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_utils/test_proxy.py +0 -0
  151. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/test_utils/test_typing.py +0 -0
  152. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/tests/utils.py +0 -0
  153. {gmt_python_sdk-0.35.0 → gmt_python_sdk-0.36.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.36.0"
3
+ }
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.36.0 (2026-04-11)
4
+
5
+ Full Changelog: [v0.35.1...v0.36.0](https://github.com/cameo6/gmt-python-sdk/compare/v0.35.1...v0.36.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([8a698e3](https://github.com/cameo6/gmt-python-sdk/commit/8a698e3b7766f2a73b6d555df4f00c1579ce110d))
10
+
11
+ ## 0.35.1 (2026-04-11)
12
+
13
+ Full Changelog: [v0.35.0...v0.35.1](https://github.com/cameo6/gmt-python-sdk/compare/v0.35.0...v0.35.1)
14
+
15
+ ### Bug Fixes
16
+
17
+ * ensure file data are only sent as 1 parameter ([4bb3a7e](https://github.com/cameo6/gmt-python-sdk/commit/4bb3a7e1f8f6b46f5857896ed67ef0aca503c4a2))
18
+
3
19
  ## 0.35.0 (2026-04-10)
4
20
 
5
21
  Full Changelog: [v0.34.0...v0.35.0](https://github.com/cameo6/gmt-python-sdk/compare/v0.34.0...v0.35.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: gmt-python-sdk
3
- Version: 0.35.0
3
+ Version: 0.36.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.35.0"
3
+ version = "0.36.0"
4
4
  description = "The official Python library for the gmt API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -86,8 +86,9 @@ def _extract_items(
86
86
  index += 1
87
87
  if is_dict(obj):
88
88
  try:
89
- # We are at the last entry in the path so we must remove the field
90
- if (len(path)) == index:
89
+ # Remove the field if there are no more dict keys in the path,
90
+ # only "<array>" traversal markers or end.
91
+ if all(p == "<array>" for p in path[index:]):
91
92
  item = obj.pop(key)
92
93
  else:
93
94
  item = obj[key]
@@ -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.35.0" # x-release-please-version
4
+ __version__ = "0.36.0" # x-release-please-version
@@ -155,7 +155,7 @@ class PurchasesResource(SyncAPIResource):
155
155
  page_size: int,
156
156
  sort: Literal["date_asc", "date_desc"],
157
157
  phone_number: str | Omit = omit,
158
- status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"] | Omit = omit,
158
+ status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND", "EXPIRED"] | Omit = omit,
159
159
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
160
160
  # The extra values given here take precedence over values defined on the client or passed to this method.
161
161
  extra_headers: Headers | None = None,
@@ -456,7 +456,7 @@ class AsyncPurchasesResource(AsyncAPIResource):
456
456
  page_size: int,
457
457
  sort: Literal["date_asc", "date_desc"],
458
458
  phone_number: str | Omit = omit,
459
- status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"] | Omit = omit,
459
+ status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND", "EXPIRED"] | Omit = omit,
460
460
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
461
461
  # The extra values given here take precedence over values defined on the client or passed to this method.
462
462
  extra_headers: Headers | None = None,
@@ -105,7 +105,7 @@ class PurchaseCreateResponse(BaseModel):
105
105
  deduction)
106
106
  """
107
107
 
108
- status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"]
108
+ status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND", "EXPIRED"]
109
109
  """
110
110
  **Purchase Status Lifecycle.** `PENDING` (initial) → `SUCCESS` (after code
111
111
  request) or `ERROR` (provider failure). Any status can transition to `REFUND`
@@ -23,7 +23,7 @@ class PurchaseListParams(TypedDict, total=False):
23
23
  Example: '123' matches '+71234567890'.
24
24
  """
25
25
 
26
- status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"]
26
+ status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND", "EXPIRED"]
27
27
  """
28
28
  **Purchase Status Lifecycle.** `PENDING` (initial) → `SUCCESS` (after code
29
29
  request) or `ERROR` (provider failure). Any status can transition to `REFUND`
@@ -105,7 +105,7 @@ class PurchaseListResponse(BaseModel):
105
105
  deduction)
106
106
  """
107
107
 
108
- status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"]
108
+ status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND", "EXPIRED"]
109
109
  """
110
110
  **Purchase Status Lifecycle.** `PENDING` (initial) → `SUCCESS` (after code
111
111
  request) or `ERROR` (provider failure). Any status can transition to `REFUND`
@@ -113,7 +113,7 @@ class Purchase(BaseModel):
113
113
  deduction)
114
114
  """
115
115
 
116
- status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"]
116
+ status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND", "EXPIRED"]
117
117
  """
118
118
  **Purchase Status Lifecycle.** `PENDING` (initial) → `SUCCESS` (after code
119
119
  request) or `ERROR` (provider failure). Any status can transition to `REFUND`
@@ -129,7 +129,7 @@ class Purchase(BaseModel):
129
129
  deduction)
130
130
  """
131
131
 
132
- status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"]
132
+ status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND", "EXPIRED"]
133
133
  """
134
134
  **Purchase Status Lifecycle.** `PENDING` (initial) → `SUCCESS` (after code
135
135
  request) or `ERROR` (provider failure). Any status can transition to `REFUND`
@@ -105,7 +105,7 @@ class PurchaseRetrieveResponse(BaseModel):
105
105
  deduction)
106
106
  """
107
107
 
108
- status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"]
108
+ status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND", "EXPIRED"]
109
109
  """
110
110
  **Purchase Status Lifecycle.** `PENDING` (initial) → `SUCCESS` (after code
111
111
  request) or `ERROR` (provider failure). Any status can transition to `REFUND`
@@ -23,7 +23,7 @@ class Item(BaseModel):
23
23
  quantity: int
24
24
  """Number of accounts in the archive"""
25
25
 
26
- status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"]
26
+ status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND", "EXPIRED"]
27
27
  """Status of bulk purchase"""
28
28
 
29
29
 
@@ -66,7 +66,7 @@ class BulkCreateResponse(BaseModel):
66
66
  quantity: int
67
67
  """Number of accounts in this purchase"""
68
68
 
69
- status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"]
69
+ status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND", "EXPIRED"]
70
70
  """Current status of bulk purchase"""
71
71
 
72
72
  total_price: TotalPrice
@@ -23,7 +23,7 @@ class Item(BaseModel):
23
23
  quantity: int
24
24
  """Number of accounts in the archive"""
25
25
 
26
- status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"]
26
+ status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND", "EXPIRED"]
27
27
  """Status of bulk purchase"""
28
28
 
29
29
 
@@ -66,7 +66,7 @@ class BulkRetrieveResponse(BaseModel):
66
66
  quantity: int
67
67
  """Number of accounts in this purchase"""
68
68
 
69
- status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"]
69
+ status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND", "EXPIRED"]
70
70
  """Current status of bulk purchase"""
71
71
 
72
72
  total_price: TotalPrice
@@ -129,7 +129,7 @@ class Purchase(BaseModel):
129
129
  deduction)
130
130
  """
131
131
 
132
- status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"]
132
+ status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND", "EXPIRED"]
133
133
  """
134
134
  **Purchase Status Lifecycle.** `PENDING` (initial) → `SUCCESS` (after code
135
135
  request) or `ERROR` (provider failure). Any status can transition to `REFUND`
@@ -105,7 +105,7 @@ class PurchasesByHashRetrieveResponse(BaseModel):
105
105
  deduction)
106
106
  """
107
107
 
108
- status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND"]
108
+ status: Literal["PENDING", "SUCCESS", "ERROR", "REFUND", "EXPIRED"]
109
109
  """
110
110
  **Purchase Status Lifecycle.** `PENDING` (initial) → `SUCCESS` (after code
111
111
  request) or `ERROR` (provider failure). Any status can transition to `REFUND`
@@ -35,6 +35,15 @@ def test_multiple_files() -> None:
35
35
  assert query == {"documents": [{}, {}]}
36
36
 
37
37
 
38
+ def test_top_level_file_array() -> None:
39
+ query = {"files": [b"file one", b"file two"], "title": "hello"}
40
+ assert extract_files(query, paths=[["files", "<array>"]]) == [
41
+ ("files[]", b"file one"),
42
+ ("files[]", b"file two"),
43
+ ]
44
+ assert query == {"title": "hello"}
45
+
46
+
38
47
  @pytest.mark.parametrize(
39
48
  "query,paths,expected",
40
49
  [
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.35.0"
3
- }
File without changes
File without changes
File without changes