growsurf-python 1.0.0__tar.gz → 1.1.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.
Files changed (171) hide show
  1. growsurf_python-1.1.1/.release-please-manifest.json +3 -0
  2. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/CHANGELOG.md +25 -0
  3. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/PKG-INFO +2 -2
  4. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/README.md +1 -1
  5. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/api.md +52 -0
  6. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/pyproject.toml +1 -1
  7. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_client.py +38 -1
  8. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_version.py +1 -1
  9. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/resources/__init__.py +14 -0
  10. growsurf_python-1.1.1/src/growsurf/resources/account.py +566 -0
  11. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/resources/campaign/__init__.py +14 -0
  12. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/resources/campaign/campaign.py +90 -18
  13. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/resources/campaign/design.py +16 -12
  14. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/resources/campaign/emails.py +18 -14
  15. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/resources/campaign/installation.py +14 -10
  16. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/resources/campaign/options.py +10 -6
  17. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/resources/campaign/participant.py +626 -0
  18. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/resources/campaign/rewards.py +32 -34
  19. growsurf_python-1.1.1/src/growsurf/resources/campaign/webhooks.py +587 -0
  20. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/__init__.py +6 -0
  21. growsurf_python-1.1.1/src/growsurf/types/account.py +35 -0
  22. growsurf_python-1.1.1/src/growsurf/types/account_create_params.py +23 -0
  23. growsurf_python-1.1.1/src/growsurf/types/account_update_params.py +17 -0
  24. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/__init__.py +18 -0
  25. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/campaign.py +5 -1
  26. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/campaign_design.py +3 -3
  27. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/campaign_emails.py +2 -2
  28. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/campaign_installation.py +3 -2
  29. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/campaign_options.py +3 -2
  30. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/campaign_reward_list_response.py +1 -1
  31. growsurf_python-1.1.1/src/growsurf/types/campaign/delete_webhook_response.py +11 -0
  32. growsurf_python-1.1.1/src/growsurf/types/campaign/email_participant_response.py +14 -0
  33. growsurf_python-1.1.1/src/growsurf/types/campaign/participant_activity_logs_response.py +28 -0
  34. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_add_params.py +5 -0
  35. growsurf_python-1.0.0/src/growsurf/types/campaign_retrieve_analytics_params.py → growsurf_python-1.1.1/src/growsurf/types/campaign/participant_analytics_params.py +15 -4
  36. growsurf_python-1.1.1/src/growsurf/types/campaign/participant_analytics_response.py +144 -0
  37. growsurf_python-1.1.1/src/growsurf/types/campaign/participant_bulk_delete_params.py +17 -0
  38. growsurf_python-1.1.1/src/growsurf/types/campaign/participant_bulk_delete_response.py +63 -0
  39. growsurf_python-1.1.1/src/growsurf/types/campaign/participant_email_params.py +35 -0
  40. growsurf_python-1.1.1/src/growsurf/types/campaign/participant_list_activity_logs_params.py +17 -0
  41. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_update_params.py +7 -0
  42. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/reward.py +15 -3
  43. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/reward_create_params.py +32 -6
  44. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/reward_update_params.py +32 -6
  45. growsurf_python-1.1.1/src/growsurf/types/campaign/webhook.py +37 -0
  46. growsurf_python-1.1.1/src/growsurf/types/campaign/webhook_create_params.py +27 -0
  47. growsurf_python-1.1.1/src/growsurf/types/campaign/webhook_event.py +15 -0
  48. growsurf_python-1.1.1/src/growsurf/types/campaign/webhook_list_response.py +12 -0
  49. growsurf_python-1.1.1/src/growsurf/types/campaign/webhook_test_params.py +19 -0
  50. growsurf_python-1.1.1/src/growsurf/types/campaign/webhook_test_response.py +24 -0
  51. growsurf_python-1.1.1/src/growsurf/types/campaign/webhook_update_params.py +24 -0
  52. growsurf_python-1.1.1/src/growsurf/types/campaign_retrieve_analytics_params.py +43 -0
  53. growsurf_python-1.1.1/src/growsurf/types/campaign_retrieve_analytics_response.py +206 -0
  54. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign_update_params.py +6 -2
  55. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/commission_structure.py +3 -1
  56. growsurf_python-1.1.1/src/growsurf/types/create_account_response.py +26 -0
  57. growsurf_python-1.1.1/src/growsurf/types/rotate_api_key_response.py +12 -0
  58. growsurf_python-1.1.1/src/growsurf/types/verification_email_response.py +13 -0
  59. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/api_resources/campaign/test_participant.py +500 -0
  60. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/api_resources/campaign/test_rewards.py +0 -4
  61. growsurf_python-1.1.1/tests/api_resources/campaign/test_webhooks.py +587 -0
  62. growsurf_python-1.1.1/tests/api_resources/test_account.py +419 -0
  63. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/api_resources/test_campaign.py +6 -2
  64. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/uv.lock +1 -1
  65. growsurf_python-1.0.0/.release-please-manifest.json +0 -3
  66. growsurf_python-1.0.0/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -81
  67. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/.gitignore +0 -0
  68. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/CONTRIBUTING.md +0 -0
  69. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/LICENSE +0 -0
  70. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/SECURITY.md +0 -0
  71. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/bin/check-release-environment +0 -0
  72. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/bin/publish-pypi +0 -0
  73. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/examples/.keep +0 -0
  74. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/release-please-config.json +0 -0
  75. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/requirements-dev.lock +0 -0
  76. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/__init__.py +0 -0
  77. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_base_client.py +0 -0
  78. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_compat.py +0 -0
  79. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_constants.py +0 -0
  80. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_exceptions.py +0 -0
  81. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_files.py +0 -0
  82. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_models.py +0 -0
  83. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_qs.py +0 -0
  84. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_resource.py +0 -0
  85. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_response.py +0 -0
  86. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_streaming.py +0 -0
  87. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_types.py +0 -0
  88. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_utils/__init__.py +0 -0
  89. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_utils/_compat.py +0 -0
  90. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_utils/_datetime_parse.py +0 -0
  91. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_utils/_json.py +0 -0
  92. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_utils/_logs.py +0 -0
  93. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_utils/_path.py +0 -0
  94. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_utils/_proxy.py +0 -0
  95. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_utils/_reflection.py +0 -0
  96. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_utils/_resources_proxy.py +0 -0
  97. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_utils/_streams.py +0 -0
  98. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_utils/_sync.py +0 -0
  99. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_utils/_transform.py +0 -0
  100. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_utils/_typing.py +0 -0
  101. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/_utils/_utils.py +0 -0
  102. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/lib/.keep +0 -0
  103. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/py.typed +0 -0
  104. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/resources/campaign/commission.py +0 -0
  105. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/resources/campaign/reward.py +0 -0
  106. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
  107. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
  108. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/delete_reward_response.py +0 -0
  109. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
  110. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant.py +0 -0
  111. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
  112. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
  113. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
  114. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
  115. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
  116. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
  117. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
  118. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
  119. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_refund_transaction_params.py +0 -0
  120. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_refund_transaction_response.py +0 -0
  121. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_reward.py +0 -0
  122. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
  123. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
  124. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_trigger_referral_params.py +0 -0
  125. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
  126. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/referral_source.py +0 -0
  127. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/referral_status.py +0 -0
  128. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
  129. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
  130. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
  131. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
  132. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign/reward_tax_valuation.py +0 -0
  133. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +0 -0
  134. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
  135. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign_create_params.py +0 -0
  136. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
  137. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
  138. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign_list_participants_params.py +0 -0
  139. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
  140. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
  141. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/campaign_list_response.py +0 -0
  142. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/participant_commission_list.py +0 -0
  143. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/participant_list.py +0 -0
  144. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/participant_payout_list.py +0 -0
  145. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/src/growsurf/types/referral_list.py +0 -0
  146. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/__init__.py +0 -0
  147. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/api_resources/__init__.py +0 -0
  148. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/api_resources/campaign/__init__.py +0 -0
  149. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/api_resources/campaign/test_commission.py +0 -0
  150. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/api_resources/campaign/test_design.py +0 -0
  151. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/api_resources/campaign/test_emails.py +0 -0
  152. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/api_resources/campaign/test_installation.py +0 -0
  153. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/api_resources/campaign/test_options.py +0 -0
  154. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/api_resources/campaign/test_reward.py +0 -0
  155. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/conftest.py +0 -0
  156. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/sample_file.txt +0 -0
  157. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/test_client.py +0 -0
  158. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/test_extract_files.py +0 -0
  159. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/test_files.py +0 -0
  160. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/test_models.py +0 -0
  161. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/test_qs.py +0 -0
  162. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/test_required_args.py +0 -0
  163. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/test_response.py +0 -0
  164. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/test_streaming.py +0 -0
  165. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/test_transform.py +0 -0
  166. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/test_utils/test_datetime_parse.py +0 -0
  167. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/test_utils/test_json.py +0 -0
  168. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/test_utils/test_path.py +0 -0
  169. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/test_utils/test_proxy.py +0 -0
  170. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/test_utils/test_typing.py +0 -0
  171. {growsurf_python-1.0.0 → growsurf_python-1.1.1}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.1.1"
