growsurf-python 1.9.0__tar.gz → 1.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 (213) hide show
  1. growsurf_python-1.10.0/.release-please-manifest.json +3 -0
  2. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/CHANGELOG.md +7 -0
  3. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/PKG-INFO +1 -1
  4. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/pyproject.toml +1 -1
  5. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_utils/_transform.py +4 -2
  6. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_version.py +1 -1
  7. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/campaign/rewards.py +6 -6
  8. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/campaign_design.py +5 -1
  9. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/test_transform.py +18 -0
  10. growsurf_python-1.9.0/.release-please-manifest.json +0 -3
  11. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/.gitignore +0 -0
  12. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/CONTRIBUTING.md +0 -0
  13. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/LICENSE +0 -0
  14. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/README.md +0 -0
  15. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/SECURITY.md +0 -0
  16. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/api.md +0 -0
  17. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/bin/check-release-environment +0 -0
  18. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/bin/publish-pypi +0 -0
  19. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/examples/.keep +0 -0
  20. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/release-please-config.json +0 -0
  21. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/requirements-dev.lock +0 -0
  22. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/__init__.py +0 -0
  23. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_base_client.py +0 -0
  24. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_client.py +0 -0
  25. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_compat.py +0 -0
  26. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_constants.py +0 -0
  27. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_exceptions.py +0 -0
  28. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_files.py +0 -0
  29. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_models.py +0 -0
  30. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_qs.py +0 -0
  31. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_resource.py +0 -0
  32. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_response.py +0 -0
  33. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_streaming.py +0 -0
  34. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_types.py +0 -0
  35. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_utils/__init__.py +0 -0
  36. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_utils/_compat.py +0 -0
  37. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_utils/_datetime_parse.py +0 -0
  38. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_utils/_json.py +0 -0
  39. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_utils/_logs.py +0 -0
  40. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_utils/_path.py +0 -0
  41. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_utils/_proxy.py +0 -0
  42. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_utils/_reflection.py +0 -0
  43. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_utils/_resources_proxy.py +0 -0
  44. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_utils/_streams.py +0 -0
  45. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_utils/_sync.py +0 -0
  46. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_utils/_typing.py +0 -0
  47. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/_utils/_utils.py +0 -0
  48. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/lib/.keep +0 -0
  49. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/py.typed +0 -0
  50. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/__init__.py +0 -0
  51. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/account.py +0 -0
  52. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/campaign/__init__.py +0 -0
  53. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/campaign/campaign.py +0 -0
  54. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/campaign/commission.py +0 -0
  55. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/campaign/design.py +0 -0
  56. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/campaign/emails.py +0 -0
  57. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/campaign/installation.py +0 -0
  58. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/campaign/integrations.py +0 -0
  59. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/campaign/options.py +0 -0
  60. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/campaign/participant.py +0 -0
  61. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/campaign/program_resources.py +0 -0
  62. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/campaign/reward.py +0 -0
  63. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/campaign/webhooks.py +0 -0
  64. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/resources/team.py +0 -0
  65. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/__init__.py +0 -0
  66. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/account_create_params.py +0 -0
  67. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/affiliate_application.py +0 -0
  68. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/affiliate_application_answer.py +0 -0
  69. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/affiliate_application_list_response.py +0 -0
  70. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/affiliate_invite.py +0 -0
  71. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/affiliate_invite_list_response.py +0 -0
  72. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/analytics_availability.py +0 -0
  73. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/analytics_unavailable_reason.py +0 -0
  74. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/__init__.py +0 -0
  75. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/campaign.py +0 -0
  76. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/campaign_emails.py +0 -0
  77. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/campaign_installation.py +0 -0
  78. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/campaign_options.py +0 -0
  79. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/campaign_reward_list_response.py +0 -0
  80. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
  81. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
  82. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/delete_program_resource_response.py +0 -0
  83. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/delete_reward_response.py +0 -0
  84. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/delete_webhook_response.py +0 -0
  85. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/email_participant_response.py +0 -0
  86. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
  87. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/integration.py +0 -0
  88. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/integration_list_response.py +0 -0
  89. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant.py +0 -0
  90. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_activation_analytics.py +0 -0
  91. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_activity_logs_response.py +0 -0
  92. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_add_params.py +0 -0
  93. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_analytics_params.py +0 -0
  94. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_analytics_response.py +0 -0
  95. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_bulk_delete_params.py +0 -0
  96. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_bulk_delete_response.py +0 -0
  97. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
  98. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_email_params.py +0 -0
  99. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_get_payout_destination_response.py +0 -0
  100. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_list_activity_logs_params.py +0 -0
  101. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
  102. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
  103. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
  104. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
  105. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
  106. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
  107. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
  108. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_refund_transaction_params.py +0 -0
  109. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_refund_transaction_response.py +0 -0
  110. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_params.py +0 -0
  111. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_response.py +0 -0
  112. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_reward.py +0 -0
  113. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
  114. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
  115. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_trigger_referral_params.py +0 -0
  116. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
  117. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/participant_update_params.py +0 -0
  118. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/pending_analytics_erasure.py +0 -0
  119. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/program_resource.py +0 -0
  120. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/program_resource_list_response.py +0 -0
  121. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/program_resource_upload_result.py +0 -0
  122. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/program_resource_upload_ticket.py +0 -0
  123. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/referral_source.py +0 -0
  124. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/referral_status.py +0 -0
  125. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/reward.py +0 -0
  126. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
  127. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
  128. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/reward_create_params.py +0 -0
  129. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
  130. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
  131. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/reward_tax_valuation.py +0 -0
  132. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/reward_update_params.py +0 -0
  133. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/webhook.py +0 -0
  134. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/webhook_create_params.py +0 -0
  135. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/webhook_event.py +0 -0
  136. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/webhook_list_response.py +0 -0
  137. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/webhook_test_params.py +0 -0
  138. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/webhook_test_response.py +0 -0
  139. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign/webhook_update_params.py +0 -0
  140. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_activation_analytics_response.py +0 -0
  141. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_create_affiliate_invite_params.py +0 -0
  142. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +0 -0
  143. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
  144. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_create_params.py +0 -0
  145. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_engagement_analytics.py +0 -0
  146. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_list_affiliate_applications_params.py +0 -0
  147. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_list_affiliate_invites_params.py +0 -0
  148. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
  149. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
  150. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_list_participants_params.py +0 -0
  151. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
  152. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
  153. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_list_response.py +0 -0
  154. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_retrieve_activation_analytics_params.py +0 -0
  155. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
  156. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
  157. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_review_affiliate_application_params.py +0 -0
  158. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/campaign_update_params.py +0 -0
  159. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/commission_structure.py +0 -0
  160. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/create_account_response.py +0 -0
  161. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/email_analytics.py +0 -0
  162. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/participant_commission_list.py +0 -0
  163. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/participant_list.py +0 -0
  164. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/participant_payout_list.py +0 -0
  165. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/referral_flow_screenshot.py +0 -0
  166. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/referral_flow_screenshots_response.py +0 -0
  167. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/referral_list.py +0 -0
  168. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/rotate_api_key_response.py +0 -0
  169. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/team.py +0 -0
  170. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/team_update_params.py +0 -0
  171. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/src/growsurf/types/verification_email_response.py +0 -0
  172. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/__init__.py +0 -0
  173. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/__init__.py +0 -0
  174. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/campaign/__init__.py +0 -0
  175. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/campaign/test_commission.py +0 -0
  176. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/campaign/test_design.py +0 -0
  177. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/campaign/test_emails.py +0 -0
  178. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/campaign/test_installation.py +0 -0
  179. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/campaign/test_integrations.py +0 -0
  180. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/campaign/test_options.py +0 -0
  181. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/campaign/test_participant.py +0 -0
  182. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/campaign/test_program_resources.py +0 -0
  183. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/campaign/test_reward.py +0 -0
  184. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/campaign/test_rewards.py +0 -0
  185. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/campaign/test_webhooks.py +0 -0
  186. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/test_account.py +0 -0
  187. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/test_campaign.py +0 -0
  188. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/api_resources/test_team_contract.py +0 -0
  189. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/conftest.py +0 -0
  190. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/sample_file.txt +0 -0
  191. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/test_client.py +0 -0
  192. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/test_extract_files.py +0 -0
  193. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/test_files.py +0 -0
  194. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/test_models.py +0 -0
  195. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/test_qs.py +0 -0
  196. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/test_required_args.py +0 -0
  197. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/test_response.py +0 -0
  198. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/test_streaming.py +0 -0
  199. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/test_utils/test_datetime_parse.py +0 -0
  200. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/test_utils/test_json.py +0 -0
  201. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/test_utils/test_path.py +0 -0
  202. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/test_utils/test_proxy.py +0 -0
  203. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/test_utils/test_typing.py +0 -0
  204. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/types/test_affiliate_application.py +0 -0
  205. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/types/test_analytics_reward_status.py +0 -0
  206. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/types/test_email_analytics.py +0 -0
  207. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/types/test_lead_reward_events.py +0 -0
  208. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/types/test_participant_activation_engagement_analytics.py +0 -0
  209. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/types/test_participant_contract.py +0 -0
  210. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/types/test_payout_provider_forward_compat.py +0 -0
  211. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/types/test_referral_source.py +0 -0
  212. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/tests/utils.py +0 -0
  213. {growsurf_python-1.9.0 → growsurf_python-1.10.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.10.0"
3
+ }
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.10.0](https://github.com/growsurf/growsurf-python/compare/v1.9.0...v1.10.0) (2026-09-23)
4
+
5
+
6
+ ### Features
7
+
8
+ * **api:** update SDK campaign contracts and request handling ([fbc6468](https://github.com/growsurf/growsurf-python/commit/fbc6468fcb946a5363aec2fd21d9b2f697f5334d))
9
+
3
10
  ## [1.9.0](https://github.com/growsurf/growsurf-python/compare/v1.8.0...v1.9.0) (2026-09-21)
4
11
 
5
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: growsurf-python
3
- Version: 1.9.0
3
+ Version: 1.10.0
4
4
  Summary: The official Python library for the growsurf API
5
5
  Project-URL: Homepage, https://growsurf.com/
6
6
  Project-URL: Repository, https://github.com/growsurf/growsurf-python
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "growsurf-python"
3
- version = "1.9.0"
3
+ version = "1.10.0"
4
4
  description = "The official Python library for the growsurf API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -218,7 +218,8 @@ def _transform_recursive(
218
218
  return data
219
219
 
220
220
  if isinstance(data, pydantic.BaseModel):
221
- return model_dump(data, exclude_unset=True, mode="json")
221
+ # Request bodies use API field names, so dump aliased fields (e.g. `maxAmount`) by alias.
222
+ return model_dump(data, exclude_unset=True, mode="json", by_alias=True)
222
223
 
223
224
  annotated_type = _get_annotated_type(annotation)
224
225
  if annotated_type is None:
@@ -384,7 +385,8 @@ async def _async_transform_recursive(
384
385
  return data
385
386
 
386
387
  if isinstance(data, pydantic.BaseModel):
387
- return model_dump(data, exclude_unset=True, mode="json")
388
+ # Request bodies use API field names, so dump aliased fields (e.g. `maxAmount`) by alias.
389
+ return model_dump(data, exclude_unset=True, mode="json", by_alias=True)
388
390
 
389
391
  annotated_type = _get_annotated_type(annotation)
390
392
  if annotated_type is None:
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "growsurf"
4
- __version__ = "1.9.0" # x-release-please-version
4
+ __version__ = "1.10.0" # x-release-please-version
@@ -327,9 +327,9 @@ class RewardsResource(SyncAPIResource):
327
327
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
328
328
  ) -> CampaignRewardListResponse:
329
329
  """
330
- Retrieves the list of a program's configured rewards (`CampaignReward`s) — the
331
- same set embedded in the `rewards` array of the campaign response. Delete a
332
- reward with `DELETE /campaign/{id}/reward-configs/{campaignRewardId}`.
330
+ Retrieves configured Campaign Rewards, including switched-off rewards and rewards
331
+ whose group is not selected. Deleted rewards are excluded. The campaign response's
332
+ embedded rewards array includes only enabled, visible rewards.
333
333
 
334
334
  Args:
335
335
  extra_headers: Send extra headers
@@ -692,9 +692,9 @@ class AsyncRewardsResource(AsyncAPIResource):
692
692
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
693
693
  ) -> CampaignRewardListResponse:
694
694
  """
695
- Retrieves the list of a program's configured rewards (`CampaignReward`s) — the
696
- same set embedded in the `rewards` array of the campaign response. Delete a
697
- reward with `DELETE /campaign/{id}/reward-configs/{campaignRewardId}`.
695
+ Retrieves configured Campaign Rewards, including switched-off rewards and rewards
696
+ whose group is not selected. Deleted rewards are excluded. The campaign response's
697
+ embedded rewards array includes only enabled, visible rewards.
698
698
 
699
699
  Args:
700
700
  extra_headers: Send extra headers
@@ -55,7 +55,11 @@ class CampaignDesignResources(TypedDict, total=False):
55
55
  # `widget` is the website widget shown in a corner of your own site — a button or a
56
56
  # card, its placement and offsets, when it appears, and which pages it appears on —
57
57
  # with its colors under `theme.widget`. Both of its audience switches start off, so a
58
- # program shows nothing until you turn one on.
58
+ # program shows nothing until you turn one on. `trafficInsights` is the participant
59
+ # Traffic report: visits to a participant's share link and where they came from. It
60
+ # starts on for new affiliate programs and hidden for referral programs; `GET` returns
61
+ # every setting with its default copy, and a `PATCH` changes only the settings you
62
+ # send. Its labels cannot be blank.
59
63
  # `GET` returns the fields configured for the program;
60
64
  # `payoutDestinationConfirmation` is omitted when no confirmation fields are
61
65
  # stored. Stored `null` fields are returned as `null`; omitted and `null` fields
@@ -7,6 +7,7 @@ from datetime import date, datetime
7
7
  from typing_extensions import Required, Annotated, TypedDict
8
8
 
9
9
  import pytest
10
+ from pydantic import Field
10
11
 
11
12
  from growsurf._types import Base64FileInput, omit, not_given
12
13
  from growsurf._utils import (
@@ -317,6 +318,23 @@ async def test_pydantic_mismatched_object_type(use_async: bool) -> None:
317
318
  assert cast(Any, params) == {"foo": {"hello": "world"}}
318
319
 
319
320
 
321
+ class ModelWithAlias(BaseModel):
322
+ max_amount: Optional[int] = Field(alias="maxAmount", default=None)
323
+
324
+
325
+ class TypedDictWithAliasedModel(TypedDict, total=False):
326
+ commission_structure: Annotated[ModelWithAlias, PropertyInfo(alias="commissionStructure")]
327
+
328
+
329
+ @parametrize
330
+ @pytest.mark.asyncio
331
+ async def test_pydantic_model_uses_api_field_names(use_async: bool) -> None:
332
+ params = {"commission_structure": ModelWithAlias(maxAmount=5000)}
333
+ assert cast(Any, await transform(params, TypedDictWithAliasedModel, use_async)) == {
334
+ "commissionStructure": {"maxAmount": 5000}
335
+ }
336
+
337
+
320
338
  class ModelNestedObjects(BaseModel):
321
339
  nested: MyModel
322
340
 
@@ -1,3 +0,0 @@
1
- {
2
- ".": "1.9.0"
3
- }
File without changes