gr4vy 1.1.29__py3-none-any.whl → 1.10.9__py3-none-any.whl

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 (219) hide show
  1. gr4vy/_version.py +3 -3
  2. gr4vy/account_updater.py +6 -3
  3. gr4vy/actions.py +307 -0
  4. gr4vy/all.py +4 -2
  5. gr4vy/audit_logs.py +6 -4
  6. gr4vy/balances.py +4 -2
  7. gr4vy/basesdk.py +17 -1
  8. gr4vy/buyers_gift_cards.py +4 -2
  9. gr4vy/buyers_payment_methods.py +4 -2
  10. gr4vy/buyers_sdk.py +43 -25
  11. gr4vy/buyers_shipping_details.py +26 -16
  12. gr4vy/card_scheme_definitions_sdk.py +4 -2
  13. gr4vy/checkout_sessions.py +40 -14
  14. gr4vy/digital_wallets_sdk.py +32 -20
  15. gr4vy/domains.py +14 -10
  16. gr4vy/errors/__init__.py +15 -3
  17. gr4vy/errors/apierror.py +2 -0
  18. gr4vy/errors/error400.py +4 -6
  19. gr4vy/errors/error401.py +4 -6
  20. gr4vy/errors/error403.py +4 -6
  21. gr4vy/errors/error404.py +4 -6
  22. gr4vy/errors/error405.py +4 -6
  23. gr4vy/errors/error409.py +4 -6
  24. gr4vy/errors/error425.py +4 -6
  25. gr4vy/errors/error429.py +4 -6
  26. gr4vy/errors/error500.py +4 -6
  27. gr4vy/errors/error502.py +4 -6
  28. gr4vy/errors/error504.py +4 -6
  29. gr4vy/errors/gr4vyerror.py +11 -7
  30. gr4vy/errors/httpvalidationerror.py +4 -2
  31. gr4vy/errors/no_response_error.py +5 -1
  32. gr4vy/errors/responsevalidationerror.py +2 -0
  33. gr4vy/events.py +54 -7
  34. gr4vy/executions.py +38 -8
  35. gr4vy/gift_cards_sdk.py +29 -19
  36. gr4vy/httpclient.py +0 -1
  37. gr4vy/jobs.py +4 -2
  38. gr4vy/merchant_accounts_sdk.py +30 -10
  39. gr4vy/models/__init__.py +184 -30
  40. gr4vy/models/adyenautorescuesepascenariosenum.py +3 -1
  41. gr4vy/models/adyencardoptions.py +9 -6
  42. gr4vy/models/adyensepaoptions.py +1 -6
  43. gr4vy/models/adyensplitsoptions.py +57 -0
  44. gr4vy/models/airline.py +9 -8
  45. gr4vy/models/airlineleg.py +9 -7
  46. gr4vy/models/airlinepassenger.py +9 -7
  47. gr4vy/models/antifrauddecision.py +9 -1
  48. gr4vy/models/approvaltarget.py +7 -1
  49. gr4vy/models/auditlogaction.py +9 -1
  50. gr4vy/models/auditlogentry.py +3 -3
  51. gr4vy/models/auditlogentryuser.py +3 -3
  52. gr4vy/models/{billingdetails_input.py → billingdetails.py} +2 -2
  53. gr4vy/models/braintreedynamicdatafieldsoptions.py +33 -3
  54. gr4vy/models/browserinfo.py +9 -5
  55. gr4vy/models/buyer.py +3 -3
  56. gr4vy/models/buyercreate.py +3 -3
  57. gr4vy/models/buyerupdate.py +3 -3
  58. gr4vy/models/cancel_transactionop.py +43 -0
  59. gr4vy/models/cancelstatus.py +15 -0
  60. gr4vy/models/capturestatus.py +7 -1
  61. gr4vy/models/cardtype.py +8 -1
  62. gr4vy/models/cartitem.py +53 -8
  63. gr4vy/models/chaseoptions.py +46 -0
  64. gr4vy/models/checkoutsession.py +24 -3
  65. gr4vy/models/checkoutsessioncreate.py +39 -5
  66. gr4vy/models/checkoutsessionpaymentmethod.py +3 -5
  67. gr4vy/models/checkoutsessionpaymentmethoddetails.py +2 -6
  68. gr4vy/models/create_payment_methodop.py +6 -0
  69. gr4vy/models/create_report_execution_urlop.py +16 -1
  70. gr4vy/models/createsession.py +3 -3
  71. gr4vy/models/createsessionstatus.py +7 -1
  72. gr4vy/models/cvvresponsecode.py +7 -1
  73. gr4vy/models/cybersourceoptions.py +7 -0
  74. gr4vy/models/definitionfield.py +1 -6
  75. gr4vy/models/definitionfieldformat.py +8 -1
  76. gr4vy/models/digitalwallet.py +3 -5
  77. gr4vy/models/digitalwalletcreate.py +2 -6
  78. gr4vy/models/digitalwalletprovider.py +6 -1
  79. gr4vy/models/dlocalupioptions.py +50 -0
  80. gr4vy/models/dlocalupirecurringinfooptions.py +47 -0
  81. gr4vy/models/dlocalupiwalletoptions.py +89 -0
  82. gr4vy/models/errordetail.py +2 -4
  83. gr4vy/models/errorlocation.py +8 -1
  84. gr4vy/models/flow.py +16 -0
  85. gr4vy/models/flowaction.py +16 -0
  86. gr4vy/models/forterantifraudoptions.py +8 -8
  87. gr4vy/models/forterantifraudoptionscartitembasicitemdata.py +10 -8
  88. gr4vy/models/forterantifraudoptionscartitemdeliverydetails.py +9 -7
  89. gr4vy/models/giftcardredemption.py +4 -8
  90. gr4vy/models/giftcardredemptionstatus.py +7 -1
  91. gr4vy/models/giftcardservice.py +3 -5
  92. gr4vy/models/giftcardserviceprovider.py +5 -1
  93. gr4vy/models/giftcardsummary.py +3 -5
  94. gr4vy/models/{guestbuyer_input.py → guestbuyer.py} +5 -5
  95. gr4vy/models/instrumenttype.py +1 -0
  96. gr4vy/models/integrationclient.py +16 -0
  97. gr4vy/models/internal/__init__.py +14 -1
  98. gr4vy/models/list_all_report_executionsop.py +2 -14
  99. gr4vy/models/list_audit_logsop.py +2 -10
  100. gr4vy/models/list_buyer_payment_methodsop.py +9 -4
  101. gr4vy/models/list_payment_methodsop.py +2 -14
  102. gr4vy/models/list_payment_servicesop.py +2 -8
  103. gr4vy/models/list_reportsop.py +2 -10
  104. gr4vy/models/list_transaction_actionsop.py +43 -0
  105. gr4vy/models/list_transaction_eventsop.py +12 -1
  106. gr4vy/models/list_transactionsop.py +14 -22
  107. gr4vy/models/merchantaccount.py +9 -5
  108. gr4vy/models/merchantaccountcreate.py +8 -6
  109. gr4vy/models/merchantaccountupdate.py +8 -6
  110. gr4vy/models/merchantprofilescheme.py +7 -7
  111. gr4vy/models/merchantprofileschemesummary.py +7 -7
  112. gr4vy/models/method.py +4 -0
  113. gr4vy/models/mockcardoptions.py +7 -2
  114. gr4vy/models/mode.py +1 -0
  115. gr4vy/models/monatospeioptions.py +15 -0
  116. gr4vy/models/networktoken.py +3 -3
  117. gr4vy/models/networktokenpaymentmethodcreate.py +11 -9
  118. gr4vy/models/networktokenstatus.py +7 -1
  119. gr4vy/models/nuveiidealoptions.py +49 -0
  120. gr4vy/models/nuveipseoptions.py +70 -0
  121. gr4vy/models/paymentlink.py +25 -7
  122. gr4vy/models/paymentlinkcreate.py +23 -28
  123. gr4vy/models/paymentlinkstatus.py +7 -1
  124. gr4vy/models/paymentmethod.py +7 -13
  125. gr4vy/models/paymentmethodcard.py +3 -5
  126. gr4vy/models/paymentmethoddetailscard.py +2 -6
  127. gr4vy/models/paymentmethodstatus.py +7 -1
  128. gr4vy/models/paymentmethodsummary.py +6 -12
  129. gr4vy/models/paymentoption.py +3 -3
  130. gr4vy/models/paymentservice.py +4 -6
  131. gr4vy/models/paymentserviceconfiguration.py +2 -6
  132. gr4vy/models/paymentservicedefinition.py +11 -5
  133. gr4vy/models/paymentservicestatus.py +8 -1
  134. gr4vy/models/paymentservicetoken.py +3 -3
  135. gr4vy/models/payoutcategory.py +1 -1
  136. gr4vy/models/payoutcreate.py +5 -9
  137. gr4vy/models/payoutstatus.py +7 -1
  138. gr4vy/models/payoutsummary.py +4 -6
  139. gr4vy/models/paypaloptions.py +8 -2
  140. gr4vy/models/paypalshippingoptions.py +51 -0
  141. gr4vy/models/paypalshippingoptionsitem.py +89 -0
  142. gr4vy/models/paypalshippingoptionsitemamount.py +20 -0
  143. gr4vy/models/plaidpaymentmethodcreate.py +106 -0
  144. gr4vy/models/redirectpaymentmethodcreate.py +4 -6
  145. gr4vy/models/refund.py +4 -4
  146. gr4vy/models/refundstatus.py +8 -1
  147. gr4vy/models/refundtargettype.py +5 -1
  148. gr4vy/models/report.py +4 -6
  149. gr4vy/models/reportcreate.py +2 -3
  150. gr4vy/models/reportcreatortype.py +7 -1
  151. gr4vy/models/reportexecution.py +3 -3
  152. gr4vy/models/reportexecutionstatus.py +7 -1
  153. gr4vy/models/reportexecutionsummary.py +3 -3
  154. gr4vy/models/reportexecutionurlgenerate.py +16 -0
  155. gr4vy/models/reportschedule.py +9 -1
  156. gr4vy/models/reportspec.py +2 -4
  157. gr4vy/models/reportsummary.py +3 -5
  158. gr4vy/models/settlement.py +32 -32
  159. gr4vy/models/statementdescriptor.py +7 -0
  160. gr4vy/models/stripeconnectoptions.py +7 -0
  161. gr4vy/models/taxid.py +2 -4
  162. gr4vy/models/taxidkind.py +7 -0
  163. gr4vy/models/threedsecuredatav1.py +2 -6
  164. gr4vy/models/threedsecuredatav2.py +2 -6
  165. gr4vy/models/threedsecuremethod.py +7 -1
  166. gr4vy/models/threedsecurestatus.py +7 -1
  167. gr4vy/models/transaction.py +86 -25
  168. gr4vy/models/transactionaction.py +48 -0
  169. gr4vy/models/transactionactions.py +17 -0
  170. gr4vy/models/transactionbuyer.py +3 -3
  171. gr4vy/models/transactioncancel.py +81 -0
  172. gr4vy/models/transactioncapture.py +3 -3
  173. gr4vy/models/transactionconnectionoptions.py +50 -0
  174. gr4vy/models/transactioncreate.py +76 -12
  175. gr4vy/models/transactionevent.py +10 -3
  176. gr4vy/models/transactionintent.py +7 -1
  177. gr4vy/models/transactionintentoutcome.py +6 -1
  178. gr4vy/models/transactionpaymentmethod.py +6 -12
  179. gr4vy/models/transactionpaymentservice.py +3 -3
  180. gr4vy/models/transactionpaymentsource.py +7 -1
  181. gr4vy/models/transactionrefundcreate.py +2 -6
  182. gr4vy/models/transactionsummary.py +11 -10
  183. gr4vy/models/transactionthreedsecuresummary.py +3 -9
  184. gr4vy/models/transactionvoid.py +3 -3
  185. gr4vy/models/userstatus.py +8 -1
  186. gr4vy/models/voidstatus.py +7 -1
  187. gr4vy/network_tokens_cryptogram.py +4 -2
  188. gr4vy/payment_links_sdk.py +36 -16
  189. gr4vy/payment_methods_network_tokens.py +27 -13
  190. gr4vy/payment_methods_payment_service_tokens.py +12 -6
  191. gr4vy/payment_methods_sdk.py +26 -14
  192. gr4vy/payment_options_sdk.py +4 -2
  193. gr4vy/payment_service_definitions_sdk.py +14 -8
  194. gr4vy/payment_services_sdk.py +36 -22
  195. gr4vy/payouts.py +18 -12
  196. gr4vy/refunds_sdk.py +4 -2
  197. gr4vy/report_executions_sdk.py +6 -4
  198. gr4vy/reports_sdk.py +23 -13
  199. gr4vy/sdk.py +17 -4
  200. gr4vy/sessions.py +12 -6
  201. gr4vy/transactions.py +446 -33
  202. gr4vy/transactions_refunds.py +17 -9
  203. gr4vy/transactions_settlements.py +8 -4
  204. gr4vy/types/basemodel.py +41 -3
  205. gr4vy/utils/__init__.py +15 -6
  206. gr4vy/utils/annotations.py +32 -8
  207. gr4vy/utils/enums.py +60 -0
  208. gr4vy/utils/eventstreaming.py +10 -0
  209. gr4vy/utils/forms.py +21 -10
  210. gr4vy/utils/queryparams.py +14 -2
  211. gr4vy/utils/requestbodies.py +1 -1
  212. gr4vy/utils/retries.py +69 -5
  213. gr4vy/utils/serializers.py +0 -20
  214. gr4vy/utils/unmarshal_json_response.py +15 -1
  215. {gr4vy-1.1.29.dist-info → gr4vy-1.10.9.dist-info}/METADATA +43 -41
  216. {gr4vy-1.1.29.dist-info → gr4vy-1.10.9.dist-info}/RECORD +217 -196
  217. {gr4vy-1.1.29.dist-info → gr4vy-1.10.9.dist-info}/WHEEL +1 -1
  218. gr4vy/models/billingdetails_output.py +0 -87
  219. gr4vy/models/guestbuyer_output.py +0 -80
