growsurf-python 1.9.0__tar.gz → 1.11.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.11.0/.release-please-manifest.json +3 -0
  2. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/CHANGELOG.md +14 -0
  3. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/PKG-INFO +1 -1
  4. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/pyproject.toml +1 -1
  5. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_transform.py +4 -2
  6. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_version.py +1 -1
  7. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/participant.py +2 -2
  8. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/rewards.py +8 -6
  9. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign_design.py +5 -1
  10. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign_installation.py +2 -1
  11. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_params.py +1 -1
  12. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_transform.py +18 -0
  13. growsurf_python-1.9.0/.release-please-manifest.json +0 -3
  14. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/.gitignore +0 -0
  15. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/CONTRIBUTING.md +0 -0
  16. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/LICENSE +0 -0
  17. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/README.md +0 -0
  18. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/SECURITY.md +0 -0
  19. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/api.md +0 -0
  20. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/bin/check-release-environment +0 -0
  21. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/bin/publish-pypi +0 -0
  22. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/examples/.keep +0 -0
  23. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/release-please-config.json +0 -0
  24. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/requirements-dev.lock +0 -0
  25. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/__init__.py +0 -0
  26. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_base_client.py +0 -0
  27. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_client.py +0 -0
  28. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_compat.py +0 -0
  29. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_constants.py +0 -0
  30. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_exceptions.py +0 -0
  31. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_files.py +0 -0
  32. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_models.py +0 -0
  33. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_qs.py +0 -0
  34. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_resource.py +0 -0
  35. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_response.py +0 -0
  36. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_streaming.py +0 -0
  37. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_types.py +0 -0
  38. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/__init__.py +0 -0
  39. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_compat.py +0 -0
  40. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_datetime_parse.py +0 -0
  41. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_json.py +0 -0
  42. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_logs.py +0 -0
  43. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_path.py +0 -0
  44. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_proxy.py +0 -0
  45. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_reflection.py +0 -0
  46. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_resources_proxy.py +0 -0
  47. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_streams.py +0 -0
  48. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_sync.py +0 -0
  49. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_typing.py +0 -0
  50. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_utils.py +0 -0
  51. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/lib/.keep +0 -0
  52. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/py.typed +0 -0
  53. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/__init__.py +0 -0
  54. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/account.py +0 -0
  55. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/__init__.py +0 -0
  56. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/campaign.py +0 -0
  57. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/commission.py +0 -0
  58. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/design.py +0 -0
  59. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/emails.py +0 -0
  60. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/installation.py +0 -0
  61. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/integrations.py +0 -0
  62. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/options.py +0 -0
  63. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/program_resources.py +0 -0
  64. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/reward.py +0 -0
  65. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/webhooks.py +0 -0
  66. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/team.py +0 -0
  67. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/__init__.py +0 -0
  68. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/account_create_params.py +0 -0
  69. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/affiliate_application.py +0 -0
  70. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/affiliate_application_answer.py +0 -0
  71. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/affiliate_application_list_response.py +0 -0
  72. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/affiliate_invite.py +0 -0
  73. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/affiliate_invite_list_response.py +0 -0
  74. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/analytics_availability.py +0 -0
  75. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/analytics_unavailable_reason.py +0 -0
  76. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/__init__.py +0 -0
  77. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign.py +0 -0
  78. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign_emails.py +0 -0
  79. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign_options.py +0 -0
  80. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign_reward_list_response.py +0 -0
  81. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
  82. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
  83. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/delete_program_resource_response.py +0 -0
  84. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/delete_reward_response.py +0 -0
  85. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/delete_webhook_response.py +0 -0
  86. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/email_participant_response.py +0 -0
  87. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
  88. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/integration.py +0 -0
  89. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/integration_list_response.py +0 -0
  90. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant.py +0 -0
  91. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_activation_analytics.py +0 -0
  92. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_activity_logs_response.py +0 -0
  93. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_add_params.py +0 -0
  94. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_analytics_params.py +0 -0
  95. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_analytics_response.py +0 -0
  96. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_bulk_delete_params.py +0 -0
  97. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_bulk_delete_response.py +0 -0
  98. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
  99. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_email_params.py +0 -0
  100. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_get_payout_destination_response.py +0 -0
  101. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_list_activity_logs_params.py +0 -0
  102. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
  103. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
  104. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
  105. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
  106. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
  107. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
  108. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
  109. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_refund_transaction_params.py +0 -0
  110. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_refund_transaction_response.py +0 -0
  111. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_response.py +0 -0
  112. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_reward.py +0 -0
  113. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
  114. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
  115. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_trigger_referral_params.py +0 -0
  116. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
  117. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_update_params.py +0 -0
  118. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/pending_analytics_erasure.py +0 -0
  119. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/program_resource.py +0 -0
  120. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/program_resource_list_response.py +0 -0
  121. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/program_resource_upload_result.py +0 -0
  122. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/program_resource_upload_ticket.py +0 -0
  123. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/referral_source.py +0 -0
  124. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/referral_status.py +0 -0
  125. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward.py +0 -0
  126. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
  127. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
  128. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_create_params.py +0 -0
  129. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
  130. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
  131. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_tax_valuation.py +0 -0
  132. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_update_params.py +0 -0
  133. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook.py +0 -0
  134. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook_create_params.py +0 -0
  135. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook_event.py +0 -0
  136. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook_list_response.py +0 -0
  137. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook_test_params.py +0 -0
  138. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook_test_response.py +0 -0
  139. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook_update_params.py +0 -0
  140. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_activation_analytics_response.py +0 -0
  141. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_create_affiliate_invite_params.py +0 -0
  142. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +0 -0
  143. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
  144. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_create_params.py +0 -0
  145. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_engagement_analytics.py +0 -0
  146. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_affiliate_applications_params.py +0 -0
  147. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_affiliate_invites_params.py +0 -0
  148. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
  149. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
  150. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_participants_params.py +0 -0
  151. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
  152. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
  153. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_response.py +0 -0
  154. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_retrieve_activation_analytics_params.py +0 -0
  155. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
  156. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
  157. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_review_affiliate_application_params.py +0 -0
  158. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_update_params.py +0 -0
  159. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/commission_structure.py +0 -0
  160. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/create_account_response.py +0 -0
  161. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/email_analytics.py +0 -0
  162. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/participant_commission_list.py +0 -0
  163. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/participant_list.py +0 -0
  164. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/participant_payout_list.py +0 -0
  165. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/referral_flow_screenshot.py +0 -0
  166. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/referral_flow_screenshots_response.py +0 -0
  167. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/referral_list.py +0 -0
  168. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/rotate_api_key_response.py +0 -0
  169. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/team.py +0 -0
  170. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/team_update_params.py +0 -0
  171. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/verification_email_response.py +0 -0
  172. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/__init__.py +0 -0
  173. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/__init__.py +0 -0
  174. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/__init__.py +0 -0
  175. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_commission.py +0 -0
  176. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_design.py +0 -0
  177. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_emails.py +0 -0
  178. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_installation.py +0 -0
  179. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_integrations.py +0 -0
  180. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_options.py +0 -0
  181. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_participant.py +0 -0
  182. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_program_resources.py +0 -0
  183. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_reward.py +0 -0
  184. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_rewards.py +0 -0
  185. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_webhooks.py +0 -0
  186. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/test_account.py +0 -0
  187. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/test_campaign.py +0 -0
  188. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/test_team_contract.py +0 -0
  189. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/conftest.py +0 -0
  190. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/sample_file.txt +0 -0
  191. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_client.py +0 -0
  192. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_extract_files.py +0 -0
  193. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_files.py +0 -0
  194. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_models.py +0 -0
  195. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_qs.py +0 -0
  196. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_required_args.py +0 -0
  197. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_response.py +0 -0
  198. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_streaming.py +0 -0
  199. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_utils/test_datetime_parse.py +0 -0
  200. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_utils/test_json.py +0 -0
  201. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_utils/test_path.py +0 -0
  202. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_utils/test_proxy.py +0 -0
  203. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_utils/test_typing.py +0 -0
  204. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_affiliate_application.py +0 -0
  205. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_analytics_reward_status.py +0 -0
  206. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_email_analytics.py +0 -0
  207. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_lead_reward_events.py +0 -0
  208. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_participant_activation_engagement_analytics.py +0 -0
  209. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_participant_contract.py +0 -0
  210. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_payout_provider_forward_compat.py +0 -0
  211. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_referral_source.py +0 -0
  212. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/utils.py +0 -0
  213. {growsurf_python-1.9.0 → growsurf_python-1.11.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.11.0"
3
+ }
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.11.0](https://github.com/growsurf/growsurf-python/compare/v1.10.0...v1.11.0) (2026-09-29)
4
+
5
+
6
+ ### Features
7
+
8
+ * **api:** update campaign contracts ([0351056](https://github.com/growsurf/growsurf-python/commit/03510565276942c3fe56ed8cd91e2547a88dff54))
9
+
10
+ ## [1.10.0](https://github.com/growsurf/growsurf-python/compare/v1.9.0...v1.10.0) (2026-09-23)
11
+
12
+
13
+ ### Features
14
+
15
+ * **api:** update SDK campaign contracts and request handling ([fbc6468](https://github.com/growsurf/growsurf-python/commit/fbc6468fcb946a5363aec2fd21d9b2f697f5334d))
16
+
3
17
  ## [1.9.0](https://github.com/growsurf/growsurf-python/compare/v1.8.0...v1.9.0) (2026-09-21)
4
18
 
5
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: growsurf-python
3
- Version: 1.9.0
3
+ Version: 1.11.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.11.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.11.0" # x-release-please-version
@@ -1278,7 +1278,7 @@ class ParticipantResource(SyncAPIResource):
1278
1278
  participant_id_or_email: str,
1279
1279
  *,
1280
1280
  id: str,
1281
- provider: Literal["PAYPAL", "WISECOM"],
1281
+ provider: Literal["PAYPAL", "VENMO", "WISECOM"],
1282
1282
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1283
1283
  # The extra values given here take precedence over values defined on the client or passed to this method.
1284
1284
  extra_headers: Headers | None = None,
@@ -2544,7 +2544,7 @@ class AsyncParticipantResource(AsyncAPIResource):
2544
2544
  participant_id_or_email: str,
2545
2545
  *,
2546
2546
  id: str,
2547
- provider: Literal["PAYPAL", "WISECOM"],
2547
+ provider: Literal["PAYPAL", "VENMO", "WISECOM"],
2548
2548
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
2549
2549
  # The extra values given here take precedence over values defined on the client or passed to this method.
2550
2550
  extra_headers: Headers | None = None,
@@ -327,9 +327,10 @@ 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. A reward can be earned only
333
+ when it also appears in the campaign response's embedded `rewards` array.
333
334
 
334
335
  Args:
335
336
  extra_headers: Send extra headers
@@ -692,9 +693,10 @@ class AsyncRewardsResource(AsyncAPIResource):
692
693
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
693
694
  ) -> CampaignRewardListResponse:
694
695
  """
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}`.
696
+ Retrieves configured Campaign Rewards, including switched-off rewards and rewards
697
+ whose group is not selected. Deleted rewards are excluded. The campaign response's
698
+ embedded `rewards` array includes only enabled, visible rewards. A reward can be earned only
699
+ when it also appears in the campaign response's embedded `rewards` array.
698
700
 
699
701
  Args:
700
702
  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,7 +7,8 @@ __all__ = ["CampaignInstallation"]
7
7
 
8
8
  # A program's installation configuration (the dashboard Program Editor's
9
9
  # Installation tab, plus Mobile SDK settings): referral trigger, signup
10
- # tracking, share URL + whitelist, custom-form signup, and mobile SDK settings.
10
+ # tracking, share URL + whitelist, custom-form signup, mobile SDK settings,
11
+ # and saved installation-guide choices (`instructionSelections`).
11
12
  # It is intentionally modeled as a loose object. To see the full object with
12
13
  # every field and its current value, `GET` the resource, then `PATCH` back only
13
14
  # the fields you want to change.
@@ -10,5 +10,5 @@ __all__ = ["ParticipantRequestPayoutDestinationConfirmationParams"]
10
10
  class ParticipantRequestPayoutDestinationConfirmationParams(TypedDict, total=False):
11
11
  id: Required[str]
12
12
 
13
- provider: Required[Literal["PAYPAL", "WISECOM"]]
13
+ provider: Required[Literal["PAYPAL", "VENMO", "WISECOM"]]
14
14
  """The payout provider the participant should confirm a destination for."""
@@ -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