dodopayments 1.32.0__tar.gz → 1.34.1__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.

Potentially problematic release.


This version of dodopayments might be problematic. Click here for more details.

Files changed (204) hide show
  1. dodopayments-1.34.1/.release-please-manifest.json +3 -0
  2. {dodopayments-1.32.0 → dodopayments-1.34.1}/CHANGELOG.md +36 -0
  3. {dodopayments-1.32.0 → dodopayments-1.34.1}/PKG-INFO +55 -3
  4. {dodopayments-1.32.0 → dodopayments-1.34.1}/README.md +51 -2
  5. {dodopayments-1.32.0 → dodopayments-1.34.1}/api.md +8 -1
  6. {dodopayments-1.32.0 → dodopayments-1.34.1}/pyproject.toml +5 -2
  7. {dodopayments-1.32.0 → dodopayments-1.34.1}/requirements-dev.lock +31 -0
  8. {dodopayments-1.32.0 → dodopayments-1.34.1}/requirements.lock +27 -0
  9. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/__init__.py +2 -1
  10. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_base_client.py +38 -2
  11. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_version.py +1 -1
  12. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/products/products.py +90 -0
  13. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/subscriptions.py +2 -2
  14. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/__init__.py +2 -0
  15. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/payment.py +3 -0
  16. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/payment_list_response.py +2 -0
  17. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/product.py +22 -1
  18. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/product_create_params.py +11 -1
  19. dodopayments-1.34.1/src/dodopayments/types/product_update_files_params.py +11 -0
  20. dodopayments-1.34.1/src/dodopayments/types/product_update_files_response.py +11 -0
  21. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/product_update_params.py +14 -1
  22. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/subscription_change_plan_params.py +1 -1
  23. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/customers/test_customer_portal.py +3 -1
  24. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/invoices/test_payments.py +3 -1
  25. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/products/test_images.py +3 -1
  26. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_addons.py +3 -1
  27. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_brands.py +3 -1
  28. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_customers.py +3 -1
  29. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_discounts.py +3 -1
  30. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_disputes.py +3 -1
  31. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_license_key_instances.py +3 -1
  32. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_license_keys.py +3 -1
  33. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_licenses.py +3 -1
  34. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_misc.py +3 -1
  35. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_payments.py +3 -1
  36. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_payouts.py +3 -1
  37. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_products.py +106 -1
  38. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_refunds.py +3 -1
  39. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_subscriptions.py +3 -1
  40. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/test_webhook_events.py +3 -1
  41. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/conftest.py +36 -5
  42. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/test_client.py +118 -117
  43. dodopayments-1.32.0/.release-please-manifest.json +0 -3
  44. {dodopayments-1.32.0 → dodopayments-1.34.1}/.gitignore +0 -0
  45. {dodopayments-1.32.0 → dodopayments-1.34.1}/CONTRIBUTING.md +0 -0
  46. {dodopayments-1.32.0 → dodopayments-1.34.1}/LICENSE +0 -0
  47. {dodopayments-1.32.0 → dodopayments-1.34.1}/SECURITY.md +0 -0
  48. {dodopayments-1.32.0 → dodopayments-1.34.1}/bin/check-release-environment +0 -0
  49. {dodopayments-1.32.0 → dodopayments-1.34.1}/bin/publish-pypi +0 -0
  50. {dodopayments-1.32.0 → dodopayments-1.34.1}/examples/.keep +0 -0
  51. {dodopayments-1.32.0 → dodopayments-1.34.1}/mypy.ini +0 -0
  52. {dodopayments-1.32.0 → dodopayments-1.34.1}/noxfile.py +0 -0
  53. {dodopayments-1.32.0 → dodopayments-1.34.1}/release-please-config.json +0 -0
  54. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodo_payments/lib/.keep +0 -0
  55. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_client.py +0 -0
  56. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_compat.py +0 -0
  57. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_constants.py +0 -0
  58. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_exceptions.py +0 -0
  59. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_files.py +0 -0
  60. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_models.py +0 -0
  61. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_qs.py +0 -0
  62. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_resource.py +0 -0
  63. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_response.py +0 -0
  64. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_streaming.py +0 -0
  65. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_types.py +0 -0
  66. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_utils/__init__.py +0 -0
  67. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_utils/_logs.py +0 -0
  68. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_utils/_proxy.py +0 -0
  69. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_utils/_reflection.py +0 -0
  70. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_utils/_resources_proxy.py +0 -0
  71. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_utils/_streams.py +0 -0
  72. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_utils/_sync.py +0 -0
  73. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_utils/_transform.py +0 -0
  74. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_utils/_typing.py +0 -0
  75. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/_utils/_utils.py +0 -0
  76. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/lib/.keep +0 -0
  77. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/pagination.py +0 -0
  78. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/py.typed +0 -0
  79. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/__init__.py +0 -0
  80. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/addons.py +0 -0
  81. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/brands.py +0 -0
  82. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/customers/__init__.py +0 -0
  83. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/customers/customer_portal.py +0 -0
  84. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/customers/customers.py +0 -0
  85. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/discounts.py +0 -0
  86. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/disputes.py +0 -0
  87. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/invoices/__init__.py +0 -0
  88. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/invoices/invoices.py +0 -0
  89. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/invoices/payments.py +0 -0
  90. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/license_key_instances.py +0 -0
  91. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/license_keys.py +0 -0
  92. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/licenses.py +0 -0
  93. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/misc.py +0 -0
  94. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/payments.py +0 -0
  95. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/payouts.py +0 -0
  96. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/products/__init__.py +0 -0
  97. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/products/images.py +0 -0
  98. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/refunds.py +0 -0
  99. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/resources/webhook_events.py +0 -0
  100. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/addon_cart_response_item.py +0 -0
  101. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/addon_create_params.py +0 -0
  102. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/addon_list_params.py +0 -0
  103. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/addon_response.py +0 -0
  104. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/addon_update_images_response.py +0 -0
  105. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/addon_update_params.py +0 -0
  106. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/attach_existing_customer_param.py +0 -0
  107. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/billing_address.py +0 -0
  108. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/billing_address_param.py +0 -0
  109. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/brand_create_params.py +0 -0
  110. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/brand_create_response.py +0 -0
  111. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/brand_list_response.py +0 -0
  112. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/brand_retrieve_response.py +0 -0
  113. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/brand_update_images_response.py +0 -0
  114. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/brand_update_params.py +0 -0
  115. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/brand_update_response.py +0 -0
  116. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/country_code.py +0 -0
  117. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/create_new_customer_param.py +0 -0
  118. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/currency.py +0 -0
  119. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/customer.py +0 -0
  120. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/customer_create_params.py +0 -0
  121. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/customer_limited_details.py +0 -0
  122. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/customer_list_params.py +0 -0
  123. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/customer_portal_session.py +0 -0
  124. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/customer_request_param.py +0 -0
  125. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/customer_update_params.py +0 -0
  126. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/customers/__init__.py +0 -0
  127. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/customers/customer_portal_create_params.py +0 -0
  128. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/discount.py +0 -0
  129. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/discount_create_params.py +0 -0
  130. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/discount_list_params.py +0 -0
  131. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/discount_type.py +0 -0
  132. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/discount_update_params.py +0 -0
  133. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/dispute.py +0 -0
  134. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/dispute_list_params.py +0 -0
  135. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/dispute_list_response.py +0 -0
  136. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/dispute_retrieve_response.py +0 -0
  137. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/dispute_stage.py +0 -0
  138. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/dispute_status.py +0 -0
  139. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/intent_status.py +0 -0
  140. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/invoices/__init__.py +0 -0
  141. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/license_activate_params.py +0 -0
  142. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/license_deactivate_params.py +0 -0
  143. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/license_key.py +0 -0
  144. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/license_key_duration.py +0 -0
  145. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/license_key_duration_param.py +0 -0
  146. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/license_key_instance.py +0 -0
  147. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/license_key_instance_list_params.py +0 -0
  148. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/license_key_instance_update_params.py +0 -0
  149. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/license_key_list_params.py +0 -0
  150. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/license_key_status.py +0 -0
  151. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/license_key_update_params.py +0 -0
  152. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/license_validate_params.py +0 -0
  153. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/license_validate_response.py +0 -0
  154. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/misc_list_supported_countries_response.py +0 -0
  155. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/one_time_product_cart_item.py +0 -0
  156. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/one_time_product_cart_item_param.py +0 -0
  157. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/payment_create_params.py +0 -0
  158. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/payment_create_response.py +0 -0
  159. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/payment_list_params.py +0 -0
  160. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/payment_retrieve_line_items_response.py +0 -0
  161. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/payout_list_params.py +0 -0
  162. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/payout_list_response.py +0 -0
  163. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/price.py +0 -0
  164. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/price_param.py +0 -0
  165. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/product_list_params.py +0 -0
  166. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/product_list_response.py +0 -0
  167. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/products/__init__.py +0 -0
  168. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/products/image_update_params.py +0 -0
  169. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/products/image_update_response.py +0 -0
  170. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/refund.py +0 -0
  171. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/refund_create_params.py +0 -0
  172. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/refund_list_params.py +0 -0
  173. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/refund_status.py +0 -0
  174. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/subscription.py +0 -0
  175. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/subscription_charge_params.py +0 -0
  176. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/subscription_charge_response.py +0 -0
  177. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/subscription_create_params.py +0 -0
  178. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/subscription_create_response.py +0 -0
  179. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/subscription_list_params.py +0 -0
  180. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/subscription_list_response.py +0 -0
  181. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/subscription_status.py +0 -0
  182. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/subscription_update_params.py +0 -0
  183. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/tax_category.py +0 -0
  184. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/time_interval.py +0 -0
  185. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/webhook_event.py +0 -0
  186. {dodopayments-1.32.0 → dodopayments-1.34.1}/src/dodopayments/types/webhook_event_list_params.py +0 -0
  187. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/__init__.py +0 -0
  188. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/__init__.py +0 -0
  189. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/customers/__init__.py +0 -0
  190. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/invoices/__init__.py +0 -0
  191. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/api_resources/products/__init__.py +0 -0
  192. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/sample_file.txt +0 -0
  193. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/test_deepcopy.py +0 -0
  194. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/test_extract_files.py +0 -0
  195. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/test_files.py +0 -0
  196. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/test_models.py +0 -0
  197. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/test_qs.py +0 -0
  198. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/test_required_args.py +0 -0
  199. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/test_response.py +0 -0
  200. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/test_streaming.py +0 -0
  201. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/test_transform.py +0 -0
  202. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/test_utils/test_proxy.py +0 -0
  203. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/test_utils/test_typing.py +0 -0
  204. {dodopayments-1.32.0 → dodopayments-1.34.1}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.34.1"
