pingram-python 0.1.5__tar.gz → 1.0.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 (207) hide show
  1. {pingram_python-0.1.5/generated/pingram_python.egg-info → pingram_python-1.0.1}/PKG-INFO +1 -1
  2. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/__init__.py +5 -13
  3. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/templates_api.py +1 -301
  4. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api_client.py +1 -1
  5. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/configuration.py +1 -1
  6. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/__init__.py +2 -6
  7. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_templates_list_response_inner_any_of.py +2 -4
  8. pingram_python-1.0.1/generated/pingram/models/template_patch_request.py +127 -0
  9. pingram_python-0.1.5/generated/pingram/models/template_post_request_batch.py → pingram_python-1.0.1/generated/pingram/models/template_patch_request_batch.py +3 -3
  10. pingram_python-0.1.5/generated/pingram/models/template_post_request_instant.py → pingram_python-1.0.1/generated/pingram/models/template_patch_request_instant.py +3 -3
  11. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/template_post_request.py +7 -9
  12. {pingram_python-0.1.5 → pingram_python-1.0.1/generated/pingram_python.egg-info}/PKG-INFO +1 -1
  13. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram_python.egg-info/SOURCES.txt +2 -6
  14. {pingram_python-0.1.5 → pingram_python-1.0.1}/pyproject.toml +1 -1
  15. pingram_python-0.1.5/generated/pingram/models/template_patch_request.py +0 -134
  16. pingram_python-0.1.5/generated/pingram/models/template_patch_request_any_of.py +0 -97
  17. pingram_python-0.1.5/generated/pingram/models/template_patch_request_any_of1.py +0 -103
  18. pingram_python-0.1.5/generated/pingram/models/template_patch_request_any_of1_batch.py +0 -91
  19. pingram_python-0.1.5/generated/pingram/models/template_patch_request_any_of1_instant.py +0 -91
  20. {pingram_python-0.1.5 → pingram_python-1.0.1}/LICENSE +0 -0
  21. {pingram_python-0.1.5 → pingram_python-1.0.1}/MANIFEST.in +0 -0
  22. {pingram_python-0.1.5 → pingram_python-1.0.1}/README.md +0 -0
  23. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/__init__.py +0 -0
  24. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/account_api.py +0 -0
  25. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/addresses_api.py +0 -0
  26. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/components_api.py +0 -0
  27. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/default_api.py +0 -0
  28. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/domains_api.py +0 -0
  29. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/editor_api.py +0 -0
  30. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/environments_api.py +0 -0
  31. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/health_api.py +0 -0
  32. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/insights_api.py +0 -0
  33. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/keys_api.py +0 -0
  34. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/logs_api.py +0 -0
  35. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/members_api.py +0 -0
  36. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/sender_api.py +0 -0
  37. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/types_api.py +0 -0
  38. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/user_api.py +0 -0
  39. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api/users_api.py +0 -0
  40. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/api_response.py +0 -0
  41. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/client_wrapper.py +0 -0
  42. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/exceptions.py +0 -0
  43. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/account_addresses_response.py +0 -0
  44. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/account_addresses_response_addresses_inner.py +0 -0
  45. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/account_get_response.py +0 -0
  46. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/account_get_response_pending_downgrade_usage_limit.py +0 -0
  47. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/address_response.py +0 -0
  48. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/auto_join_get_response.py +0 -0
  49. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/auto_join_post_response.py +0 -0
  50. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/auto_join_request_body.py +0 -0
  51. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/bee_token_v2.py +0 -0
  52. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/billing_post_request_body.py +0 -0
  53. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/billing_post_response_body.py +0 -0
  54. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/billing_post_response_body_pending_downgrade_usage_limit.py +0 -0
  55. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/channels_enum.py +0 -0
  56. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/create_account_request_body.py +0 -0
  57. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/create_account_response.py +0 -0
  58. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/create_address_request.py +0 -0
  59. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/create_key_request.py +0 -0
  60. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/create_key_response.py +0 -0
  61. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/delete_key_response.py +0 -0
  62. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/delete_user_response.py +0 -0
  63. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/email_auth_token_post_request.py +0 -0
  64. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/email_component_patch_request.py +0 -0
  65. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/email_component_post_request.py +0 -0
  66. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/email_component_response.py +0 -0
  67. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/email_component_response_referenced_by_inner.py +0 -0
  68. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/environment.py +0 -0
  69. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/environment_create_request.py +0 -0
  70. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/environment_patch_request.py +0 -0
  71. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_account_metadata_response.py +0 -0
  72. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_account_metadata_response_user_account_metadata.py +0 -0
  73. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_email_components_response_inner.py +0 -0
  74. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_environments_response_inner.py +0 -0
  75. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_inapp_notifications_response.py +0 -0
  76. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_inapp_notifications_response_notifications_inner.py +0 -0
  77. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options.py +0 -0
  78. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options_instant.py +0 -0
  79. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options_off.py +0 -0
  80. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_inapp_notifications_response_notifications_inner_replies_inner.py +0 -0
  81. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_inapp_notifications_response_notifications_inner_template.py +0 -0
  82. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_inapp_notifications_response_notifications_inner_template_any_of.py +0 -0
  83. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_keys_response.py +0 -0
  84. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_keys_response_keys_inner.py +0 -0
  85. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_logs_response.py +0 -0
  86. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_logs_response_messages_inner.py +0 -0
  87. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_logs_response_messages_inner_attachments_inner.py +0 -0
  88. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_members_response_inner.py +0 -0
  89. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_metrics_response_inner.py +0 -0
  90. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_metrics_response_inner_messages_inner.py +0 -0
  91. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_notifications_response_inner.py +0 -0
  92. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_notifications_response_inner_deduplication.py +0 -0
  93. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_notifications_response_inner_options.py +0 -0
  94. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_notifications_response_inner_options_email.py +0 -0
  95. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_notifications_response_inner_options_email_daily.py +0 -0
  96. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_notifications_response_inner_options_email_monthly.py +0 -0
  97. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_notifications_response_inner_options_email_weekly.py +0 -0
  98. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_notifications_response_inner_templates_inner.py +0 -0
  99. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_notifications_response_inner_throttling.py +0 -0
  100. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_senders_response_inner.py +0 -0
  101. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_templates_list_response_inner.py +0 -0
  102. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_templates_list_response_inner_any_of1.py +0 -0
  103. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_templates_list_response_inner_any_of1_instant.py +0 -0
  104. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_templates_list_response_inner_any_of2.py +0 -0
  105. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_templates_list_response_inner_any_of3.py +0 -0
  106. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_templates_list_response_inner_any_of4.py +0 -0
  107. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_templates_list_response_inner_any_of5.py +0 -0
  108. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_templates_list_response_inner_any_of5_metadata.py +0 -0
  109. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_templates_list_response_inner_any_of5_metadata_entities_inner.py +0 -0
  110. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_templates_list_response_inner_any_of5_metadata_entities_inner_external_ref.py +0 -0
  111. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_templates_response.py +0 -0
  112. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_users_response.py +0 -0
  113. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_users_response_users_inner.py +0 -0
  114. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_users_response_users_inner_email_suppression_status.py +0 -0
  115. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_users_response_users_inner_push_tokens_inner.py +0 -0
  116. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_users_response_users_inner_push_tokens_inner_device.py +0 -0
  117. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_users_response_users_inner_slack_token.py +0 -0
  118. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_users_response_users_inner_slack_token_authed_user.py +0 -0
  119. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_users_response_users_inner_slack_token_enterprise.py +0 -0
  120. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_users_response_users_inner_slack_token_incoming_webhook.py +0 -0
  121. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_users_response_users_inner_slack_token_response_metadata.py +0 -0
  122. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_users_response_users_inner_web_push_tokens_inner.py +0 -0
  123. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_users_response_users_inner_web_push_tokens_inner_sub.py +0 -0
  124. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/get_users_response_users_inner_web_push_tokens_inner_sub_keys.py +0 -0
  125. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/in_app_notification_patch_request.py +0 -0
  126. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/in_app_notification_unread_clear_request.py +0 -0
  127. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/inapp_unread_count_response.py +0 -0
  128. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/inbound_request_body.py +0 -0
  129. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/inbound_response_body.py +0 -0
  130. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/inbound_response_body_results_inner.py +0 -0
  131. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/ingishts_post_request.py +0 -0
  132. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/ingishts_post_request_label_options.py +0 -0
  133. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/ingishts_post_request_metric_data_queries_inner.py +0 -0
  134. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat.py +0 -0
  135. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat_metric.py +0 -0
  136. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat_metric_dimensions_inner.py +0 -0
  137. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/intercom_webhook.py +0 -0
  138. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/intercom_webhook_data.py +0 -0
  139. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/intercom_webhook_data_item.py +0 -0
  140. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/intercom_webhook_data_item_any_of.py +0 -0
  141. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/intercom_webhook_data_item_any_of_contacts.py +0 -0
  142. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/intercom_webhook_data_item_any_of_contacts_contacts_inner.py +0 -0
  143. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/intercom_webhook_data_item_any_of_source.py +0 -0
  144. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/intercom_webhook_data_item_any_of_source_author.py +0 -0
  145. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/invite_post_response.py +0 -0
  146. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/log_query_post_body.py +0 -0
  147. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/logs_bulk_request.py +0 -0
  148. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/logs_get_response.py +0 -0
  149. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/logs_get_response_logs_inner.py +0 -0
  150. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/logs_query_response.py +0 -0
  151. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/logs_query_result_response.py +0 -0
  152. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/logs_retention_response.py +0 -0
  153. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/logs_tail_response.py +0 -0
  154. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/member_invite_request.py +0 -0
  155. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/member_update_request.py +0 -0
  156. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/message_response.py +0 -0
  157. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/notification.py +0 -0
  158. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/notification_create_request.py +0 -0
  159. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/notification_patch_request.py +0 -0
  160. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/notification_patch_request_deduplication.py +0 -0
  161. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/notification_patch_request_throttling.py +0 -0
  162. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/post_email_test_request.py +0 -0
  163. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/post_email_test_response.py +0 -0
  164. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/post_senders_request_body.py +0 -0
  165. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/post_user_request.py +0 -0
  166. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body.py +0 -0
  167. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_call.py +0 -0
  168. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_email.py +0 -0
  169. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_inapp.py +0 -0
  170. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_mobile_push.py +0 -0
  171. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_options.py +0 -0
  172. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_options_apn.py +0 -0
  173. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_options_email.py +0 -0
  174. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_options_email_attachments_inner.py +0 -0
  175. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_options_email_attachments_inner_any_of.py +0 -0
  176. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_options_email_attachments_inner_any_of1.py +0 -0
  177. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_options_fcm.py +0 -0
  178. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_options_fcm_android.py +0 -0
  179. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_slack.py +0 -0
  180. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_sms.py +0 -0
  181. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_sms_auto_reply.py +0 -0
  182. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_to.py +0 -0
  183. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_user.py +0 -0
  184. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_body_web_push.py +0 -0
  185. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/sender_post_response.py +0 -0
  186. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/set_default_template_request.py +0 -0
  187. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/slack_interactivity_response.py +0 -0
  188. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/slack_oauth_request.py +0 -0
  189. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/success_response.py +0 -0
  190. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/supabase_configure_request.py +0 -0
  191. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/supabase_configure_response.py +0 -0
  192. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/supabase_o_auth_request.py +0 -0
  193. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/supabase_o_auth_response.py +0 -0
  194. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/supabase_projects_response.py +0 -0
  195. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/supabase_projects_response_projects_inner.py +0 -0
  196. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/supabase_status_response.py +0 -0
  197. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/template.py +0 -0
  198. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/update_address_request.py +0 -0
  199. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/user.py +0 -0
  200. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/user_suppression_delete_response.py +0 -0
  201. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/models/webhook_response.py +0 -0
  202. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/py.typed +0 -0
  203. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram/rest.py +0 -0
  204. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram_python.egg-info/dependency_links.txt +0 -0
  205. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram_python.egg-info/requires.txt +0 -0
  206. {pingram_python-0.1.5 → pingram_python-1.0.1}/generated/pingram_python.egg-info/top_level.txt +0 -0
  207. {pingram_python-0.1.5 → pingram_python-1.0.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pingram-python
3
- Version: 0.1.5
3
+ Version: 1.0.1
4
4
  Summary: Official Python SDK for Pingram - Send notifications via Email, SMS, Push, In-App, and more
5
5
  Author: Pingram
6
6
  License: MIT
@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "0.1.5"
17
+ __version__ = "1.0.1"
18
18
 
19
19
  # Define package exports
20
20
  __all__ = [
@@ -201,13 +201,9 @@ __all__ = [
201
201
  "SupabaseStatusResponse",
202
202
  "Template",
203
203
  "TemplatePatchRequest",
204
- "TemplatePatchRequestAnyOf",
205
- "TemplatePatchRequestAnyOf1",
206
- "TemplatePatchRequestAnyOf1Batch",
207
- "TemplatePatchRequestAnyOf1Instant",
204
+ "TemplatePatchRequestBatch",
205
+ "TemplatePatchRequestInstant",
208
206
  "TemplatePostRequest",
209
- "TemplatePostRequestBatch",
210
- "TemplatePostRequestInstant",
211
207
  "UpdateAddressRequest",
212
208
  "User",
213
209
  "UserSuppressionDeleteResponse",
@@ -402,13 +398,9 @@ from pingram.models.supabase_projects_response_projects_inner import SupabasePro
402
398
  from pingram.models.supabase_status_response import SupabaseStatusResponse as SupabaseStatusResponse
403
399
  from pingram.models.template import Template as Template
404
400
  from pingram.models.template_patch_request import TemplatePatchRequest as TemplatePatchRequest
405
- from pingram.models.template_patch_request_any_of import TemplatePatchRequestAnyOf as TemplatePatchRequestAnyOf
406
- from pingram.models.template_patch_request_any_of1 import TemplatePatchRequestAnyOf1 as TemplatePatchRequestAnyOf1
407
- from pingram.models.template_patch_request_any_of1_batch import TemplatePatchRequestAnyOf1Batch as TemplatePatchRequestAnyOf1Batch
408
- from pingram.models.template_patch_request_any_of1_instant import TemplatePatchRequestAnyOf1Instant as TemplatePatchRequestAnyOf1Instant
401
+ from pingram.models.template_patch_request_batch import TemplatePatchRequestBatch as TemplatePatchRequestBatch
402
+ from pingram.models.template_patch_request_instant import TemplatePatchRequestInstant as TemplatePatchRequestInstant
409
403
  from pingram.models.template_post_request import TemplatePostRequest as TemplatePostRequest
410
- from pingram.models.template_post_request_batch import TemplatePostRequestBatch as TemplatePostRequestBatch
411
- from pingram.models.template_post_request_instant import TemplatePostRequestInstant as TemplatePostRequestInstant
412
404
  from pingram.models.update_address_request import UpdateAddressRequest as UpdateAddressRequest
413
405
  from pingram.models.user import User as User
414
406
  from pingram.models.user_suppression_delete_response import UserSuppressionDeleteResponse as UserSuppressionDeleteResponse
@@ -950,306 +950,6 @@ class TemplatesApi:
950
950
 
951
951
 
952
952
 
953
- @validate_call
954
- async def templates_initiate_migration(
955
- self,
956
- notification_id: Annotated[StrictStr, Field(description="Notification ID")],
957
- channel: Annotated[StrictStr, Field(description="Channel type")],
958
- template_id: Annotated[StrictStr, Field(description="Template ID")],
959
- _request_timeout: Union[
960
- None,
961
- Annotated[StrictFloat, Field(gt=0)],
962
- Tuple[
963
- Annotated[StrictFloat, Field(gt=0)],
964
- Annotated[StrictFloat, Field(gt=0)]
965
- ]
966
- ] = None,
967
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
968
- _content_type: Optional[StrictStr] = None,
969
- _headers: Optional[Dict[StrictStr, Any]] = None,
970
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
971
- ) -> Template:
972
- """Initiate AI-powered template migration from complex to simple HTML
973
-
974
-
975
- :param notification_id: Notification ID (required)
976
- :type notification_id: str
977
- :param channel: Channel type (required)
978
- :type channel: str
979
- :param template_id: Template ID (required)
980
- :type template_id: str
981
- :param _request_timeout: timeout setting for this request. If one
982
- number provided, it will be total request
983
- timeout. It can also be a pair (tuple) of
984
- (connection, read) timeouts.
985
- :type _request_timeout: int, tuple(int, int), optional
986
- :param _request_auth: set to override the auth_settings for an a single
987
- request; this effectively ignores the
988
- authentication in the spec for a single request.
989
- :type _request_auth: dict, optional
990
- :param _content_type: force content-type for the request.
991
- :type _content_type: str, Optional
992
- :param _headers: set to override the headers for a single
993
- request; this effectively ignores the headers
994
- in the spec for a single request.
995
- :type _headers: dict, optional
996
- :param _host_index: set to override the host_index for a single
997
- request; this effectively ignores the host_index
998
- in the spec for a single request.
999
- :type _host_index: int, optional
1000
- :return: Returns the result object.
1001
- """ # noqa: E501
1002
-
1003
- _param = self._templates_initiate_migration_serialize(
1004
- notification_id=notification_id,
1005
- channel=channel,
1006
- template_id=template_id,
1007
- _request_auth=_request_auth,
1008
- _content_type=_content_type,
1009
- _headers=_headers,
1010
- _host_index=_host_index
1011
- )
1012
-
1013
- _response_types_map: Dict[str, Optional[str]] = {
1014
- '200': "Template",
1015
- '400': None,
1016
- '401': None,
1017
- '500': None,
1018
- }
1019
- response_data = await self.api_client.call_api(
1020
- *_param,
1021
- _request_timeout=_request_timeout
1022
- )
1023
- await response_data.read()
1024
- return self.api_client.response_deserialize(
1025
- response_data=response_data,
1026
- response_types_map=_response_types_map,
1027
- ).data
1028
-
1029
-
1030
- @validate_call
1031
- async def templates_initiate_migration_with_http_info(
1032
- self,
1033
- notification_id: Annotated[StrictStr, Field(description="Notification ID")],
1034
- channel: Annotated[StrictStr, Field(description="Channel type")],
1035
- template_id: Annotated[StrictStr, Field(description="Template ID")],
1036
- _request_timeout: Union[
1037
- None,
1038
- Annotated[StrictFloat, Field(gt=0)],
1039
- Tuple[
1040
- Annotated[StrictFloat, Field(gt=0)],
1041
- Annotated[StrictFloat, Field(gt=0)]
1042
- ]
1043
- ] = None,
1044
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
1045
- _content_type: Optional[StrictStr] = None,
1046
- _headers: Optional[Dict[StrictStr, Any]] = None,
1047
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1048
- ) -> ApiResponse[Template]:
1049
- """Initiate AI-powered template migration from complex to simple HTML
1050
-
1051
-
1052
- :param notification_id: Notification ID (required)
1053
- :type notification_id: str
1054
- :param channel: Channel type (required)
1055
- :type channel: str
1056
- :param template_id: Template ID (required)
1057
- :type template_id: str
1058
- :param _request_timeout: timeout setting for this request. If one
1059
- number provided, it will be total request
1060
- timeout. It can also be a pair (tuple) of
1061
- (connection, read) timeouts.
1062
- :type _request_timeout: int, tuple(int, int), optional
1063
- :param _request_auth: set to override the auth_settings for an a single
1064
- request; this effectively ignores the
1065
- authentication in the spec for a single request.
1066
- :type _request_auth: dict, optional
1067
- :param _content_type: force content-type for the request.
1068
- :type _content_type: str, Optional
1069
- :param _headers: set to override the headers for a single
1070
- request; this effectively ignores the headers
1071
- in the spec for a single request.
1072
- :type _headers: dict, optional
1073
- :param _host_index: set to override the host_index for a single
1074
- request; this effectively ignores the host_index
1075
- in the spec for a single request.
1076
- :type _host_index: int, optional
1077
- :return: Returns the result object.
1078
- """ # noqa: E501
1079
-
1080
- _param = self._templates_initiate_migration_serialize(
1081
- notification_id=notification_id,
1082
- channel=channel,
1083
- template_id=template_id,
1084
- _request_auth=_request_auth,
1085
- _content_type=_content_type,
1086
- _headers=_headers,
1087
- _host_index=_host_index
1088
- )
1089
-
1090
- _response_types_map: Dict[str, Optional[str]] = {
1091
- '200': "Template",
1092
- '400': None,
1093
- '401': None,
1094
- '500': None,
1095
- }
1096
- response_data = await self.api_client.call_api(
1097
- *_param,
1098
- _request_timeout=_request_timeout
1099
- )
1100
- await response_data.read()
1101
- return self.api_client.response_deserialize(
1102
- response_data=response_data,
1103
- response_types_map=_response_types_map,
1104
- )
1105
-
1106
-
1107
- @validate_call
1108
- async def templates_initiate_migration_without_preload_content(
1109
- self,
1110
- notification_id: Annotated[StrictStr, Field(description="Notification ID")],
1111
- channel: Annotated[StrictStr, Field(description="Channel type")],
1112
- template_id: Annotated[StrictStr, Field(description="Template ID")],
1113
- _request_timeout: Union[
1114
- None,
1115
- Annotated[StrictFloat, Field(gt=0)],
1116
- Tuple[
1117
- Annotated[StrictFloat, Field(gt=0)],
1118
- Annotated[StrictFloat, Field(gt=0)]
1119
- ]
1120
- ] = None,
1121
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
1122
- _content_type: Optional[StrictStr] = None,
1123
- _headers: Optional[Dict[StrictStr, Any]] = None,
1124
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1125
- ) -> RESTResponseType:
1126
- """Initiate AI-powered template migration from complex to simple HTML
1127
-
1128
-
1129
- :param notification_id: Notification ID (required)
1130
- :type notification_id: str
1131
- :param channel: Channel type (required)
1132
- :type channel: str
1133
- :param template_id: Template ID (required)
1134
- :type template_id: str
1135
- :param _request_timeout: timeout setting for this request. If one
1136
- number provided, it will be total request
1137
- timeout. It can also be a pair (tuple) of
1138
- (connection, read) timeouts.
1139
- :type _request_timeout: int, tuple(int, int), optional
1140
- :param _request_auth: set to override the auth_settings for an a single
1141
- request; this effectively ignores the
1142
- authentication in the spec for a single request.
1143
- :type _request_auth: dict, optional
1144
- :param _content_type: force content-type for the request.
1145
- :type _content_type: str, Optional
1146
- :param _headers: set to override the headers for a single
1147
- request; this effectively ignores the headers
1148
- in the spec for a single request.
1149
- :type _headers: dict, optional
1150
- :param _host_index: set to override the host_index for a single
1151
- request; this effectively ignores the host_index
1152
- in the spec for a single request.
1153
- :type _host_index: int, optional
1154
- :return: Returns the result object.
1155
- """ # noqa: E501
1156
-
1157
- _param = self._templates_initiate_migration_serialize(
1158
- notification_id=notification_id,
1159
- channel=channel,
1160
- template_id=template_id,
1161
- _request_auth=_request_auth,
1162
- _content_type=_content_type,
1163
- _headers=_headers,
1164
- _host_index=_host_index
1165
- )
1166
-
1167
- _response_types_map: Dict[str, Optional[str]] = {
1168
- '200': "Template",
1169
- '400': None,
1170
- '401': None,
1171
- '500': None,
1172
- }
1173
- response_data = await self.api_client.call_api(
1174
- *_param,
1175
- _request_timeout=_request_timeout
1176
- )
1177
- return response_data.response
1178
-
1179
-
1180
- def _templates_initiate_migration_serialize(
1181
- self,
1182
- notification_id,
1183
- channel,
1184
- template_id,
1185
- _request_auth,
1186
- _content_type,
1187
- _headers,
1188
- _host_index,
1189
- ) -> RequestSerialized:
1190
-
1191
- _host = None
1192
-
1193
- _collection_formats: Dict[str, str] = {
1194
- }
1195
-
1196
- _path_params: Dict[str, str] = {}
1197
- _query_params: List[Tuple[str, str]] = []
1198
- _header_params: Dict[str, Optional[str]] = _headers or {}
1199
- _form_params: List[Tuple[str, str]] = []
1200
- _files: Dict[
1201
- str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1202
- ] = {}
1203
- _body_params: Optional[bytes] = None
1204
-
1205
- # process the path parameters
1206
- if notification_id is not None:
1207
- _path_params['notificationId'] = notification_id
1208
- if channel is not None:
1209
- _path_params['channel'] = channel
1210
- if template_id is not None:
1211
- _path_params['templateId'] = template_id
1212
- # process the query parameters
1213
- # process the header parameters
1214
- # process the form parameters
1215
- # process the body parameter
1216
-
1217
-
1218
- # set the HTTP header `Accept`
1219
- if 'Accept' not in _header_params:
1220
- _header_params['Accept'] = self.api_client.select_header_accept(
1221
- [
1222
- 'application/json'
1223
- ]
1224
- )
1225
-
1226
-
1227
- # authentication setting
1228
- _auth_settings: List[str] = [
1229
- 'endUserHashed',
1230
- 'endUser',
1231
- 'apiKey',
1232
- 'clientCredentials'
1233
- ]
1234
-
1235
- return self.api_client.param_serialize(
1236
- method='POST',
1237
- resource_path='/notifications/{notificationId}/{channel}/templates/{templateId}/migrate',
1238
- path_params=_path_params,
1239
- query_params=_query_params,
1240
- header_params=_header_params,
1241
- body=_body_params,
1242
- post_params=_form_params,
1243
- files=_files,
1244
- auth_settings=_auth_settings,
1245
- collection_formats=_collection_formats,
1246
- _host=_host,
1247
- _request_auth=_request_auth
1248
- )
1249
-
1250
-
1251
-
1252
-
1253
953
  @validate_call
1254
954
  async def templates_list_templates(
1255
955
  self,
@@ -1832,7 +1532,7 @@ class TemplatesApi:
1832
1532
 
1833
1533
  return self.api_client.param_serialize(
1834
1534
  method='PATCH',
1835
- resource_path='/notifications/{notificationId}/{channel}/templates/default',
1535
+ resource_path='/notifications/{notificationId}/{channel}/templates/default-selection',
1836
1536
  path_params=_path_params,
1837
1537
  query_params=_query_params,
1838
1538
  header_params=_header_params,
@@ -91,7 +91,7 @@ class ApiClient:
91
91
  self.default_headers[header_name] = header_value
92
92
  self.cookie = cookie
93
93
  # Set default User-Agent.
94
- self.user_agent = 'pingram-python/0.1.5'
94
+ self.user_agent = 'pingram-python/1.0.1'
95
95
  self.client_side_validation = configuration.client_side_validation
96
96
 
97
97
  async def __aenter__(self):
@@ -551,7 +551,7 @@ conf = pingram.Configuration(
551
551
  "OS: {env}\n"\
552
552
  "Python Version: {pyversion}\n"\
553
553
  "Version of the API: 1.0.0\n"\
554
- "SDK Package Version: 0.1.5".\
554
+ "SDK Package Version: 1.0.1".\
555
555
  format(env=sys.platform, pyversion=sys.version)
556
556
 
557
557
  def get_host_settings(self) -> List[HostSetting]:
@@ -170,13 +170,9 @@ from pingram.models.supabase_projects_response_projects_inner import SupabasePro
170
170
  from pingram.models.supabase_status_response import SupabaseStatusResponse
171
171
  from pingram.models.template import Template
172
172
  from pingram.models.template_patch_request import TemplatePatchRequest
173
- from pingram.models.template_patch_request_any_of import TemplatePatchRequestAnyOf
174
- from pingram.models.template_patch_request_any_of1 import TemplatePatchRequestAnyOf1
175
- from pingram.models.template_patch_request_any_of1_batch import TemplatePatchRequestAnyOf1Batch
176
- from pingram.models.template_patch_request_any_of1_instant import TemplatePatchRequestAnyOf1Instant
173
+ from pingram.models.template_patch_request_batch import TemplatePatchRequestBatch
174
+ from pingram.models.template_patch_request_instant import TemplatePatchRequestInstant
177
175
  from pingram.models.template_post_request import TemplatePostRequest
178
- from pingram.models.template_post_request_batch import TemplatePostRequestBatch
179
- from pingram.models.template_post_request_instant import TemplatePostRequestInstant
180
176
  from pingram.models.update_address_request import UpdateAddressRequest
181
177
  from pingram.models.user import User
182
178
  from pingram.models.user_suppression_delete_response import UserSuppressionDeleteResponse
@@ -39,8 +39,7 @@ class GetTemplatesListResponseInnerAnyOf(BaseModel):
39
39
  subject: StrictStr
40
40
  sender_name: StrictStr = Field(alias="senderName")
41
41
  sender_email: StrictStr = Field(alias="senderEmail")
42
- migration: Optional[StrictStr] = None
43
- __properties: ClassVar[List[str]] = ["envId", "notificationId", "templateId", "channel", "default", "isDefaultFor", "html", "previewText", "internal", "subject", "senderName", "senderEmail", "migration"]
42
+ __properties: ClassVar[List[str]] = ["envId", "notificationId", "templateId", "channel", "default", "isDefaultFor", "html", "previewText", "internal", "subject", "senderName", "senderEmail"]
44
43
 
45
44
  model_config = ConfigDict(
46
45
  populate_by_name=True,
@@ -104,8 +103,7 @@ class GetTemplatesListResponseInnerAnyOf(BaseModel):
104
103
  "internal": obj.get("internal"),
105
104
  "subject": obj.get("subject"),
106
105
  "senderName": obj.get("senderName"),
107
- "senderEmail": obj.get("senderEmail"),
108
- "migration": obj.get("migration")
106
+ "senderEmail": obj.get("senderEmail")
109
107
  })
110
108
  return _obj
111
109
 
@@ -0,0 +1,127 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pingram
5
+
6
+ Internal API for notification delivery and management
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from pingram.models.template_patch_request_batch import TemplatePatchRequestBatch
23
+ from pingram.models.template_patch_request_instant import TemplatePatchRequestInstant
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class TemplatePatchRequest(BaseModel):
28
+ """
29
+ Request body for updating a template. Include only properties that apply to the channel in the path. EMAIL: html, subject, senderName, etc. | INAPP_WEB: title, redirectURL, instant, batch | SMS/CALL: text | PUSH/WEB_PUSH: title, message, icon, url | SLACK: text, blocks, username, icon
30
+ """ # noqa: E501
31
+ html: Optional[StrictStr] = Field(default=None, description="HTML body of the email.")
32
+ preview_text: Optional[StrictStr] = Field(default=None, description="Preview text (e.g. for inbox).", alias="previewText")
33
+ internal: Optional[StrictStr] = Field(default=None, description="Internal editor representation of the email content (e.g. Bee or Redactor JSON). Used for editing and component embedding; the actual email sent to recipients uses the html field.")
34
+ subject: Optional[StrictStr] = Field(default=None, description="Email subject line.")
35
+ sender_name: Optional[StrictStr] = Field(default=None, description="Sender display name.", alias="senderName")
36
+ sender_email: Optional[StrictStr] = Field(default=None, description="Sender email address.", alias="senderEmail")
37
+ title: Optional[StrictStr] = Field(default=None, description="Notification title (in-app).")
38
+ redirect_url: Optional[StrictStr] = Field(default=None, description="URL to open when the user taps the notification.", alias="redirectURL")
39
+ image_url: Optional[StrictStr] = Field(default=None, description="Image URL shown in the in-app notification.", alias="imageURL")
40
+ instant: Optional[TemplatePatchRequestInstant] = None
41
+ batch: Optional[TemplatePatchRequestBatch] = None
42
+ text: Optional[StrictStr] = Field(default=None, description="Message text (SMS or call).")
43
+ message: Optional[StrictStr] = Field(default=None, description="Push notification body text. (title is shared with INAPP_WEB above.)")
44
+ icon: Optional[StrictStr] = Field(default=None, description="Web push: icon URL. Slack: bot icon (emoji or URL).")
45
+ url: Optional[StrictStr] = Field(default=None, description="Web push: URL to open when the notification is clicked.")
46
+ blocks: Optional[List[Dict[str, Any]]] = Field(default=None, description="Slack message blocks (optional).")
47
+ username: Optional[StrictStr] = Field(default=None, description="Slack bot username.")
48
+ __properties: ClassVar[List[str]] = ["html", "previewText", "internal", "subject", "senderName", "senderEmail", "title", "redirectURL", "imageURL", "instant", "batch", "text", "message", "icon", "url", "blocks", "username"]
49
+
50
+ model_config = ConfigDict(
51
+ populate_by_name=True,
52
+ validate_assignment=True,
53
+ protected_namespaces=(),
54
+ )
55
+
56
+
57
+ def to_str(self) -> str:
58
+ """Returns the string representation of the model using alias"""
59
+ return pprint.pformat(self.model_dump(by_alias=True))
60
+
61
+ def to_json(self) -> str:
62
+ """Returns the JSON representation of the model using alias"""
63
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
64
+ return json.dumps(self.to_dict())
65
+
66
+ @classmethod
67
+ def from_json(cls, json_str: str) -> Optional[Self]:
68
+ """Create an instance of TemplatePatchRequest from a JSON string"""
69
+ return cls.from_dict(json.loads(json_str))
70
+
71
+ def to_dict(self) -> Dict[str, Any]:
72
+ """Return the dictionary representation of the model using alias.
73
+
74
+ This has the following differences from calling pydantic's
75
+ `self.model_dump(by_alias=True)`:
76
+
77
+ * `None` is only added to the output dict for nullable fields that
78
+ were set at model initialization. Other fields with value `None`
79
+ are ignored.
80
+ """
81
+ excluded_fields: Set[str] = set([
82
+ ])
83
+
84
+ _dict = self.model_dump(
85
+ by_alias=True,
86
+ exclude=excluded_fields,
87
+ exclude_none=True,
88
+ )
89
+ # override the default output from pydantic by calling `to_dict()` of instant
90
+ if self.instant:
91
+ _dict['instant'] = self.instant.to_dict()
92
+ # override the default output from pydantic by calling `to_dict()` of batch
93
+ if self.batch:
94
+ _dict['batch'] = self.batch.to_dict()
95
+ return _dict
96
+
97
+ @classmethod
98
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
99
+ """Create an instance of TemplatePatchRequest from a dict"""
100
+ if obj is None:
101
+ return None
102
+
103
+ if not isinstance(obj, dict):
104
+ return cls.model_validate(obj)
105
+
106
+ _obj = cls.model_validate({
107
+ "html": obj.get("html"),
108
+ "previewText": obj.get("previewText"),
109
+ "internal": obj.get("internal"),
110
+ "subject": obj.get("subject"),
111
+ "senderName": obj.get("senderName"),
112
+ "senderEmail": obj.get("senderEmail"),
113
+ "title": obj.get("title"),
114
+ "redirectURL": obj.get("redirectURL"),
115
+ "imageURL": obj.get("imageURL"),
116
+ "instant": TemplatePatchRequestInstant.from_dict(obj["instant"]) if obj.get("instant") is not None else None,
117
+ "batch": TemplatePatchRequestBatch.from_dict(obj["batch"]) if obj.get("batch") is not None else None,
118
+ "text": obj.get("text"),
119
+ "message": obj.get("message"),
120
+ "icon": obj.get("icon"),
121
+ "url": obj.get("url"),
122
+ "blocks": obj.get("blocks"),
123
+ "username": obj.get("username")
124
+ })
125
+ return _obj
126
+
127
+
@@ -22,7 +22,7 @@ from typing import Any, ClassVar, Dict, List
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
25
- class TemplatePostRequestBatch(BaseModel):
25
+ class TemplatePatchRequestBatch(BaseModel):
26
26
  """
27
27
  Copy for batch delivery.
28
28
  """ # noqa: E501
@@ -49,7 +49,7 @@ class TemplatePostRequestBatch(BaseModel):
49
49
 
50
50
  @classmethod
51
51
  def from_json(cls, json_str: str) -> Optional[Self]:
52
- """Create an instance of TemplatePostRequestBatch from a JSON string"""
52
+ """Create an instance of TemplatePatchRequestBatch from a JSON string"""
53
53
  return cls.from_dict(json.loads(json_str))
54
54
 
55
55
  def to_dict(self) -> Dict[str, Any]:
@@ -74,7 +74,7 @@ class TemplatePostRequestBatch(BaseModel):
74
74
 
75
75
  @classmethod
76
76
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
- """Create an instance of TemplatePostRequestBatch from a dict"""
77
+ """Create an instance of TemplatePatchRequestBatch from a dict"""
78
78
  if obj is None:
79
79
  return None
80
80
 
@@ -22,7 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
25
- class TemplatePostRequestInstant(BaseModel):
25
+ class TemplatePatchRequestInstant(BaseModel):
26
26
  """
27
27
  Copy for instant (real-time) delivery.
28
28
  """ # noqa: E501
@@ -49,7 +49,7 @@ class TemplatePostRequestInstant(BaseModel):
49
49
 
50
50
  @classmethod
51
51
  def from_json(cls, json_str: str) -> Optional[Self]:
52
- """Create an instance of TemplatePostRequestInstant from a JSON string"""
52
+ """Create an instance of TemplatePatchRequestInstant from a JSON string"""
53
53
  return cls.from_dict(json.loads(json_str))
54
54
 
55
55
  def to_dict(self) -> Dict[str, Any]:
@@ -74,7 +74,7 @@ class TemplatePostRequestInstant(BaseModel):
74
74
 
75
75
  @classmethod
76
76
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
- """Create an instance of TemplatePostRequestInstant from a dict"""
77
+ """Create an instance of TemplatePatchRequestInstant from a dict"""
78
78
  if obj is None:
79
79
  return None
80
80
 
@@ -19,8 +19,8 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
- from pingram.models.template_post_request_batch import TemplatePostRequestBatch
23
- from pingram.models.template_post_request_instant import TemplatePostRequestInstant
22
+ from pingram.models.template_patch_request_batch import TemplatePatchRequestBatch
23
+ from pingram.models.template_patch_request_instant import TemplatePatchRequestInstant
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
26
26
 
@@ -35,19 +35,18 @@ class TemplatePostRequest(BaseModel):
35
35
  subject: Optional[StrictStr] = Field(default=None, description="Email subject line.")
36
36
  sender_name: Optional[StrictStr] = Field(default=None, description="Sender display name.", alias="senderName")
37
37
  sender_email: Optional[StrictStr] = Field(default=None, description="Sender email address.", alias="senderEmail")
38
- migration: Optional[StrictStr] = Field(default=None, description="Migration metadata (e.g. from template migration).")
39
38
  title: Optional[StrictStr] = Field(default=None, description="Notification title (in-app).")
40
39
  redirect_url: Optional[StrictStr] = Field(default=None, description="URL to open when the user taps the notification.", alias="redirectURL")
41
40
  image_url: Optional[StrictStr] = Field(default=None, description="Image URL shown in the in-app notification.", alias="imageURL")
42
- instant: Optional[TemplatePostRequestInstant] = None
43
- batch: Optional[TemplatePostRequestBatch] = None
41
+ instant: Optional[TemplatePatchRequestInstant] = None
42
+ batch: Optional[TemplatePatchRequestBatch] = None
44
43
  text: Optional[StrictStr] = Field(default=None, description="Message text (SMS or call).")
45
44
  message: Optional[StrictStr] = Field(default=None, description="Push notification body text. (title is shared with INAPP_WEB above.)")
46
45
  icon: Optional[StrictStr] = Field(default=None, description="Web push: icon URL. Slack: bot icon (emoji or URL).")
47
46
  url: Optional[StrictStr] = Field(default=None, description="Web push: URL to open when the notification is clicked.")
48
47
  blocks: Optional[List[Dict[str, Any]]] = Field(default=None, description="Slack message blocks (optional).")
49
48
  username: Optional[StrictStr] = Field(default=None, description="Slack bot username.")
50
- __properties: ClassVar[List[str]] = ["templateId", "html", "previewText", "internal", "subject", "senderName", "senderEmail", "migration", "title", "redirectURL", "imageURL", "instant", "batch", "text", "message", "icon", "url", "blocks", "username"]
49
+ __properties: ClassVar[List[str]] = ["templateId", "html", "previewText", "internal", "subject", "senderName", "senderEmail", "title", "redirectURL", "imageURL", "instant", "batch", "text", "message", "icon", "url", "blocks", "username"]
51
50
 
52
51
  model_config = ConfigDict(
53
52
  populate_by_name=True,
@@ -113,12 +112,11 @@ class TemplatePostRequest(BaseModel):
113
112
  "subject": obj.get("subject"),
114
113
  "senderName": obj.get("senderName"),
115
114
  "senderEmail": obj.get("senderEmail"),
116
- "migration": obj.get("migration"),
117
115
  "title": obj.get("title"),
118
116
  "redirectURL": obj.get("redirectURL"),
119
117
  "imageURL": obj.get("imageURL"),
120
- "instant": TemplatePostRequestInstant.from_dict(obj["instant"]) if obj.get("instant") is not None else None,
121
- "batch": TemplatePostRequestBatch.from_dict(obj["batch"]) if obj.get("batch") is not None else None,
118
+ "instant": TemplatePatchRequestInstant.from_dict(obj["instant"]) if obj.get("instant") is not None else None,
119
+ "batch": TemplatePatchRequestBatch.from_dict(obj["batch"]) if obj.get("batch") is not None else None,
122
120
  "text": obj.get("text"),
123
121
  "message": obj.get("message"),
124
122
  "icon": obj.get("icon"),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pingram-python
3
- Version: 0.1.5
3
+ Version: 1.0.1
4
4
  Summary: Official Python SDK for Pingram - Send notifications via Email, SMS, Push, In-App, and more
5
5
  Author: Pingram
6
6
  License: MIT