3
+ }
@@ -1,5 +1,30 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.1.1](https://github.com/growsurf/growsurf-python/compare/v1.1.0...v1.1.1) (2026-07-09)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * remove referral screenshot REST surface ([28e5902](https://github.com/growsurf/growsurf-python/commit/28e59029205433515d7797b99985fd480ed3a67a))
9
+ * skip mobile token mock tests ([b3592eb](https://github.com/growsurf/growsurf-python/commit/b3592eb63df762cb7539250f6c939f265a7a9fe1))
10
+
11
+
12
+ ### Documentation
13
+
14
+ * reduce PyPI badge cache ([358dd6d](https://github.com/growsurf/growsurf-python/commit/358dd6dc1a69895e12a87772e77561e967f2cf2d))
15
+
16
+ ## [1.1.0](https://github.com/growsurf/growsurf-python/compare/v1.0.0...v1.1.0) (2026-07-08)
17
+
18
+
19
+ ### Features
20
+
21
+ * add account webhook and participant APIs ([6b8fc27](https://github.com/growsurf/growsurf-python/commit/6b8fc2734e28322d8d6891295e8d3a4a2487c1d5))
22
+
23
+
24
+ ### Bug Fixes
25
+
26
+ * sort Python SDK imports ([e3a8a9d](https://github.com/growsurf/growsurf-python/commit/e3a8a9dc9b3793bad975c4c3951287ceeea20733))
27
+
3
28
  ## [1.0.0](https://github.com/growsurf/growsurf-python/compare/v0.8.0...v1.0.0) (2026-07-03)
4
29
 
5
30
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: growsurf-python
3
- Version: 1.0.0
3
+ Version: 1.1.1
4
4
  Summary: The official Python library for the growsurf API
5
5
  Project-URL: Homepage, https://github.com/growsurf/growsurf-python
6
6
  Project-URL: Repository, https://github.com/growsurf/growsurf-python
@@ -36,7 +36,7 @@ Description-Content-Type: text/markdown
36
36
  # Growsurf Python API library
37
37
 
38
38
  <!-- prettier-ignore -->
39
- [![PyPI version](https://img.shields.io/pypi/v/growsurf-python.svg?label=pypi%20(stable))](https://pypi.org/project/growsurf-python/)
39
+ [![PyPI version](https://img.shields.io/pypi/v/growsurf-python.svg?label=pypi%20(stable)&cacheSeconds=300)](https://pypi.org/project/growsurf-python/)
40
40
 
41
41
  The Growsurf Python library provides convenient access to the Growsurf REST API from any Python 3.9+
42
42
  application. The library includes type definitions for all request params and response fields,
@@ -1,7 +1,7 @@
1
1
  # Growsurf Python API library
2
2
 
3
3
  <!-- prettier-ignore -->
4
- [![PyPI version](https://img.shields.io/pypi/v/growsurf-python.svg?label=pypi%20(stable))](https://pypi.org/project/growsurf-python/)
4
+ [![PyPI version](https://img.shields.io/pypi/v/growsurf-python.svg?label=pypi%20(stable)&cacheSeconds=300)](https://pypi.org/project/growsurf-python/)
5
5
 
6
6
  The Growsurf Python library provides convenient access to the Growsurf REST API from any Python 3.9+
7
7
  application. The library includes type definitions for all request params and response fields,
@@ -1,3 +1,25 @@
1
+ # Account
2
+
3
+ Types:
4
+
5
+ ```python
6
+ from growsurf.types import (
7
+ Account,
8
+ CreateAccountResponse,
9
+ RotateApiKeyResponse,
10
+ VerificationEmailResponse,
11
+ )
12
+ ```
13
+
14
+ Methods:
15
+
16
+ - <code title="post /accounts">client.account.<a href="./src/growsurf/resources/account.py">create</a>(\*\*<a href="src/growsurf/types/account_create_params.py">params</a>) -> <a href="./src/growsurf/types/create_account_response.py">CreateAccountResponse</a></code>
17
+ - <code title="get /account">client.account.<a href="./src/growsurf/resources/account.py">retrieve</a>() -> <a href="./src/growsurf/types/account.py">Account</a></code>
18
+ - <code title="patch /account">client.account.<a href="./src/growsurf/resources/account.py">update</a>(\*\*<a href="src/growsurf/types/account_update_params.py">params</a>) -> <a href="./src/growsurf/types/account.py">Account</a></code>
19
+ - <code title="post /account/api-key">client.account.<a href="./src/growsurf/resources/account.py">rotate_api_key</a>() -> <a href="./src/growsurf/types/rotate_api_key_response.py">RotateApiKeyResponse</a></code>
20
+ - <code title="post /account/verification-request">client.account.<a href="./src/growsurf/resources/account.py">request_verification</a>() -> <a href="./src/growsurf/types/account.py">Account</a></code>
21
+ - <code title="post /account/verification-email">client.account.<a href="./src/growsurf/resources/account.py">resend_verification_email</a>() -> <a href="./src/growsurf/types/verification_email_response.py">VerificationEmailResponse</a></code>
22
+
1
23
  # Campaign
2
24
 
3
25
  Types:
@@ -43,8 +65,12 @@ from growsurf.types.campaign import (
43
65
  ParticipantReward,
44
66
  ReferralSource,
45
67
  ReferralStatus,
68
+ EmailParticipantResponse,
46
69
  ParticipantDeleteResponse,
70
+ ParticipantAnalyticsResponse,
71
+ ParticipantBulkDeleteResponse,
47
72
  ParticipantListRewardsResponse,
73
+ ParticipantActivityLogsResponse,
48
74
  ParticipantRecordTransactionResponse,
49
75
  ParticipantRefundTransactionResponse,
50
76
  ParticipantSendInvitesResponse,
@@ -57,6 +83,7 @@ Methods:
57
83
  - <code title="get /campaign/{id}/participant/{participantIdOrEmail}">client.campaign.participant.<a href="./src/growsurf/resources/campaign/participant.py">retrieve</a>(participant_id_or_email, \*, id) -> <a href="./src/growsurf/types/campaign/participant.py">Participant</a></code>
58
84
  - <code title="post /campaign/{id}/participant/{participantIdOrEmail}">client.campaign.participant.<a href="./src/growsurf/resources/campaign/participant.py">update</a>(participant_id_or_email, \*, id, \*\*<a href="src/growsurf/types/campaign/participant_update_params.py">params</a>) -> <a href="./src/growsurf/types/campaign/participant.py">Participant</a></code>
59
85
  - <code title="delete /campaign/{id}/participant/{participantIdOrEmail}">client.campaign.participant.<a href="./src/growsurf/resources/campaign/participant.py">delete</a>(participant_id_or_email, \*, id) -> <a href="./src/growsurf/types/campaign/participant_delete_response.py">ParticipantDeleteResponse</a></code>
86
+ - <code title="post /campaign/{id}/participants/bulk-delete">client.campaign.participant.<a href="./src/growsurf/resources/campaign/participant.py">bulk_delete</a>(id, \*\*<a href="src/growsurf/types/campaign/participant_bulk_delete_params.py">params</a>) -> <a href="./src/growsurf/types/campaign/participant_bulk_delete_response.py">ParticipantBulkDeleteResponse</a></code>
60
87
  - <code title="post /campaign/{id}/participant">client.campaign.participant.<a href="./src/growsurf/resources/campaign/participant.py">add</a>(id, \*\*<a href="src/growsurf/types/campaign/participant_add_params.py">params</a>) -> <a href="./src/growsurf/types/campaign/participant.py">Participant</a></code>
61
88
  - <code title="get /campaign/{id}/participant/{participantIdOrEmail}/commissions">client.campaign.participant.<a href="./src/growsurf/resources/campaign/participant.py">list_commissions</a>(participant_id_or_email, \*, id, \*\*<a href="src/growsurf/types/campaign/participant_list_commissions_params.py">params</a>) -> <a href="./src/growsurf/types/participant_commission_list.py">ParticipantCommissionList</a></code>
62
89
  - <code title="get /campaign/{id}/participant/{participantIdOrEmail}/payouts">client.campaign.participant.<a href="./src/growsurf/resources/campaign/participant.py">list_payouts</a>(participant_id_or_email, \*, id, \*\*<a href="src/growsurf/types/campaign/participant_list_payouts_params.py">params</a>) -> <a href="./src/growsurf/types/participant_payout_list.py">ParticipantPayoutList</a></code>
@@ -67,6 +94,9 @@ Methods:
67
94
  - <code title="post /campaign/{id}/participant/{participantIdOrEmail}/invites">client.campaign.participant.<a href="./src/growsurf/resources/campaign/participant.py">send_invites</a>(participant_id_or_email, \*, id, \*\*<a href="src/growsurf/types/campaign/participant_send_invites_params.py">params</a>) -> <a href="./src/growsurf/types/campaign/participant_send_invites_response.py">ParticipantSendInvitesResponse</a></code>
68
95
  - <code title="post /campaign/{id}/participant/{participantIdOrEmail}/ref">client.campaign.participant.<a href="./src/growsurf/resources/campaign/participant.py">trigger_referral</a>(participant_id_or_email, \*, id, \*\*<a href="src/growsurf/types/campaign/participant_trigger_referral_params.py">params</a>) -> <a href="./src/growsurf/types/campaign/participant_trigger_referral_response.py">ParticipantTriggerReferralResponse</a></code>
69
96
  - <code title="delete /campaign/{id}/participant/{participantIdOrEmail}/ref">client.campaign.participant.<a href="./src/growsurf/resources/campaign/participant.py">cancel_delayed_referral</a>(participant_id_or_email, \*, id) -> <a href="./src/growsurf/types/campaign/participant_trigger_referral_response.py">ParticipantTriggerReferralResponse</a></code>
97
+ - <code title="post /campaign/{id}/participant/{participantIdOrEmail}/email">client.campaign.participant.<a href="./src/growsurf/resources/campaign/participant.py">email</a>(participant_id_or_email, \*, id, \*\*<a href="src/growsurf/types/campaign/participant_email_params.py">params</a>) -> <a href="./src/growsurf/types/campaign/email_participant_response.py">EmailParticipantResponse</a></code>
98
+ - <code title="get /campaign/{id}/participant/{participantIdOrEmail}/activity-logs">client.campaign.participant.<a href="./src/growsurf/resources/campaign/participant.py">list_activity_logs</a>(participant_id_or_email, \*, id, \*\*<a href="src/growsurf/types/campaign/participant_list_activity_logs_params.py">params</a>) -> <a href="./src/growsurf/types/campaign/participant_activity_logs_response.py">ParticipantActivityLogsResponse</a></code>
99
+ - <code title="get /campaign/{id}/participant/{participantIdOrEmail}/analytics">client.campaign.participant.<a href="./src/growsurf/resources/campaign/participant.py">retrieve_analytics</a>(participant_id_or_email, \*, id, \*\*<a href="src/growsurf/types/campaign/participant_analytics_params.py">params</a>) -> <a href="./src/growsurf/types/campaign/participant_analytics_response.py">ParticipantAnalyticsResponse</a></code>
70
100
 
71
101
  ## Reward
72
102
 
@@ -114,6 +144,28 @@ Methods:
114
144
  - <code title="get /campaign/{id}/reward-configs">client.campaign.rewards.<a href="./src/growsurf/resources/campaign/rewards.py">list</a>(id) -> <a href="./src/growsurf/types/campaign/campaign_reward_list_response.py">CampaignRewardListResponse</a></code>
115
145
  - <code title="delete /campaign/{id}/reward-configs/{campaignRewardId}">client.campaign.rewards.<a href="./src/growsurf/resources/campaign/rewards.py">delete</a>(campaign_reward_id, \*, id) -> <a href="./src/growsurf/types/campaign/delete_reward_response.py">DeleteRewardResponse</a></code>
116
146
 
147
+ ## Webhooks
148
+
149
+ Types:
150
+
151
+ ```python
152
+ from growsurf.types.campaign import (
153
+ Webhook,
154
+ WebhookEvent,
155
+ DeleteWebhookResponse,
156
+ WebhookListResponse,
157
+ WebhookTestResponse,
158
+ )
159
+ ```
160
+
161
+ Methods:
162
+
163
+ - <code title="post /campaign/{id}/webhooks">client.campaign.webhooks.<a href="./src/growsurf/resources/campaign/webhooks.py">create</a>(id, \*\*<a href="src/growsurf/types/campaign/webhook_create_params.py">params</a>) -> <a href="./src/growsurf/types/campaign/webhook.py">Webhook</a></code>
164
+ - <code title="patch /campaign/{id}/webhooks/{webhookId}">client.campaign.webhooks.<a href="./src/growsurf/resources/campaign/webhooks.py">update</a>(webhook_id, \*, id, \*\*<a href="src/growsurf/types/campaign/webhook_update_params.py">params</a>) -> <a href="./src/growsurf/types/campaign/webhook.py">Webhook</a></code>
165
+ - <code title="get /campaign/{id}/webhooks">client.campaign.webhooks.<a href="./src/growsurf/resources/campaign/webhooks.py">list</a>(id) -> <a href="./src/growsurf/types/campaign/webhook_list_response.py">WebhookListResponse</a></code>
166
+ - <code title="delete /campaign/{id}/webhooks/{webhookId}">client.campaign.webhooks.<a href="./src/growsurf/resources/campaign/webhooks.py">delete</a>(webhook_id, \*, id) -> <a href="./src/growsurf/types/campaign/delete_webhook_response.py">DeleteWebhookResponse</a></code>
167
+ - <code title="post /campaign/{id}/webhooks/{webhookId}/test">client.campaign.webhooks.<a href="./src/growsurf/resources/campaign/webhooks.py">test</a>(webhook_id, \*, id, \*\*<a href="src/growsurf/types/campaign/webhook_test_params.py">params</a>) -> <a href="./src/growsurf/types/campaign/webhook_test_response.py">WebhookTestResponse</a></code>
168
+
117
169
  ## Design
118
170
 
119
171
  Types:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "growsurf-python"
3
- version = "1.0.0"
3
+ version = "1.1.1"
4
4
  description = "The official Python library for the growsurf API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -36,7 +36,8 @@ from ._base_client import (
36
36
  )
37
37
 
38
38
  if TYPE_CHECKING:
39
- from .resources import campaign
39
+ from .resources import account, campaign
40
+ from .resources.account import AccountResource, AsyncAccountResource
40
41
  from .resources.campaign.campaign import CampaignResource, AsyncCampaignResource
41
42
 
42
43
  __all__ = [
@@ -115,6 +116,12 @@ class Growsurf(SyncAPIClient):
115
116
  _strict_response_validation=_strict_response_validation,
116
117
  )
117
118
 
119
+ @cached_property
120
+ def account(self) -> AccountResource:
121
+ from .resources.account import AccountResource
122
+
123
+ return AccountResource(self)
124
+
118
125
  @cached_property
119
126
  def campaign(self) -> CampaignResource:
120
127
  from .resources.campaign import CampaignResource
@@ -305,6 +312,12 @@ class AsyncGrowsurf(AsyncAPIClient):
305
312
  _strict_response_validation=_strict_response_validation,
306
313
  )
307
314
 
315
+ @cached_property
316
+ def account(self) -> AsyncAccountResource:
317
+ from .resources.account import AsyncAccountResource
318
+
319
+ return AsyncAccountResource(self)
320
+
308
321
  @cached_property
309
322
  def campaign(self) -> AsyncCampaignResource:
310
323
  from .resources.campaign import AsyncCampaignResource
@@ -437,6 +450,12 @@ class GrowsurfWithRawResponse:
437
450
  def __init__(self, client: Growsurf) -> None:
438
451
  self._client = client
439
452
 
453
+ @cached_property
454
+ def account(self) -> account.AccountResourceWithRawResponse:
455
+ from .resources.account import AccountResourceWithRawResponse
456
+
457
+ return AccountResourceWithRawResponse(self._client.account)
458
+
440
459
  @cached_property
441
460
  def campaign(self) -> campaign.CampaignResourceWithRawResponse:
442
461
  from .resources.campaign import CampaignResourceWithRawResponse
@@ -450,6 +469,12 @@ class AsyncGrowsurfWithRawResponse:
450
469
  def __init__(self, client: AsyncGrowsurf) -> None:
451
470
  self._client = client
452
471
 
472
+ @cached_property
473
+ def account(self) -> account.AsyncAccountResourceWithRawResponse:
474
+ from .resources.account import AsyncAccountResourceWithRawResponse
475
+
476
+ return AsyncAccountResourceWithRawResponse(self._client.account)
477
+
453
478
  @cached_property
454
479
  def campaign(self) -> campaign.AsyncCampaignResourceWithRawResponse:
455
480
  from .resources.campaign import AsyncCampaignResourceWithRawResponse
@@ -463,6 +488,12 @@ class GrowsurfWithStreamedResponse:
463
488
  def __init__(self, client: Growsurf) -> None:
464
489
  self._client = client
465
490
 
491
+ @cached_property
492
+ def account(self) -> account.AccountResourceWithStreamingResponse:
493
+ from .resources.account import AccountResourceWithStreamingResponse
494
+
495
+ return AccountResourceWithStreamingResponse(self._client.account)
496
+
466
497
  @cached_property
467
498
  def campaign(self) -> campaign.CampaignResourceWithStreamingResponse:
468
499
  from .resources.campaign import CampaignResourceWithStreamingResponse
@@ -476,6 +507,12 @@ class AsyncGrowsurfWithStreamedResponse:
476
507
  def __init__(self, client: AsyncGrowsurf) -> None:
477
508
  self._client = client
478
509
 
510
+ @cached_property
511
+ def account(self) -> account.AsyncAccountResourceWithStreamingResponse:
512
+ from .resources.account import AsyncAccountResourceWithStreamingResponse
513
+
514
+ return AsyncAccountResourceWithStreamingResponse(self._client.account)
515
+
479
516
  @cached_property
480
517
  def campaign(self) -> campaign.AsyncCampaignResourceWithStreamingResponse:
481
518
  from .resources.campaign import AsyncCampaignResourceWithStreamingResponse
@@ -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.0.0" # x-release-please-version
4
+ __version__ = "1.1.1" # x-release-please-version
@@ -1,5 +1,13 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ from .account import (
4
+ AccountResource,
5
+ AsyncAccountResource,
6
+ AccountResourceWithRawResponse,
7
+ AsyncAccountResourceWithRawResponse,
8
+ AccountResourceWithStreamingResponse,
9
+ AsyncAccountResourceWithStreamingResponse,
10
+ )
3
11
  from .campaign import (
4
12
  CampaignResource,
5
13
  AsyncCampaignResource,
@@ -10,6 +18,12 @@ from .campaign import (
10
18
  )
11
19
 
12
20
  __all__ = [
21
+ "AccountResource",
22
+ "AsyncAccountResource",
23
+ "AccountResourceWithRawResponse",
24
+ "AsyncAccountResourceWithRawResponse",
25
+ "AccountResourceWithStreamingResponse",
26
+ "AsyncAccountResourceWithStreamingResponse",
13
27
  "CampaignResource",
14
28
  "AsyncCampaignResource",
15
29
  "CampaignResourceWithRawResponse",