gr4vy/sdk.py CHANGED
@@ -11,6 +11,7 @@ from gr4vy.models import internal
11
11
  from gr4vy.types import OptionalNullable, UNSET
12
12
  import httpx
13
13
  import importlib
14
+ import sys
14
15
  from typing import Any, Callable, Dict, Optional, TYPE_CHECKING, Union, cast
15
16
  import weakref
16
17
 
@@ -112,7 +113,7 @@ class Gr4vy(BaseSDK):
112
113
  """
113
114
  client_supplied = True
114
115
  if client is None:
115
- client = httpx.Client()
116
+ client = httpx.Client(follow_redirects=True)
116
117
  client_supplied = False
117
118
 
118
119
  assert issubclass(
@@ -121,7 +122,7 @@ class Gr4vy(BaseSDK):
121
122
 
122
123
  async_client_supplied = True
123
124
  if async_client is None:
124
- async_client = httpx.AsyncClient()
125
+ async_client = httpx.AsyncClient(follow_redirects=True)
125
126
  async_client_supplied = False
126
127
 
127
128
  if debug_logger is None:
@@ -173,6 +174,7 @@ class Gr4vy(BaseSDK):
173
174
  timeout_ms=timeout_ms,
174
175
  debug_logger=debug_logger,
175
176
  ),
177
+ parent_ref=self,
176
178
  )
177
179
 
178
180
  hooks = SDKHooks()
@@ -197,13 +199,24 @@ class Gr4vy(BaseSDK):
197
199
  self.sdk_configuration.async_client_supplied,
198
200
  )
199
201
 
202
+ def dynamic_import(self, modname, retries=3):
203
+ for attempt in range(retries):
204
+ try:
205
+ return importlib.import_module(modname)
206
+ except KeyError:
207
+ # Clear any half-initialized module and retry
208
+ sys.modules.pop(modname, None)
209
+ if attempt == retries - 1:
210
+ break
211
+ raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
212
+
200
213
  def __getattr__(self, name: str):
201
214
  if name in self._sub_sdk_map:
202
215
  module_path, class_name = self._sub_sdk_map[name]
203
216
  try:
204
- module = importlib.import_module(module_path)
217
+ module = self.dynamic_import(module_path)
205
218
  klass = getattr(module, class_name)
206
- instance = klass(self.sdk_configuration)
219
+ instance = klass(self.sdk_configuration, parent_ref=self)
207
220
  setattr(self, name, instance)
208
221
  return instance
209
222
  except ImportError as e:
gr4vy/sessions.py CHANGED
@@ -71,6 +71,7 @@ class Sessions(BaseSDK):
71
71
  "json",
72
72
  models.GooglePaySessionRequest,
73
73
  ),
74
+ allow_empty_value=None,
74
75
  timeout_ms=timeout_ms,
75
76
  )
76
77
 
@@ -87,7 +88,7 @@ class Sessions(BaseSDK):
87
88
  config=self.sdk_configuration,
88
89
  base_url=base_url or "",
89
90
  operation_id="create_google_pay_digital_wallet_session",
90
- oauth2_scopes=[],
91
+ oauth2_scopes=None,
91
92
  security_source=get_security_from_env(
92
93
  self.sdk_configuration.security, models.Security
93
94
  ),
@@ -223,6 +224,7 @@ class Sessions(BaseSDK):
223
224
  "json",
224
225
  models.GooglePaySessionRequest,
225
226
  ),
227
+ allow_empty_value=None,
226
228
  timeout_ms=timeout_ms,
227
229
  )
228
230
 
@@ -239,7 +241,7 @@ class Sessions(BaseSDK):
239
241
  config=self.sdk_configuration,
240
242
  base_url=base_url or "",
241
243
  operation_id="create_google_pay_digital_wallet_session",
242
- oauth2_scopes=[],
244
+ oauth2_scopes=None,
243
245
  security_source=get_security_from_env(
244
246
  self.sdk_configuration.security, models.Security
245
247
  ),
@@ -378,6 +380,7 @@ class Sessions(BaseSDK):
378
380
  "json",
379
381
  models.ApplePaySessionRequest,
380
382
  ),
383
+ allow_empty_value=None,
381
384
  timeout_ms=timeout_ms,
382
385
  )
383
386
 
@@ -394,7 +397,7 @@ class Sessions(BaseSDK):
394
397
  config=self.sdk_configuration,
395
398
  base_url=base_url or "",
396
399
  operation_id="create_apple_pay_digital_wallet_session",
397
- oauth2_scopes=[],
400
+ oauth2_scopes=None,
398
401
  security_source=get_security_from_env(
399
402
  self.sdk_configuration.security, models.Security
400
403
  ),
@@ -533,6 +536,7 @@ class Sessions(BaseSDK):
533
536
  "json",
534
537
  models.ApplePaySessionRequest,
535
538
  ),
539
+ allow_empty_value=None,
536
540
  timeout_ms=timeout_ms,
537
541
  )
538
542
 
@@ -549,7 +553,7 @@ class Sessions(BaseSDK):
549
553
  config=self.sdk_configuration,
550
554
  base_url=base_url or "",
551
555
  operation_id="create_apple_pay_digital_wallet_session",
552
- oauth2_scopes=[],
556
+ oauth2_scopes=None,
553
557
  security_source=get_security_from_env(
554
558
  self.sdk_configuration.security, models.Security
555
559
  ),
@@ -673,6 +677,7 @@ class Sessions(BaseSDK):
673
677
  get_serialized_body=lambda: utils.serialize_request_body(
674
678
  request, False, False, "json", models.ClickToPaySessionRequest
675
679
  ),
680
+ allow_empty_value=None,
676
681
  timeout_ms=timeout_ms,
677
682
  )
678
683
 
@@ -689,7 +694,7 @@ class Sessions(BaseSDK):
689
694
  config=self.sdk_configuration,
690
695
  base_url=base_url or "",
691
696
  operation_id="create_click_to_pay_digital_wallet_session",
692
- oauth2_scopes=[],
697
+ oauth2_scopes=None,
693
698
  security_source=get_security_from_env(
694
699
  self.sdk_configuration.security, models.Security
695
700
  ),
@@ -813,6 +818,7 @@ class Sessions(BaseSDK):
813
818
  get_serialized_body=lambda: utils.serialize_request_body(
814
819
  request, False, False, "json", models.ClickToPaySessionRequest
815
820
  ),
821
+ allow_empty_value=None,
816
822
  timeout_ms=timeout_ms,
817
823
  )
818
824
 
@@ -829,7 +835,7 @@ class Sessions(BaseSDK):
829
835
  config=self.sdk_configuration,
830
836
  base_url=base_url or "",
831
837
  operation_id="create_click_to_pay_digital_wallet_session",
832
- oauth2_scopes=[],
838
+ oauth2_scopes=None,
833
839
  security_source=get_security_from_env(
834
840
  self.sdk_configuration.security, models.Security
835
841
  ),