3
+ }
@@ -1,5 +1,41 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.34.1 (2025-06-21)
4
+
5
+ Full Changelog: [v1.34.0...v1.34.1](https://github.com/dodopayments/dodopayments-python/compare/v1.34.0...v1.34.1)
6
+
7
+ ### Features
8
+
9
+ * **client:** add support for aiohttp ([ff6068c](https://github.com/dodopayments/dodopayments-python/commit/ff6068c83742a492bd78888312976d79df35c34d))
10
+
11
+
12
+ ### Documentation
13
+
14
+ * **client:** fix httpx.Timeout documentation reference ([21e4aef](https://github.com/dodopayments/dodopayments-python/commit/21e4aef206be5ab337a2682c0833b2e850df1043))
15
+
16
+ ## 1.34.0 (2025-06-18)
17
+
18
+ Full Changelog: [v1.32.0...v1.34.0](https://github.com/dodopayments/dodopayments-python/compare/v1.32.0...v1.34.0)
19
+
20
+ ### Features
21
+
22
+ * **api:** updated to version 1.34.0 ([b83c3a8](https://github.com/dodopayments/dodopayments-python/commit/b83c3a87e253e3c74e9160ffe98d9b8fedaa8af1))
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * **client:** correctly parse binary response | stream ([4d41dc7](https://github.com/dodopayments/dodopayments-python/commit/4d41dc78632a83e98d91dd763858b61625d75cdc))
28
+ * **tests:** fix: tests which call HTTP endpoints directly with the example parameters ([10cf09b](https://github.com/dodopayments/dodopayments-python/commit/10cf09b005788fff2e01ec99d1ec70f71f09a80d))
29
+
30
+
31
+ ### Chores
32
+
33
+ * **ci:** enable for pull requests ([ff898a1](https://github.com/dodopayments/dodopayments-python/commit/ff898a143cc3a7ce7ccccfc435f0af9a21f826d8))
34
+ * **internal:** update conftest.py ([c0c8eef](https://github.com/dodopayments/dodopayments-python/commit/c0c8eefc8e397aeb0933476ffd8b48c7ab9c0c72))
35
+ * **readme:** update badges ([6b1593c](https://github.com/dodopayments/dodopayments-python/commit/6b1593c2fe586d7fbabdeac3c7683fcad6256f63))
36
+ * **tests:** add tests for httpx client instantiation & proxies ([c7b0949](https://github.com/dodopayments/dodopayments-python/commit/c7b09497f1fe1f83bbd5a259174276a57ab7fafa))
37
+ * **tests:** run tests in parallel ([d46598b](https://github.com/dodopayments/dodopayments-python/commit/d46598b3cef4df023e692e84cb9265b7d9c8f22a))
38
+
3
39
  ## 1.32.0 (2025-06-09)
4
40
 
5
41
  Full Changelog: [v1.30.2...v1.32.0](https://github.com/dodopayments/dodopayments-python/compare/v1.30.2...v1.32.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dodopayments
3
- Version: 1.32.0
3
+ Version: 1.34.1
4
4
  Summary: The official Python library for the Dodo Payments API
5
5
  Project-URL: Homepage, https://github.com/dodopayments/dodopayments-python
6
6
  Project-URL: Repository, https://github.com/dodopayments/dodopayments-python
@@ -27,11 +27,14 @@ Requires-Dist: httpx<1,>=0.23.0
27
27
  Requires-Dist: pydantic<3,>=1.9.0
28
28
  Requires-Dist: sniffio
29
29
  Requires-Dist: typing-extensions<5,>=4.10
30
+ Provides-Extra: aiohttp
31
+ Requires-Dist: aiohttp; extra == 'aiohttp'
32
+ Requires-Dist: httpx-aiohttp>=0.1.6; extra == 'aiohttp'
30
33
  Description-Content-Type: text/markdown
31
34
 
32
35
  # Dodo Payments Python API library
33
36
 
34
- [![PyPI version](https://img.shields.io/pypi/v/dodopayments.svg)](https://pypi.org/project/dodopayments/)
37
+ [![PyPI version](https://github.com/dodopayments/dodopayments-python/tree/main/<https://img.shields.io/pypi/v/dodopayments.svg?label=pypi%20(stable)>)](https://pypi.org/project/dodopayments/)
35
38
 
36
39
  The [Dodo Payments](https://dodopayments.com) Python library provides convenient access to the Dodo Payments REST API from any Python 3.8+
37
40
  application. The library includes type definitions for all request params and response fields,
@@ -129,6 +132,55 @@ asyncio.run(main())
129
132
 
130
133
  Functionality between the synchronous and asynchronous clients is otherwise identical.
131
134
 
135
+ ### With aiohttp
136
+
137
+ By default, the async client uses `httpx` for HTTP requests. However, for improved concurrency performance you may also use `aiohttp` as the HTTP backend.
138
+
139
+ You can enable this by installing `aiohttp`:
140
+
141
+ ```sh
142
+ # install from PyPI
143
+ pip install dodopayments[aiohttp]
144
+ ```
145
+
146
+ Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
147
+
148
+ ```python
149
+ import os
150
+ import asyncio
151
+ from dodopayments import DefaultAioHttpClient
152
+ from dodopayments import AsyncDodoPayments
153
+
154
+
155
+ async def main() -> None:
156
+ async with AsyncDodoPayments(
157
+ bearer_token=os.environ.get(
158
+ "DODO_PAYMENTS_API_KEY"
159
+ ), # This is the default and can be omitted
160
+ http_client=DefaultAioHttpClient(),
161
+ ) as client:
162
+ payment = await client.payments.create(
163
+ billing={
164
+ "city": "city",
165
+ "country": "AF",
166
+ "state": "state",
167
+ "street": "street",
168
+ "zipcode": "zipcode",
169
+ },
170
+ customer={"customer_id": "customer_id"},
171
+ product_cart=[
172
+ {
173
+ "product_id": "product_id",
174
+ "quantity": 0,
175
+ }
176
+ ],
177
+ )
178
+ print(payment.payment_id)
179
+
180
+
181
+ asyncio.run(main())
182
+ ```
183
+
132
184
  ## Using types
133
185
 
134
186
  Nested request parameters are [TypedDicts](https://docs.python.org/3/library/typing.html#typing.TypedDict). Responses are [Pydantic models](https://docs.pydantic.dev) which also provide helper methods for things like:
@@ -322,7 +374,7 @@ client.with_options(max_retries=5).payments.create(
322
374
  ### Timeouts
323
375
 
324
376
  By default requests time out after 1 minute. You can configure this with a `timeout` option,
325
- which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/#fine-tuning-the-configuration) object:
377
+ which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object:
326
378
 
327
379
  ```python
328
380
  from dodopayments import DodoPayments
@@ -1,6 +1,6 @@
1
1
  # Dodo Payments Python API library
2
2
 
3
- [![PyPI version](https://img.shields.io/pypi/v/dodopayments.svg)](https://pypi.org/project/dodopayments/)
3
+ [![PyPI version](<https://img.shields.io/pypi/v/dodopayments.svg?label=pypi%20(stable)>)](https://pypi.org/project/dodopayments/)
4
4
 
5
5
  The [Dodo Payments](https://dodopayments.com) Python library provides convenient access to the Dodo Payments REST API from any Python 3.8+
6
6
  application. The library includes type definitions for all request params and response fields,
@@ -98,6 +98,55 @@ asyncio.run(main())
98
98
 
99
99
  Functionality between the synchronous and asynchronous clients is otherwise identical.
100
100
 
101
+ ### With aiohttp
102
+
103
+ By default, the async client uses `httpx` for HTTP requests. However, for improved concurrency performance you may also use `aiohttp` as the HTTP backend.
104
+
105
+ You can enable this by installing `aiohttp`:
106
+
107
+ ```sh
108
+ # install from PyPI
109
+ pip install dodopayments[aiohttp]
110
+ ```
111
+
112
+ Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
113
+
114
+ ```python
115
+ import os
116
+ import asyncio
117
+ from dodopayments import DefaultAioHttpClient
118
+ from dodopayments import AsyncDodoPayments
119
+
120
+
121
+ async def main() -> None:
122
+ async with AsyncDodoPayments(
123
+ bearer_token=os.environ.get(
124
+ "DODO_PAYMENTS_API_KEY"
125
+ ), # This is the default and can be omitted
126
+ http_client=DefaultAioHttpClient(),
127
+ ) as client:
128
+ payment = await client.payments.create(
129
+ billing={
130
+ "city": "city",
131
+ "country": "AF",
132
+ "state": "state",
133
+ "street": "street",
134
+ "zipcode": "zipcode",
135
+ },
136
+ customer={"customer_id": "customer_id"},
137
+ product_cart=[
138
+ {
139
+ "product_id": "product_id",
140
+ "quantity": 0,
141
+ }
142
+ ],
143
+ )
144
+ print(payment.payment_id)
145
+
146
+
147
+ asyncio.run(main())
148
+ ```
149
+
101
150
  ## Using types
102
151
 
103
152
  Nested request parameters are [TypedDicts](https://docs.python.org/3/library/typing.html#typing.TypedDict). Responses are [Pydantic models](https://docs.pydantic.dev) which also provide helper methods for things like:
@@ -291,7 +340,7 @@ client.with_options(max_retries=5).payments.create(
291
340
  ### Timeouts
292
341
 
293
342
  By default requests time out after 1 minute. You can configure this with a `timeout` option,
294
- which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/#fine-tuning-the-configuration) object:
343
+ which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object:
295
344
 
296
345
  ```python
297
346
  from dodopayments import DodoPayments
@@ -184,7 +184,13 @@ Methods:
184
184
  Types:
185
185
 
186
186
  ```python
187
- from dodopayments.types import LicenseKeyDuration, Price, Product, ProductListResponse
187
+ from dodopayments.types import (
188
+ LicenseKeyDuration,
189
+ Price,
190
+ Product,
191
+ ProductListResponse,
192
+ ProductUpdateFilesResponse,
193
+ )
188
194
  ```
189
195
 
190
196
  Methods:
@@ -195,6 +201,7 @@ Methods:
195
201
  - <code title="get /products">client.products.<a href="./src/dodopayments/resources/products/products.py">list</a>(\*\*<a href="src/dodopayments/types/product_list_params.py">params</a>) -> <a href="./src/dodopayments/types/product_list_response.py">SyncDefaultPageNumberPagination[ProductListResponse]</a></code>
196
202
  - <code title="delete /products/{id}">client.products.<a href="./src/dodopayments/resources/products/products.py">delete</a>(id) -> None</code>
197
203
  - <code title="post /products/{id}/unarchive">client.products.<a href="./src/dodopayments/resources/products/products.py">unarchive</a>(id) -> None</code>
204
+ - <code title="put /products/{id}/files">client.products.<a href="./src/dodopayments/resources/products/products.py">update_files</a>(id, \*\*<a href="src/dodopayments/types/product_update_files_params.py">params</a>) -> <a href="./src/dodopayments/types/product_update_files_response.py">ProductUpdateFilesResponse</a></code>
198
205
 
199
206
  ## Images
200
207
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dodopayments"
3
- version = "1.32.0"
3
+ version = "1.34.1"
4
4
  description = "The official Python library for the Dodo Payments API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -37,6 +37,8 @@ classifiers = [
37
37
  Homepage = "https://github.com/dodopayments/dodopayments-python"
38
38
  Repository = "https://github.com/dodopayments/dodopayments-python"
39
39
 
40
+ [project.optional-dependencies]
41
+ aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.6"]
40
42
 
41
43
  [tool.rye]
42
44
  managed = true
@@ -54,6 +56,7 @@ dev-dependencies = [
54
56
  "importlib-metadata>=6.7.0",
55
57
  "rich>=13.7.1",
56
58
  "nest_asyncio==1.6.0",
59
+ "pytest-xdist>=3.6.1",
57
60
  ]
58
61
 
59
62
  [tool.rye.scripts]
@@ -125,7 +128,7 @@ replacement = '[\1](https://github.com/dodopayments/dodopayments-python/tree/mai
125
128
 
126
129
  [tool.pytest.ini_options]
127
130
  testpaths = ["tests"]
128
- addopts = "--tb=short"
131
+ addopts = "--tb=short -n auto"
129
132
  xfail_strict = true
130
133
  asyncio_mode = "auto"
131
134
  asyncio_default_fixture_loop_scope = "session"
@@ -10,6 +10,13 @@
10
10
  # universal: false
11
11
 
12
12
  -e file:.
13
+ aiohappyeyeballs==2.6.1
14
+ # via aiohttp
15
+ aiohttp==3.12.8
16
+ # via dodopayments
17
+ # via httpx-aiohttp
18
+ aiosignal==1.3.2
19
+ # via aiohttp
13
20
  annotated-types==0.6.0
14
21
  # via pydantic
15
22
  anyio==4.4.0
@@ -17,6 +24,10 @@ anyio==4.4.0
17
24
  # via httpx
18
25
  argcomplete==3.1.2
19
26
  # via nox
27
+ async-timeout==5.0.1
28
+ # via aiohttp
29
+ attrs==25.3.0
30
+ # via aiohttp
20
31
  certifi==2023.7.22
21
32
  # via httpcore
22
33
  # via httpx
@@ -30,18 +41,27 @@ distro==1.8.0
30
41
  exceptiongroup==1.2.2
31
42
  # via anyio
32
43
  # via pytest
44
+ execnet==2.1.1
45
+ # via pytest-xdist
33
46
  filelock==3.12.4
34
47
  # via virtualenv
48
+ frozenlist==1.6.2
49
+ # via aiohttp
50
+ # via aiosignal
35
51
  h11==0.14.0
36
52
  # via httpcore
37
53
  httpcore==1.0.2
38
54
  # via httpx
39
55
  httpx==0.28.1
40
56
  # via dodopayments
57
+ # via httpx-aiohttp
41
58
  # via respx
59
+ httpx-aiohttp==0.1.6
60
+ # via dodopayments
42
61
  idna==3.4
43
62
  # via anyio
44
63
  # via httpx
64
+ # via yarl
45
65
  importlib-metadata==7.0.0
46
66
  iniconfig==2.0.0
47
67
  # via pytest
@@ -49,6 +69,9 @@ markdown-it-py==3.0.0
49
69
  # via rich
50
70
  mdurl==0.1.2
51
71
  # via markdown-it-py
72
+ multidict==6.4.4
73
+ # via aiohttp
74
+ # via yarl
52
75
  mypy==1.14.1
53
76
  mypy-extensions==1.0.0
54
77
  # via mypy
@@ -63,6 +86,9 @@ platformdirs==3.11.0
63
86
  # via virtualenv
64
87
  pluggy==1.5.0
65
88
  # via pytest
89
+ propcache==0.3.1
90
+ # via aiohttp
91
+ # via yarl
66
92
  pydantic==2.10.3
67
93
  # via dodopayments
68
94
  pydantic-core==2.27.1
@@ -72,7 +98,9 @@ pygments==2.18.0
72
98
  pyright==1.1.399
73
99
  pytest==8.3.3
74
100
  # via pytest-asyncio
101
+ # via pytest-xdist
75
102
  pytest-asyncio==0.24.0
103
+ pytest-xdist==3.7.0
76
104
  python-dateutil==2.8.2
77
105
  # via time-machine
78
106
  pytz==2023.3.post1
@@ -94,11 +122,14 @@ tomli==2.0.2
94
122
  typing-extensions==4.12.2
95
123
  # via anyio
96
124
  # via dodopayments
125
+ # via multidict
97
126
  # via mypy
98
127
  # via pydantic
99
128
  # via pydantic-core
100
129
  # via pyright
101
130
  virtualenv==20.24.5
102
131
  # via nox
132
+ yarl==1.20.0
133
+ # via aiohttp
103
134
  zipp==3.17.0
104
135
  # via importlib-metadata
@@ -10,11 +10,22 @@
10
10
  # universal: false
11
11
 
12
12
  -e file:.
13
+ aiohappyeyeballs==2.6.1
14
+ # via aiohttp
15
+ aiohttp==3.12.8
16
+ # via dodopayments
17
+ # via httpx-aiohttp
18
+ aiosignal==1.3.2
19
+ # via aiohttp
13
20
  annotated-types==0.6.0
14
21
  # via pydantic
15
22
  anyio==4.4.0
16
23
  # via dodopayments
17
24
  # via httpx
25
+ async-timeout==5.0.1
26
+ # via aiohttp
27
+ attrs==25.3.0
28
+ # via aiohttp
18
29
  certifi==2023.7.22
19
30
  # via httpcore
20
31
  # via httpx
@@ -22,15 +33,28 @@ distro==1.8.0
22
33
  # via dodopayments
23
34
  exceptiongroup==1.2.2
24
35
  # via anyio
36
+ frozenlist==1.6.2
37
+ # via aiohttp
38
+ # via aiosignal
25
39
  h11==0.14.0
26
40
  # via httpcore
27
41
  httpcore==1.0.2
28
42
  # via httpx
29
43
  httpx==0.28.1
30
44
  # via dodopayments
45
+ # via httpx-aiohttp
46
+ httpx-aiohttp==0.1.6
47
+ # via dodopayments
31
48
  idna==3.4
32
49
  # via anyio
33
50
  # via httpx
51
+ # via yarl
52
+ multidict==6.4.4
53
+ # via aiohttp
54
+ # via yarl
55
+ propcache==0.3.1
56
+ # via aiohttp
57
+ # via yarl
34
58
  pydantic==2.10.3
35
59
  # via dodopayments
36
60
  pydantic-core==2.27.1
@@ -41,5 +65,8 @@ sniffio==1.3.0
41
65
  typing-extensions==4.12.2
42
66
  # via anyio
43
67
  # via dodopayments
68
+ # via multidict
44
69
  # via pydantic
45
70
  # via pydantic-core
71
+ yarl==1.20.0
72
+ # via aiohttp
@@ -37,7 +37,7 @@ from ._exceptions import (
37
37
  UnprocessableEntityError,
38
38
  APIResponseValidationError,
39
39
  )
40
- from ._base_client import DefaultHttpxClient, DefaultAsyncHttpxClient
40
+ from ._base_client import DefaultHttpxClient, DefaultAioHttpClient, DefaultAsyncHttpxClient
41
41
  from ._utils._logs import setup_logging as _setup_logging
42
42
 
43
43
  __all__ = [
@@ -80,6 +80,7 @@ __all__ = [
80
80
  "DEFAULT_CONNECTION_LIMITS",
81
81
  "DefaultHttpxClient",
82
82
  "DefaultAsyncHttpxClient",
83
+ "DefaultAioHttpClient",
83
84
  ]
84
85
 
85
86
  if not _t.TYPE_CHECKING:
@@ -1071,7 +1071,14 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1071
1071
  ) -> ResponseT:
1072
1072
  origin = get_origin(cast_to) or cast_to
1073
1073
 
1074
- if inspect.isclass(origin) and issubclass(origin, BaseAPIResponse):
1074
+ if (
1075
+ inspect.isclass(origin)
1076
+ and issubclass(origin, BaseAPIResponse)
1077
+ # we only want to actually return the custom BaseAPIResponse class if we're
1078
+ # returning the raw response, or if we're not streaming SSE, as if we're streaming
1079
+ # SSE then `cast_to` doesn't actively reflect the type we need to parse into
1080
+ and (not stream or bool(response.request.headers.get(RAW_RESPONSE_HEADER)))
1081
+ ):
1075
1082
  if not issubclass(origin, APIResponse):
1076
1083
  raise TypeError(f"API Response types must subclass {APIResponse}; Received {origin}")
1077
1084
 
@@ -1282,6 +1289,24 @@ class _DefaultAsyncHttpxClient(httpx.AsyncClient):
1282
1289
  super().__init__(**kwargs)
1283
1290
 
1284
1291
 
1292
+ try:
1293
+ import httpx_aiohttp
1294
+ except ImportError:
1295
+
1296
+ class _DefaultAioHttpClient(httpx.AsyncClient):
1297
+ def __init__(self, **_kwargs: Any) -> None:
1298
+ raise RuntimeError("To use the aiohttp client you must have installed the package with the `aiohttp` extra")
1299
+ else:
1300
+
1301
+ class _DefaultAioHttpClient(httpx_aiohttp.HttpxAiohttpClient): # type: ignore
1302
+ def __init__(self, **kwargs: Any) -> None:
1303
+ kwargs.setdefault("timeout", DEFAULT_TIMEOUT)
1304
+ kwargs.setdefault("limits", DEFAULT_CONNECTION_LIMITS)
1305
+ kwargs.setdefault("follow_redirects", True)
1306
+
1307
+ super().__init__(**kwargs)
1308
+
1309
+
1285
1310
  if TYPE_CHECKING:
1286
1311
  DefaultAsyncHttpxClient = httpx.AsyncClient
1287
1312
  """An alias to `httpx.AsyncClient` that provides the same defaults that this SDK
@@ -1290,8 +1315,12 @@ if TYPE_CHECKING:
1290
1315
  This is useful because overriding the `http_client` with your own instance of
1291
1316
  `httpx.AsyncClient` will result in httpx's defaults being used, not ours.
1292
1317
  """
1318
+
1319
+ DefaultAioHttpClient = httpx.AsyncClient
1320
+ """An alias to `httpx.AsyncClient` that changes the default HTTP transport to `aiohttp`."""
1293
1321
  else:
1294
1322
  DefaultAsyncHttpxClient = _DefaultAsyncHttpxClient
1323
+ DefaultAioHttpClient = _DefaultAioHttpClient
1295
1324
 
1296
1325
 
1297
1326
  class AsyncHttpxClientWrapper(DefaultAsyncHttpxClient):
@@ -1574,7 +1603,14 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1574
1603
  ) -> ResponseT:
1575
1604
  origin = get_origin(cast_to) or cast_to
1576
1605
 
1577
- if inspect.isclass(origin) and issubclass(origin, BaseAPIResponse):
1606
+ if (
1607
+ inspect.isclass(origin)
1608
+ and issubclass(origin, BaseAPIResponse)
1609
+ # we only want to actually return the custom BaseAPIResponse class if we're
1610
+ # returning the raw response, or if we're not streaming SSE, as if we're streaming
1611
+ # SSE then `cast_to` doesn't actively reflect the type we need to parse into
1612
+ and (not stream or bool(response.request.headers.get(RAW_RESPONSE_HEADER)))
1613
+ ):
1578
1614
  if not issubclass(origin, AsyncAPIResponse):
1579
1615
  raise TypeError(f"API Response types must subclass {AsyncAPIResponse}; Received {origin}")
1580
1616
 
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "dodopayments"
4
- __version__ = "1.32.0" # x-release-please-version
4
+ __version__ = "1.34.1" # x-release-please-version