growsurf-python 0.5.0__tar.gz → 0.6.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 (119) hide show
  1. growsurf_python-0.6.0/.release-please-manifest.json +3 -0
  2. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/CHANGELOG.md +14 -0
  3. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/PKG-INFO +1 -1
  4. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/pyproject.toml +1 -1
  5. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_client.py +10 -6
  6. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_version.py +1 -1
  7. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant.py +19 -1
  8. growsurf_python-0.5.0/.release-please-manifest.json +0 -3
  9. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/.gitignore +0 -0
  10. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/CONTRIBUTING.md +0 -0
  11. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/LICENSE +0 -0
  12. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/README.md +0 -0
  13. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/SECURITY.md +0 -0
  14. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/api.md +0 -0
  15. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/bin/check-release-environment +0 -0
  16. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/bin/publish-pypi +0 -0
  17. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/examples/.keep +0 -0
  18. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/release-please-config.json +0 -0
  19. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/requirements-dev.lock +0 -0
  20. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/__init__.py +0 -0
  21. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_base_client.py +0 -0
  22. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_compat.py +0 -0
  23. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_constants.py +0 -0
  24. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_exceptions.py +0 -0
  25. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_files.py +0 -0
  26. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_models.py +0 -0
  27. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_qs.py +0 -0
  28. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_resource.py +0 -0
  29. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_response.py +0 -0
  30. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_streaming.py +0 -0
  31. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_types.py +0 -0
  32. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_utils/__init__.py +0 -0
  33. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_compat.py +0 -0
  34. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_datetime_parse.py +0 -0
  35. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_json.py +0 -0
  36. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_logs.py +0 -0
  37. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_path.py +0 -0
  38. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_proxy.py +0 -0
  39. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_reflection.py +0 -0
  40. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_resources_proxy.py +0 -0
  41. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_streams.py +0 -0
  42. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_sync.py +0 -0
  43. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_transform.py +0 -0
  44. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_typing.py +0 -0
  45. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_utils.py +0 -0
  46. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/lib/.keep +0 -0
  47. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/py.typed +0 -0
  48. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/resources/__init__.py +0 -0
  49. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/resources/campaign/__init__.py +0 -0
  50. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/resources/campaign/campaign.py +0 -0
  51. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/resources/campaign/commission.py +0 -0
  52. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/resources/campaign/participant.py +0 -0
  53. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/resources/campaign/reward.py +0 -0
  54. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/__init__.py +0 -0
  55. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/__init__.py +0 -0
  56. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/campaign.py +0 -0
  57. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
  58. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
  59. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
  60. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_add_params.py +0 -0
  61. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
  62. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
  63. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
  64. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
  65. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
  66. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
  67. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
  68. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
  69. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_reward.py +0 -0
  70. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
  71. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
  72. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
  73. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_update_params.py +0 -0
  74. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/referral_source.py +0 -0
  75. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/referral_status.py +0 -0
  76. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
  77. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
  78. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
  79. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
  80. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +0 -0
  81. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
  82. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
  83. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
  84. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_list_participants_params.py +0 -0
  85. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
  86. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
  87. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_list_response.py +0 -0
  88. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
  89. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
  90. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/commission_structure.py +0 -0
  91. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/participant_commission_list.py +0 -0
  92. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/participant_list.py +0 -0
  93. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/participant_payout_list.py +0 -0
  94. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/src/growsurf/types/referral_list.py +0 -0
  95. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/__init__.py +0 -0
  96. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/api_resources/__init__.py +0 -0
  97. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/api_resources/campaign/__init__.py +0 -0
  98. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/api_resources/campaign/test_commission.py +0 -0
  99. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/api_resources/campaign/test_participant.py +0 -0
  100. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/api_resources/campaign/test_reward.py +0 -0
  101. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/api_resources/test_campaign.py +0 -0
  102. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/conftest.py +0 -0
  103. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/sample_file.txt +0 -0
  104. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/test_client.py +0 -0
  105. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/test_extract_files.py +0 -0
  106. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/test_files.py +0 -0
  107. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/test_models.py +0 -0
  108. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/test_qs.py +0 -0
  109. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/test_required_args.py +0 -0
  110. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/test_response.py +0 -0
  111. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/test_streaming.py +0 -0
  112. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/test_transform.py +0 -0
  113. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/test_utils/test_datetime_parse.py +0 -0
  114. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/test_utils/test_json.py +0 -0
  115. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/test_utils/test_path.py +0 -0
  116. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/test_utils/test_proxy.py +0 -0
  117. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/test_utils/test_typing.py +0 -0
  118. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/tests/utils.py +0 -0
  119. {growsurf_python-0.5.0 → growsurf_python-0.6.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.6.0"
3
+ }
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.0 (2026-06-23)
4
+
5
+ Full Changelog: [v0.5.0...v0.6.0](https://github.com/growsurf/growsurf-python/compare/v0.5.0...v0.6.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** add payoutSettings to Participant ([f1c59b5](https://github.com/growsurf/growsurf-python/commit/f1c59b55b06e1082f725d6df2fa5057458250347))
10
+ * **api:** manual updates ([e949eb6](https://github.com/growsurf/growsurf-python/commit/e949eb62d25a5c1c67176b77199dee46abb161f8))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **auth:** prioritize first auth header ([c398225](https://github.com/growsurf/growsurf-python/commit/c39822597c0c851137b6a3b6ef954f8831e1601b))
16
+
3
17
  ## 0.5.0 (2026-05-25)
4
18
 
5
19
  Full Changelog: [v0.4.0...v0.5.0](https://github.com/growsurf/growsurf-python/compare/v0.4.0...v0.5.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: growsurf-python
3
- Version: 0.5.0
3
+ Version: 0.6.0
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "growsurf-python"
3
- version = "0.5.0"
3
+ version = "0.6.0"
4
4
  description = "The official Python library for the growsurf API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -136,9 +136,11 @@ class Growsurf(SyncAPIClient):
136
136
 
137
137
  @override
138
138
  def _auth_headers(self, security: SecurityOptions) -> dict[str, str]:
139
- return {
140
- **(self._api_key_auth if security.get("api_key_auth", False) else {}),
141
- }
139
+ headers: dict[str, str] = {}
140
+ if security.get("api_key_auth", False):
141
+ for key, value in self._api_key_auth.items():
142
+ headers.setdefault(key, value)
143
+ return headers
142
144
 
143
145
  @property
144
146
  def _api_key_auth(self) -> dict[str, str]:
@@ -324,9 +326,11 @@ class AsyncGrowsurf(AsyncAPIClient):
324
326
 
325
327
  @override
326
328
  def _auth_headers(self, security: SecurityOptions) -> dict[str, str]:
327
- return {
328
- **(self._api_key_auth if security.get("api_key_auth", False) else {}),
329
- }
329
+ headers: dict[str, str] = {}
330
+ if security.get("api_key_auth", False):
331
+ for key, value in self._api_key_auth.items():
332
+ headers.setdefault(key, value)
333
+ return headers
330
334
 
331
335
  @property
332
336
  def _api_key_auth(self) -> dict[str, str]:
@@ -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__ = "0.5.0" # x-release-please-version
4
+ __version__ = "0.6.0" # x-release-please-version
@@ -1,6 +1,7 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  from typing import Dict, List, Optional
4
+ from typing_extensions import Literal
4
5
 
5
6
  from pydantic import Field as FieldInfo
6
7
 
@@ -10,7 +11,17 @@ from .referral_status import ReferralStatus
10
11
  from .fraud_risk_level import FraudRiskLevel
11
12
  from .participant_reward import ParticipantReward
12
13
 
13
- __all__ = ["Participant", "Referrer"]
14
+ __all__ = ["Participant", "PayoutSettings", "Referrer"]
15
+
16
+
17
+ class PayoutSettings(BaseModel):
18
+ """
19
+ Payout-related actions the participant must complete before a payout can be released (e.g. confirming a PayPal email or submitting a W-9/W-8 tax form). Always present; the requiredActions array is empty when no action is required.
20
+ """
21
+
22
+ required_actions: Optional[List[Literal["PAYPAL_EMAIL", "TAX_INFO"]]] = FieldInfo(
23
+ alias="requiredActions", default=None
24
+ )
14
25
 
15
26
 
16
27
  class Referrer(BaseModel):
@@ -125,6 +136,13 @@ class Participant(BaseModel):
125
136
 
126
137
  notes: Optional[str] = None
127
138
 
139
+ payout_settings: Optional[PayoutSettings] = FieldInfo(alias="payoutSettings", default=None)
140
+ """
141
+ Payout-related actions the participant must complete before a payout can be
142
+ released (e.g. confirming a PayPal email or submitting a W-9/W-8 tax form).
143
+ Always present; the requiredActions array is empty when no action is required.
144
+ """
145
+
128
146
  paypal_email_address: Optional[str] = FieldInfo(alias="paypalEmailAddress", default=None)
129
147
 
130
148
  prev_monthly_rank: Optional[int] = FieldInfo(alias="prevMonthlyRank", default=None)
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.5.0"
3
- }
File without changes
File without changes
File without changes