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.
- growsurf_python-1.11.0/.release-please-manifest.json +3 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/CHANGELOG.md +14 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/PKG-INFO +1 -1
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/pyproject.toml +1 -1
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_transform.py +4 -2
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_version.py +1 -1
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/participant.py +2 -2
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/rewards.py +8 -6
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign_design.py +5 -1
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign_installation.py +2 -1
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_params.py +1 -1
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_transform.py +18 -0
- growsurf_python-1.9.0/.release-please-manifest.json +0 -3
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/.gitignore +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/CONTRIBUTING.md +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/LICENSE +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/README.md +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/SECURITY.md +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/api.md +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/bin/check-release-environment +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/bin/publish-pypi +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/examples/.keep +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/release-please-config.json +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/requirements-dev.lock +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/__init__.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_base_client.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_client.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_compat.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_constants.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_exceptions.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_files.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_models.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_qs.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_resource.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_streaming.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_types.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/__init__.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_compat.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_datetime_parse.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_json.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_logs.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_path.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_proxy.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_reflection.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_resources_proxy.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_streams.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_sync.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_typing.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/_utils/_utils.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/lib/.keep +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/py.typed +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/__init__.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/account.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/__init__.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/campaign.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/commission.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/design.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/emails.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/installation.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/integrations.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/options.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/program_resources.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/reward.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/webhooks.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/team.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/__init__.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/account_create_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/affiliate_application.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/affiliate_application_answer.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/affiliate_application_list_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/affiliate_invite.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/affiliate_invite_list_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/analytics_availability.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/analytics_unavailable_reason.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/__init__.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign_emails.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign_options.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign_reward_list_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/delete_program_resource_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/delete_reward_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/delete_webhook_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/email_participant_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/integration.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/integration_list_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_activation_analytics.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_activity_logs_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_add_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_analytics_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_analytics_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_bulk_delete_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_bulk_delete_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_email_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_get_payout_destination_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_list_activity_logs_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_refund_transaction_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_refund_transaction_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_reward.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_trigger_referral_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_update_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/pending_analytics_erasure.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/program_resource.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/program_resource_list_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/program_resource_upload_result.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/program_resource_upload_ticket.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/referral_source.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/referral_status.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_create_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_tax_valuation.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_update_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook_create_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook_event.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook_list_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook_test_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook_test_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook_update_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_activation_analytics_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_create_affiliate_invite_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_create_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_engagement_analytics.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_affiliate_applications_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_affiliate_invites_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_participants_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_retrieve_activation_analytics_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_review_affiliate_application_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_update_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/commission_structure.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/create_account_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/email_analytics.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/participant_commission_list.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/participant_list.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/participant_payout_list.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/referral_flow_screenshot.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/referral_flow_screenshots_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/referral_list.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/rotate_api_key_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/team.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/team_update_params.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/verification_email_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/__init__.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/__init__.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/__init__.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_commission.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_design.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_emails.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_installation.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_integrations.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_options.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_participant.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_program_resources.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_reward.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_rewards.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_webhooks.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/test_account.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/test_campaign.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/test_team_contract.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/conftest.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/sample_file.txt +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_client.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_extract_files.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_files.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_models.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_qs.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_required_args.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_response.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_streaming.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_utils/test_json.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_utils/test_path.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_utils/test_proxy.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/test_utils/test_typing.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_affiliate_application.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_analytics_reward_status.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_email_analytics.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_lead_reward_events.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_participant_activation_engagement_analytics.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_participant_contract.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_payout_provider_forward_compat.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_referral_source.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/utils.py +0 -0
- {growsurf_python-1.9.0 → growsurf_python-1.11.0}/uv.lock +0 -0
|
@@ -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
|
|
|
@@ -218,7 +218,8 @@ def _transform_recursive(
|
|
|
218
218
|
return data
|
|
219
219
|
|
|
220
220
|
if isinstance(data, pydantic.BaseModel):
|
|
221
|
-
|
|
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
|
-
|
|
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:
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/participant.py
RENAMED
|
@@ -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
|
|
331
|
-
|
|
332
|
-
reward
|
|
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
|
|
696
|
-
|
|
697
|
-
reward
|
|
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
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign_design.py
RENAMED
|
@@ -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,
|
|
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
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/__init__.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/campaign.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/commission.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/installation.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/integrations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/resources/campaign/webhooks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/account_create_params.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/affiliate_application.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/affiliate_application_answer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/analytics_availability.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/analytics_unavailable_reason.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign_emails.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/campaign_options.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/fraud_risk_level.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/participant_reward.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/program_resource.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/referral_source.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/referral_status.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_create_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_tax_valuation.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/reward_update_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook_event.py
RENAMED
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign/webhook_test_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_create_params.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_engagement_analytics.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_payouts_params.py
RENAMED
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_list_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/campaign_update_params.py
RENAMED
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/create_account_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/participant_commission_list.py
RENAMED
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/participant_payout_list.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/referral_flow_screenshot.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/rotate_api_key_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/src/growsurf/types/verification_email_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_commission.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_design.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_emails.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_installation.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_integrations.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_options.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_participant.py
RENAMED
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_reward.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_rewards.py
RENAMED
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/api_resources/campaign/test_webhooks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_analytics_reward_status.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.9.0 → growsurf_python-1.11.0}/tests/types/test_payout_provider_forward_compat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|