pingram-python 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. pingram_python-0.1.0/LICENSE +21 -0
  2. pingram_python-0.1.0/MANIFEST.in +7 -0
  3. pingram_python-0.1.0/PKG-INFO +69 -0
  4. pingram_python-0.1.0/README.md +52 -0
  5. pingram_python-0.1.0/generated/pingram/__init__.py +395 -0
  6. pingram_python-0.1.0/generated/pingram/api/__init__.py +21 -0
  7. pingram_python-0.1.0/generated/pingram/api/account_api.py +2198 -0
  8. pingram_python-0.1.0/generated/pingram/api/addresses_api.py +860 -0
  9. pingram_python-0.1.0/generated/pingram/api/components_api.py +1681 -0
  10. pingram_python-0.1.0/generated/pingram/api/default_api.py +320 -0
  11. pingram_python-0.1.0/generated/pingram/api/domains_api.py +849 -0
  12. pingram_python-0.1.0/generated/pingram/api/editor_api.py +320 -0
  13. pingram_python-0.1.0/generated/pingram/api/environments_api.py +878 -0
  14. pingram_python-0.1.0/generated/pingram/api/health_api.py +287 -0
  15. pingram_python-0.1.0/generated/pingram/api/insights_api.py +321 -0
  16. pingram_python-0.1.0/generated/pingram/api/keys_api.py +849 -0
  17. pingram_python-0.1.0/generated/pingram/api/logs_api.py +1632 -0
  18. pingram_python-0.1.0/generated/pingram/api/members_api.py +1780 -0
  19. pingram_python-0.1.0/generated/pingram/api/sender_api.py +892 -0
  20. pingram_python-0.1.0/generated/pingram/api/templates_api.py +1889 -0
  21. pingram_python-0.1.0/generated/pingram/api/types_api.py +1411 -0
  22. pingram_python-0.1.0/generated/pingram/api/user_api.py +2534 -0
  23. pingram_python-0.1.0/generated/pingram/api/users_api.py +936 -0
  24. pingram_python-0.1.0/generated/pingram/api_client.py +807 -0
  25. pingram_python-0.1.0/generated/pingram/api_response.py +21 -0
  26. pingram_python-0.1.0/generated/pingram/client_wrapper.py +357 -0
  27. pingram_python-0.1.0/generated/pingram/configuration.py +623 -0
  28. pingram_python-0.1.0/generated/pingram/exceptions.py +219 -0
  29. pingram_python-0.1.0/generated/pingram/models/__init__.py +173 -0
  30. pingram_python-0.1.0/generated/pingram/models/account_addresses_response.py +95 -0
  31. pingram_python-0.1.0/generated/pingram/models/account_addresses_response_addresses_inner.py +104 -0
  32. pingram_python-0.1.0/generated/pingram/models/account_get_response.py +143 -0
  33. pingram_python-0.1.0/generated/pingram/models/account_get_response_pending_downgrade_usage_limit.py +99 -0
  34. pingram_python-0.1.0/generated/pingram/models/address_response.py +91 -0
  35. pingram_python-0.1.0/generated/pingram/models/auto_join_get_response.py +89 -0
  36. pingram_python-0.1.0/generated/pingram/models/auto_join_post_response.py +89 -0
  37. pingram_python-0.1.0/generated/pingram/models/auto_join_request_body.py +87 -0
  38. pingram_python-0.1.0/generated/pingram/models/bee_token_v2.py +89 -0
  39. pingram_python-0.1.0/generated/pingram/models/billing_post_request_body.py +91 -0
  40. pingram_python-0.1.0/generated/pingram/models/billing_post_response_body.py +149 -0
  41. pingram_python-0.1.0/generated/pingram/models/billing_post_response_body_pending_downgrade_usage_limit.py +99 -0
  42. pingram_python-0.1.0/generated/pingram/models/channels_enum.py +42 -0
  43. pingram_python-0.1.0/generated/pingram/models/create_account_request_body.py +87 -0
  44. pingram_python-0.1.0/generated/pingram/models/create_account_response.py +89 -0
  45. pingram_python-0.1.0/generated/pingram/models/create_address_request.py +91 -0
  46. pingram_python-0.1.0/generated/pingram/models/create_key_request.py +98 -0
  47. pingram_python-0.1.0/generated/pingram/models/create_key_response.py +104 -0
  48. pingram_python-0.1.0/generated/pingram/models/delete_key_response.py +87 -0
  49. pingram_python-0.1.0/generated/pingram/models/delete_user_response.py +87 -0
  50. pingram_python-0.1.0/generated/pingram/models/email_auth_token_post_request.py +87 -0
  51. pingram_python-0.1.0/generated/pingram/models/email_component_patch_request.py +93 -0
  52. pingram_python-0.1.0/generated/pingram/models/email_component_post_request.py +95 -0
  53. pingram_python-0.1.0/generated/pingram/models/email_component_response.py +120 -0
  54. pingram_python-0.1.0/generated/pingram/models/email_component_response_referenced_by_inner.py +92 -0
  55. pingram_python-0.1.0/generated/pingram/models/environment.py +96 -0
  56. pingram_python-0.1.0/generated/pingram/models/environment_create_request.py +87 -0
  57. pingram_python-0.1.0/generated/pingram/models/environment_patch_request.py +94 -0
  58. pingram_python-0.1.0/generated/pingram/models/get_account_metadata_response.py +91 -0
  59. pingram_python-0.1.0/generated/pingram/models/get_account_metadata_response_user_account_metadata.py +91 -0
  60. pingram_python-0.1.0/generated/pingram/models/get_email_components_response_inner.py +120 -0
  61. pingram_python-0.1.0/generated/pingram/models/get_environments_response_inner.py +96 -0
  62. pingram_python-0.1.0/generated/pingram/models/get_inapp_notifications_response.py +95 -0
  63. pingram_python-0.1.0/generated/pingram/models/get_inapp_notifications_response_notifications_inner.py +137 -0
  64. pingram_python-0.1.0/generated/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options.py +106 -0
  65. pingram_python-0.1.0/generated/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options_instant.py +93 -0
  66. pingram_python-0.1.0/generated/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options_off.py +87 -0
  67. pingram_python-0.1.0/generated/pingram/models/get_inapp_notifications_response_notifications_inner_replies_inner.py +89 -0
  68. pingram_python-0.1.0/generated/pingram/models/get_inapp_notifications_response_notifications_inner_template.py +136 -0
  69. pingram_python-0.1.0/generated/pingram/models/get_inapp_notifications_response_notifications_inner_template_any_of.py +98 -0
  70. pingram_python-0.1.0/generated/pingram/models/get_keys_response.py +95 -0
  71. pingram_python-0.1.0/generated/pingram/models/get_keys_response_keys_inner.py +110 -0
  72. pingram_python-0.1.0/generated/pingram/models/get_logs_response.py +97 -0
  73. pingram_python-0.1.0/generated/pingram/models/get_logs_response_messages_inner.py +141 -0
  74. pingram_python-0.1.0/generated/pingram/models/get_logs_response_messages_inner_attachments_inner.py +93 -0
  75. pingram_python-0.1.0/generated/pingram/models/get_members_response_inner.py +95 -0
  76. pingram_python-0.1.0/generated/pingram/models/get_metrics_response_inner.py +116 -0
  77. pingram_python-0.1.0/generated/pingram/models/get_metrics_response_inner_messages_inner.py +89 -0
  78. pingram_python-0.1.0/generated/pingram/models/get_notifications_response_inner.py +126 -0
  79. pingram_python-0.1.0/generated/pingram/models/get_notifications_response_inner_deduplication.py +87 -0
  80. pingram_python-0.1.0/generated/pingram/models/get_notifications_response_inner_options.py +122 -0
  81. pingram_python-0.1.0/generated/pingram/models/get_notifications_response_inner_options_email.py +128 -0
  82. pingram_python-0.1.0/generated/pingram/models/get_notifications_response_inner_options_email_daily.py +89 -0
  83. pingram_python-0.1.0/generated/pingram/models/get_notifications_response_inner_options_email_monthly.py +101 -0
  84. pingram_python-0.1.0/generated/pingram/models/get_notifications_response_inner_options_email_weekly.py +91 -0
  85. pingram_python-0.1.0/generated/pingram/models/get_notifications_response_inner_templates_inner.py +90 -0
  86. pingram_python-0.1.0/generated/pingram/models/get_notifications_response_inner_throttling.py +111 -0
  87. pingram_python-0.1.0/generated/pingram/models/get_senders_response_inner.py +128 -0
  88. pingram_python-0.1.0/generated/pingram/models/get_templates_response.py +136 -0
  89. pingram_python-0.1.0/generated/pingram/models/get_users_response.py +99 -0
  90. pingram_python-0.1.0/generated/pingram/models/get_users_response_users_inner.py +133 -0
  91. pingram_python-0.1.0/generated/pingram/models/get_users_response_users_inner_email_suppression_status.py +96 -0
  92. pingram_python-0.1.0/generated/pingram/models/get_users_response_users_inner_push_tokens_inner.py +104 -0
  93. pingram_python-0.1.0/generated/pingram/models/get_users_response_users_inner_push_tokens_inner_device.py +97 -0
  94. pingram_python-0.1.0/generated/pingram/models/get_users_response_users_inner_slack_token.py +140 -0
  95. pingram_python-0.1.0/generated/pingram/models/get_users_response_users_inner_slack_token_authed_user.py +97 -0
  96. pingram_python-0.1.0/generated/pingram/models/get_users_response_users_inner_slack_token_enterprise.py +89 -0
  97. pingram_python-0.1.0/generated/pingram/models/get_users_response_users_inner_slack_token_incoming_webhook.py +93 -0
  98. pingram_python-0.1.0/generated/pingram/models/get_users_response_users_inner_slack_token_response_metadata.py +97 -0
  99. pingram_python-0.1.0/generated/pingram/models/get_users_response_users_inner_web_push_tokens_inner.py +91 -0
  100. pingram_python-0.1.0/generated/pingram/models/get_users_response_users_inner_web_push_tokens_inner_sub.py +93 -0
  101. pingram_python-0.1.0/generated/pingram/models/get_users_response_users_inner_web_push_tokens_inner_sub_keys.py +89 -0
  102. pingram_python-0.1.0/generated/pingram/models/in_app_notification_patch_request.py +112 -0
  103. pingram_python-0.1.0/generated/pingram/models/in_app_notification_unread_clear_request.py +89 -0
  104. pingram_python-0.1.0/generated/pingram/models/inapp_unread_count_response.py +87 -0
  105. pingram_python-0.1.0/generated/pingram/models/inbound_request_body.py +138 -0
  106. pingram_python-0.1.0/generated/pingram/models/inbound_response_body.py +104 -0
  107. pingram_python-0.1.0/generated/pingram/models/inbound_response_body_results_inner.py +103 -0
  108. pingram_python-0.1.0/generated/pingram/models/ingishts_post_request.py +121 -0
  109. pingram_python-0.1.0/generated/pingram/models/ingishts_post_request_label_options.py +87 -0
  110. pingram_python-0.1.0/generated/pingram/models/ingishts_post_request_metric_data_queries_inner.py +103 -0
  111. pingram_python-0.1.0/generated/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat.py +107 -0
  112. pingram_python-0.1.0/generated/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat_metric.py +99 -0
  113. pingram_python-0.1.0/generated/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat_metric_dimensions_inner.py +89 -0
  114. pingram_python-0.1.0/generated/pingram/models/intercom_webhook.py +106 -0
  115. pingram_python-0.1.0/generated/pingram/models/intercom_webhook_data.py +91 -0
  116. pingram_python-0.1.0/generated/pingram/models/intercom_webhook_data_item.py +136 -0
  117. pingram_python-0.1.0/generated/pingram/models/intercom_webhook_data_item_any_of.py +140 -0
  118. pingram_python-0.1.0/generated/pingram/models/intercom_webhook_data_item_any_of_contacts.py +104 -0
  119. pingram_python-0.1.0/generated/pingram/models/intercom_webhook_data_item_any_of_contacts_contacts_inner.py +91 -0
  120. pingram_python-0.1.0/generated/pingram/models/intercom_webhook_data_item_any_of_source.py +101 -0
  121. pingram_python-0.1.0/generated/pingram/models/intercom_webhook_data_item_any_of_source_author.py +93 -0
  122. pingram_python-0.1.0/generated/pingram/models/invite_post_response.py +89 -0
  123. pingram_python-0.1.0/generated/pingram/models/log_query_post_body.py +109 -0
  124. pingram_python-0.1.0/generated/pingram/models/logs_bulk_request.py +87 -0
  125. pingram_python-0.1.0/generated/pingram/models/logs_get_response.py +95 -0
  126. pingram_python-0.1.0/generated/pingram/models/logs_get_response_logs_inner.py +627 -0
  127. pingram_python-0.1.0/generated/pingram/models/logs_query_response.py +87 -0
  128. pingram_python-0.1.0/generated/pingram/models/logs_query_result_response.py +101 -0
  129. pingram_python-0.1.0/generated/pingram/models/logs_retention_response.py +87 -0
  130. pingram_python-0.1.0/generated/pingram/models/logs_tail_response.py +95 -0
  131. pingram_python-0.1.0/generated/pingram/models/member_invite_request.py +89 -0
  132. pingram_python-0.1.0/generated/pingram/models/member_update_request.py +87 -0
  133. pingram_python-0.1.0/generated/pingram/models/message_response.py +87 -0
  134. pingram_python-0.1.0/generated/pingram/models/notification.py +126 -0
  135. pingram_python-0.1.0/generated/pingram/models/notification_create_request.py +97 -0
  136. pingram_python-0.1.0/generated/pingram/models/notification_patch_request.py +112 -0
  137. pingram_python-0.1.0/generated/pingram/models/post_email_test_request.py +99 -0
  138. pingram_python-0.1.0/generated/pingram/models/post_email_test_response.py +89 -0
  139. pingram_python-0.1.0/generated/pingram/models/post_senders_request_body.py +87 -0
  140. pingram_python-0.1.0/generated/pingram/models/post_user_request.py +121 -0
  141. pingram_python-0.1.0/generated/pingram/models/sender_post_body.py +166 -0
  142. pingram_python-0.1.0/generated/pingram/models/sender_post_body_email.py +95 -0
  143. pingram_python-0.1.0/generated/pingram/models/sender_post_body_inapp.py +91 -0
  144. pingram_python-0.1.0/generated/pingram/models/sender_post_body_mobile_push.py +89 -0
  145. pingram_python-0.1.0/generated/pingram/models/sender_post_body_options.py +103 -0
  146. pingram_python-0.1.0/generated/pingram/models/sender_post_body_options_apn.py +99 -0
  147. pingram_python-0.1.0/generated/pingram/models/sender_post_body_options_email.py +107 -0
  148. pingram_python-0.1.0/generated/pingram/models/sender_post_body_options_email_attachments_inner.py +134 -0
  149. pingram_python-0.1.0/generated/pingram/models/sender_post_body_options_email_attachments_inner_any_of.py +89 -0
  150. pingram_python-0.1.0/generated/pingram/models/sender_post_body_options_email_attachments_inner_any_of1.py +91 -0
  151. pingram_python-0.1.0/generated/pingram/models/sender_post_body_options_fcm.py +91 -0
  152. pingram_python-0.1.0/generated/pingram/models/sender_post_body_options_fcm_android.py +103 -0
  153. pingram_python-0.1.0/generated/pingram/models/sender_post_body_slack.py +123 -0
  154. pingram_python-0.1.0/generated/pingram/models/sender_post_body_slack_metadata.py +99 -0
  155. pingram_python-0.1.0/generated/pingram/models/sender_post_body_slack_metadata_entities_inner.py +99 -0
  156. pingram_python-0.1.0/generated/pingram/models/sender_post_body_slack_metadata_entities_inner_external_ref.py +89 -0
  157. pingram_python-0.1.0/generated/pingram/models/sender_post_body_sms.py +93 -0
  158. pingram_python-0.1.0/generated/pingram/models/sender_post_body_sms_auto_reply.py +87 -0
  159. pingram_python-0.1.0/generated/pingram/models/sender_post_body_to.py +133 -0
  160. pingram_python-0.1.0/generated/pingram/models/sender_post_body_user.py +133 -0
  161. pingram_python-0.1.0/generated/pingram/models/sender_post_body_web_push.py +93 -0
  162. pingram_python-0.1.0/generated/pingram/models/sender_post_response.py +89 -0
  163. pingram_python-0.1.0/generated/pingram/models/set_default_template_request.py +97 -0
  164. pingram_python-0.1.0/generated/pingram/models/slack_interactivity_response.py +87 -0
  165. pingram_python-0.1.0/generated/pingram/models/slack_oauth_request.py +89 -0
  166. pingram_python-0.1.0/generated/pingram/models/success_response.py +87 -0
  167. pingram_python-0.1.0/generated/pingram/models/supabase_configure_request.py +93 -0
  168. pingram_python-0.1.0/generated/pingram/models/supabase_configure_response.py +89 -0
  169. pingram_python-0.1.0/generated/pingram/models/supabase_o_auth_request.py +91 -0
  170. pingram_python-0.1.0/generated/pingram/models/supabase_o_auth_response.py +89 -0
  171. pingram_python-0.1.0/generated/pingram/models/supabase_projects_response.py +95 -0
  172. pingram_python-0.1.0/generated/pingram/models/supabase_projects_response_projects_inner.py +95 -0
  173. pingram_python-0.1.0/generated/pingram/models/supabase_status_response.py +93 -0
  174. pingram_python-0.1.0/generated/pingram/models/template.py +98 -0
  175. pingram_python-0.1.0/generated/pingram/models/template_patch_request.py +134 -0
  176. pingram_python-0.1.0/generated/pingram/models/template_patch_request_any_of.py +97 -0
  177. pingram_python-0.1.0/generated/pingram/models/template_patch_request_any_of1.py +103 -0
  178. pingram_python-0.1.0/generated/pingram/models/template_patch_request_any_of1_batch.py +91 -0
  179. pingram_python-0.1.0/generated/pingram/models/template_patch_request_any_of1_instant.py +91 -0
  180. pingram_python-0.1.0/generated/pingram/models/template_post_request.py +131 -0
  181. pingram_python-0.1.0/generated/pingram/models/template_post_request_batch.py +91 -0
  182. pingram_python-0.1.0/generated/pingram/models/template_post_request_instant.py +91 -0
  183. pingram_python-0.1.0/generated/pingram/models/update_address_request.py +91 -0
  184. pingram_python-0.1.0/generated/pingram/models/user.py +133 -0
  185. pingram_python-0.1.0/generated/pingram/models/user_suppression_delete_response.py +91 -0
  186. pingram_python-0.1.0/generated/pingram/models/webhook_response.py +104 -0
  187. pingram_python-0.1.0/generated/pingram/py.typed +0 -0
  188. pingram_python-0.1.0/generated/pingram/rest.py +199 -0
  189. pingram_python-0.1.0/generated/pingram_python.egg-info/PKG-INFO +69 -0
  190. pingram_python-0.1.0/generated/pingram_python.egg-info/SOURCES.txt +193 -0
  191. pingram_python-0.1.0/generated/pingram_python.egg-info/dependency_links.txt +1 -0
  192. pingram_python-0.1.0/generated/pingram_python.egg-info/requires.txt +4 -0
  193. pingram_python-0.1.0/generated/pingram_python.egg-info/top_level.txt +1 -0
  194. pingram_python-0.1.0/pyproject.toml +25 -0
  195. pingram_python-0.1.0/setup.cfg +4 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Pingram
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,7 @@
1
+ # Only ship the built package and metadata. Exclude codegen/templates so
2
+ # they are not published to PyPI (they live in the repo for regeneration only).
3
+ prune templates
4
+ prune src
5
+
6
+ # Include license so the sdist ships the full license text.
7
+ include LICENSE
@@ -0,0 +1,69 @@
1
+ Metadata-Version: 2.4
2
+ Name: pingram-python
3
+ Version: 0.1.0
4
+ Summary: Official Python SDK for Pingram - Send notifications via Email, SMS, Push, In-App, and more
5
+ Author: Pingram
6
+ License: MIT
7
+ Project-URL: Repository, https://github.com/notificationapi-com/serverless
8
+ Keywords: pingram,notificationapi,notification,sdk,email,sms,push,in-app
9
+ Requires-Python: >=3.9
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE
12
+ Requires-Dist: python-dateutil>=2.8.2
13
+ Requires-Dist: httpx>=0.28.1
14
+ Requires-Dist: pydantic>=2
15
+ Requires-Dist: typing-extensions>=4.7.1
16
+ Dynamic: license-file
17
+
18
+ # Pingram Python SDK
19
+
20
+ Official Python SDK for Pingram. Send notifications via Email, SMS, Push, In-App, and more from your server-side Python code.
21
+
22
+ ## Requirements
23
+
24
+ - Python 3.9+
25
+ - Dependencies: `httpx`, `pydantic`, `python-dateutil`, `typing-extensions` (installed automatically)
26
+
27
+ ## Installation
28
+
29
+ ```bash
30
+ pip install pingram-python
31
+ ```
32
+
33
+ To install from source (e.g. from the [GitHub repo](https://github.com/notificationapi-com/serverless)):
34
+
35
+ ```bash
36
+ pip install -e sdks/python
37
+ ```
38
+
39
+ ## Quick start
40
+
41
+ Use the **Pingram** client with your **API key**, then call `send()` or the namespaced APIs (`user`, `users`, `logs`, etc.).
42
+
43
+ ```python
44
+ import asyncio
45
+ from pingram import Pingram, SenderPostBody, SenderPostBodyTo
46
+
47
+ async def main():
48
+ # API key (e.g. pingram_sk_...) or JWT; optional region ("us" | "eu" | "ca")
49
+ async with Pingram(api_key="pingram_sk_...") as client:
50
+ # Send a notification
51
+ body = SenderPostBody(
52
+ notification_id="your_notification_id",
53
+ to=SenderPostBodyTo(id="user_123"),
54
+ )
55
+ response = await client.send(sender_post_body=body)
56
+ print(response)
57
+
58
+ # Or use namespaced APIs (same as Node: client.user, client.users, client.logs, ...)
59
+ # user = await client.user.user_get_user(account_id="...", user_id="...")
60
+ # logs = await client.logs.logs_query_logs(...)
61
+
62
+ asyncio.run(main())
63
+ ```
64
+
65
+ You can also pass a config dict: `Pingram({"api_key": "pingram_sk_...", "region": "eu"})`. For full API coverage, use `client.send`, `client.user`, `client.users`, `client.logs`, `client.templates`, `client.environments`, and the other APIs.
66
+
67
+ ## Links
68
+
69
+ - [Documentation](https://www.pingram.io/docs/)
@@ -0,0 +1,52 @@
1
+ # Pingram Python SDK
2
+
3
+ Official Python SDK for Pingram. Send notifications via Email, SMS, Push, In-App, and more from your server-side Python code.
4
+
5
+ ## Requirements
6
+
7
+ - Python 3.9+
8
+ - Dependencies: `httpx`, `pydantic`, `python-dateutil`, `typing-extensions` (installed automatically)
9
+
10
+ ## Installation
11
+
12
+ ```bash
13
+ pip install pingram-python
14
+ ```
15
+
16
+ To install from source (e.g. from the [GitHub repo](https://github.com/notificationapi-com/serverless)):
17
+
18
+ ```bash
19
+ pip install -e sdks/python
20
+ ```
21
+
22
+ ## Quick start
23
+
24
+ Use the **Pingram** client with your **API key**, then call `send()` or the namespaced APIs (`user`, `users`, `logs`, etc.).
25
+
26
+ ```python
27
+ import asyncio
28
+ from pingram import Pingram, SenderPostBody, SenderPostBodyTo
29
+
30
+ async def main():
31
+ # API key (e.g. pingram_sk_...) or JWT; optional region ("us" | "eu" | "ca")
32
+ async with Pingram(api_key="pingram_sk_...") as client:
33
+ # Send a notification
34
+ body = SenderPostBody(
35
+ notification_id="your_notification_id",
36
+ to=SenderPostBodyTo(id="user_123"),
37
+ )
38
+ response = await client.send(sender_post_body=body)
39
+ print(response)
40
+
41
+ # Or use namespaced APIs (same as Node: client.user, client.users, client.logs, ...)
42
+ # user = await client.user.user_get_user(account_id="...", user_id="...")
43
+ # logs = await client.logs.logs_query_logs(...)
44
+
45
+ asyncio.run(main())
46
+ ```
47
+
48
+ You can also pass a config dict: `Pingram({"api_key": "pingram_sk_...", "region": "eu"})`. For full API coverage, use `client.send`, `client.user`, `client.users`, `client.logs`, `client.templates`, `client.environments`, and the other APIs.
49
+
50
+ ## Links
51
+
52
+ - [Documentation](https://www.pingram.io/docs/)
@@ -0,0 +1,395 @@
1
+ # coding: utf-8
2
+
3
+ # flake8: noqa
4
+
5
+ """
6
+ NotificationAPI
7
+
8
+ Internal API for notification delivery and management
9
+
10
+ The version of the OpenAPI document: 1.0.0
11
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
12
+
13
+ Do not edit the class manually.
14
+ """ # noqa: E501
15
+
16
+
17
+ __version__ = "0.1.0"
18
+
19
+ # Define package exports
20
+ __all__ = [
21
+ "AccountApi",
22
+ "AddressesApi",
23
+ "ComponentsApi",
24
+ "DomainsApi",
25
+ "EditorApi",
26
+ "EnvironmentsApi",
27
+ "HealthApi",
28
+ "InsightsApi",
29
+ "KeysApi",
30
+ "LogsApi",
31
+ "MembersApi",
32
+ "SenderApi",
33
+ "TemplatesApi",
34
+ "TypesApi",
35
+ "UserApi",
36
+ "UsersApi",
37
+ "DefaultApi",
38
+ "ApiResponse",
39
+ "ApiClient",
40
+ "Configuration",
41
+ "OpenApiException",
42
+ "ApiTypeError",
43
+ "ApiValueError",
44
+ "ApiKeyError",
45
+ "ApiAttributeError",
46
+ "ApiException",
47
+ "AccountAddressesResponse",
48
+ "AccountAddressesResponseAddressesInner",
49
+ "AccountGetResponse",
50
+ "AccountGetResponsePendingDowngradeUsageLimit",
51
+ "AddressResponse",
52
+ "AutoJoinGetResponse",
53
+ "AutoJoinPostResponse",
54
+ "AutoJoinRequestBody",
55
+ "BeeTokenV2",
56
+ "BillingPostRequestBody",
57
+ "BillingPostResponseBody",
58
+ "BillingPostResponseBodyPendingDowngradeUsageLimit",
59
+ "ChannelsEnum",
60
+ "CreateAccountRequestBody",
61
+ "CreateAccountResponse",
62
+ "CreateAddressRequest",
63
+ "CreateKeyRequest",
64
+ "CreateKeyResponse",
65
+ "DeleteKeyResponse",
66
+ "DeleteUserResponse",
67
+ "EmailAuthTokenPostRequest",
68
+ "EmailComponentPatchRequest",
69
+ "EmailComponentPostRequest",
70
+ "EmailComponentResponse",
71
+ "EmailComponentResponseReferencedByInner",
72
+ "Environment",
73
+ "EnvironmentCreateRequest",
74
+ "EnvironmentPatchRequest",
75
+ "GetAccountMetadataResponse",
76
+ "GetAccountMetadataResponseUserAccountMetadata",
77
+ "GetEmailComponentsResponseInner",
78
+ "GetEnvironmentsResponseInner",
79
+ "GetInappNotificationsResponse",
80
+ "GetInappNotificationsResponseNotificationsInner",
81
+ "GetInappNotificationsResponseNotificationsInnerDeliveryOptions",
82
+ "GetInappNotificationsResponseNotificationsInnerDeliveryOptionsInstant",
83
+ "GetInappNotificationsResponseNotificationsInnerDeliveryOptionsOff",
84
+ "GetInappNotificationsResponseNotificationsInnerRepliesInner",
85
+ "GetInappNotificationsResponseNotificationsInnerTemplate",
86
+ "GetInappNotificationsResponseNotificationsInnerTemplateAnyOf",
87
+ "GetKeysResponse",
88
+ "GetKeysResponseKeysInner",
89
+ "GetLogsResponse",
90
+ "GetLogsResponseMessagesInner",
91
+ "GetLogsResponseMessagesInnerAttachmentsInner",
92
+ "GetMembersResponseInner",
93
+ "GetMetricsResponseInner",
94
+ "GetMetricsResponseInnerMessagesInner",
95
+ "GetNotificationsResponseInner",
96
+ "GetNotificationsResponseInnerDeduplication",
97
+ "GetNotificationsResponseInnerOptions",
98
+ "GetNotificationsResponseInnerOptionsEMAIL",
99
+ "GetNotificationsResponseInnerOptionsEMAILDaily",
100
+ "GetNotificationsResponseInnerOptionsEMAILMonthly",
101
+ "GetNotificationsResponseInnerOptionsEMAILWeekly",
102
+ "GetNotificationsResponseInnerTemplatesInner",
103
+ "GetNotificationsResponseInnerThrottling",
104
+ "GetSendersResponseInner",
105
+ "GetTemplatesResponse",
106
+ "GetUsersResponse",
107
+ "GetUsersResponseUsersInner",
108
+ "GetUsersResponseUsersInnerEmailSuppressionStatus",
109
+ "GetUsersResponseUsersInnerPushTokensInner",
110
+ "GetUsersResponseUsersInnerPushTokensInnerDevice",
111
+ "GetUsersResponseUsersInnerSlackToken",
112
+ "GetUsersResponseUsersInnerSlackTokenAuthedUser",
113
+ "GetUsersResponseUsersInnerSlackTokenEnterprise",
114
+ "GetUsersResponseUsersInnerSlackTokenIncomingWebhook",
115
+ "GetUsersResponseUsersInnerSlackTokenResponseMetadata",
116
+ "GetUsersResponseUsersInnerWebPushTokensInner",
117
+ "GetUsersResponseUsersInnerWebPushTokensInnerSub",
118
+ "GetUsersResponseUsersInnerWebPushTokensInnerSubKeys",
119
+ "InAppNotificationPatchRequest",
120
+ "InAppNotificationUnreadClearRequest",
121
+ "InappUnreadCountResponse",
122
+ "InboundRequestBody",
123
+ "InboundResponseBody",
124
+ "InboundResponseBodyResultsInner",
125
+ "IngishtsPostRequest",
126
+ "IngishtsPostRequestLabelOptions",
127
+ "IngishtsPostRequestMetricDataQueriesInner",
128
+ "IngishtsPostRequestMetricDataQueriesInnerMetricStat",
129
+ "IngishtsPostRequestMetricDataQueriesInnerMetricStatMetric",
130
+ "IngishtsPostRequestMetricDataQueriesInnerMetricStatMetricDimensionsInner",
131
+ "IntercomWebhook",
132
+ "IntercomWebhookData",
133
+ "IntercomWebhookDataItem",
134
+ "IntercomWebhookDataItemAnyOf",
135
+ "IntercomWebhookDataItemAnyOfContacts",
136
+ "IntercomWebhookDataItemAnyOfContactsContactsInner",
137
+ "IntercomWebhookDataItemAnyOfSource",
138
+ "IntercomWebhookDataItemAnyOfSourceAuthor",
139
+ "InvitePostResponse",
140
+ "LogQueryPostBody",
141
+ "LogsBulkRequest",
142
+ "LogsGetResponse",
143
+ "LogsGetResponseLogsInner",
144
+ "LogsQueryResponse",
145
+ "LogsQueryResultResponse",
146
+ "LogsRetentionResponse",
147
+ "LogsTailResponse",
148
+ "MemberInviteRequest",
149
+ "MemberUpdateRequest",
150
+ "MessageResponse",
151
+ "Notification",
152
+ "NotificationCreateRequest",
153
+ "NotificationPatchRequest",
154
+ "PostEmailTestRequest",
155
+ "PostEmailTestResponse",
156
+ "PostSendersRequestBody",
157
+ "PostUserRequest",
158
+ "SenderPostBody",
159
+ "SenderPostBodyEmail",
160
+ "SenderPostBodyInapp",
161
+ "SenderPostBodyMobilePush",
162
+ "SenderPostBodyOptions",
163
+ "SenderPostBodyOptionsApn",
164
+ "SenderPostBodyOptionsEmail",
165
+ "SenderPostBodyOptionsEmailAttachmentsInner",
166
+ "SenderPostBodyOptionsEmailAttachmentsInnerAnyOf",
167
+ "SenderPostBodyOptionsEmailAttachmentsInnerAnyOf1",
168
+ "SenderPostBodyOptionsFcm",
169
+ "SenderPostBodyOptionsFcmAndroid",
170
+ "SenderPostBodySlack",
171
+ "SenderPostBodySlackMetadata",
172
+ "SenderPostBodySlackMetadataEntitiesInner",
173
+ "SenderPostBodySlackMetadataEntitiesInnerExternalRef",
174
+ "SenderPostBodySms",
175
+ "SenderPostBodySmsAutoReply",
176
+ "SenderPostBodyTo",
177
+ "SenderPostBodyUser",
178
+ "SenderPostBodyWebPush",
179
+ "SenderPostResponse",
180
+ "SetDefaultTemplateRequest",
181
+ "SlackInteractivityResponse",
182
+ "SlackOauthRequest",
183
+ "SuccessResponse",
184
+ "SupabaseConfigureRequest",
185
+ "SupabaseConfigureResponse",
186
+ "SupabaseOAuthRequest",
187
+ "SupabaseOAuthResponse",
188
+ "SupabaseProjectsResponse",
189
+ "SupabaseProjectsResponseProjectsInner",
190
+ "SupabaseStatusResponse",
191
+ "Template",
192
+ "TemplatePatchRequest",
193
+ "TemplatePatchRequestAnyOf",
194
+ "TemplatePatchRequestAnyOf1",
195
+ "TemplatePatchRequestAnyOf1Batch",
196
+ "TemplatePatchRequestAnyOf1Instant",
197
+ "TemplatePostRequest",
198
+ "TemplatePostRequestBatch",
199
+ "TemplatePostRequestInstant",
200
+ "UpdateAddressRequest",
201
+ "User",
202
+ "UserSuppressionDeleteResponse",
203
+ "WebhookResponse",
204
+ ]
205
+
206
+ # import apis into sdk package
207
+ from pingram.api.account_api import AccountApi as AccountApi
208
+ from pingram.api.addresses_api import AddressesApi as AddressesApi
209
+ from pingram.api.components_api import ComponentsApi as ComponentsApi
210
+ from pingram.api.domains_api import DomainsApi as DomainsApi
211
+ from pingram.api.editor_api import EditorApi as EditorApi
212
+ from pingram.api.environments_api import EnvironmentsApi as EnvironmentsApi
213
+ from pingram.api.health_api import HealthApi as HealthApi
214
+ from pingram.api.insights_api import InsightsApi as InsightsApi
215
+ from pingram.api.keys_api import KeysApi as KeysApi
216
+ from pingram.api.logs_api import LogsApi as LogsApi
217
+ from pingram.api.members_api import MembersApi as MembersApi
218
+ from pingram.api.sender_api import SenderApi as SenderApi
219
+ from pingram.api.templates_api import TemplatesApi as TemplatesApi
220
+ from pingram.api.types_api import TypesApi as TypesApi
221
+ from pingram.api.user_api import UserApi as UserApi
222
+ from pingram.api.users_api import UsersApi as UsersApi
223
+ from pingram.api.default_api import DefaultApi as DefaultApi
224
+
225
+ # import ApiClient
226
+ from pingram.api_response import ApiResponse as ApiResponse
227
+ from pingram.api_client import ApiClient as ApiClient
228
+ from pingram.configuration import Configuration as Configuration
229
+ from pingram.exceptions import OpenApiException as OpenApiException
230
+ from pingram.exceptions import ApiTypeError as ApiTypeError
231
+ from pingram.exceptions import ApiValueError as ApiValueError
232
+ from pingram.exceptions import ApiKeyError as ApiKeyError
233
+ from pingram.exceptions import ApiAttributeError as ApiAttributeError
234
+ from pingram.exceptions import ApiException as ApiException
235
+
236
+ # import models into sdk package
237
+ from pingram.models.account_addresses_response import AccountAddressesResponse as AccountAddressesResponse
238
+ from pingram.models.account_addresses_response_addresses_inner import AccountAddressesResponseAddressesInner as AccountAddressesResponseAddressesInner
239
+ from pingram.models.account_get_response import AccountGetResponse as AccountGetResponse
240
+ from pingram.models.account_get_response_pending_downgrade_usage_limit import AccountGetResponsePendingDowngradeUsageLimit as AccountGetResponsePendingDowngradeUsageLimit
241
+ from pingram.models.address_response import AddressResponse as AddressResponse
242
+ from pingram.models.auto_join_get_response import AutoJoinGetResponse as AutoJoinGetResponse
243
+ from pingram.models.auto_join_post_response import AutoJoinPostResponse as AutoJoinPostResponse
244
+ from pingram.models.auto_join_request_body import AutoJoinRequestBody as AutoJoinRequestBody
245
+ from pingram.models.bee_token_v2 import BeeTokenV2 as BeeTokenV2
246
+ from pingram.models.billing_post_request_body import BillingPostRequestBody as BillingPostRequestBody
247
+ from pingram.models.billing_post_response_body import BillingPostResponseBody as BillingPostResponseBody
248
+ from pingram.models.billing_post_response_body_pending_downgrade_usage_limit import BillingPostResponseBodyPendingDowngradeUsageLimit as BillingPostResponseBodyPendingDowngradeUsageLimit
249
+ from pingram.models.channels_enum import ChannelsEnum as ChannelsEnum
250
+ from pingram.models.create_account_request_body import CreateAccountRequestBody as CreateAccountRequestBody
251
+ from pingram.models.create_account_response import CreateAccountResponse as CreateAccountResponse
252
+ from pingram.models.create_address_request import CreateAddressRequest as CreateAddressRequest
253
+ from pingram.models.create_key_request import CreateKeyRequest as CreateKeyRequest
254
+ from pingram.models.create_key_response import CreateKeyResponse as CreateKeyResponse
255
+ from pingram.models.delete_key_response import DeleteKeyResponse as DeleteKeyResponse
256
+ from pingram.models.delete_user_response import DeleteUserResponse as DeleteUserResponse
257
+ from pingram.models.email_auth_token_post_request import EmailAuthTokenPostRequest as EmailAuthTokenPostRequest
258
+ from pingram.models.email_component_patch_request import EmailComponentPatchRequest as EmailComponentPatchRequest
259
+ from pingram.models.email_component_post_request import EmailComponentPostRequest as EmailComponentPostRequest
260
+ from pingram.models.email_component_response import EmailComponentResponse as EmailComponentResponse
261
+ from pingram.models.email_component_response_referenced_by_inner import EmailComponentResponseReferencedByInner as EmailComponentResponseReferencedByInner
262
+ from pingram.models.environment import Environment as Environment
263
+ from pingram.models.environment_create_request import EnvironmentCreateRequest as EnvironmentCreateRequest
264
+ from pingram.models.environment_patch_request import EnvironmentPatchRequest as EnvironmentPatchRequest
265
+ from pingram.models.get_account_metadata_response import GetAccountMetadataResponse as GetAccountMetadataResponse
266
+ from pingram.models.get_account_metadata_response_user_account_metadata import GetAccountMetadataResponseUserAccountMetadata as GetAccountMetadataResponseUserAccountMetadata
267
+ from pingram.models.get_email_components_response_inner import GetEmailComponentsResponseInner as GetEmailComponentsResponseInner
268
+ from pingram.models.get_environments_response_inner import GetEnvironmentsResponseInner as GetEnvironmentsResponseInner
269
+ from pingram.models.get_inapp_notifications_response import GetInappNotificationsResponse as GetInappNotificationsResponse
270
+ from pingram.models.get_inapp_notifications_response_notifications_inner import GetInappNotificationsResponseNotificationsInner as GetInappNotificationsResponseNotificationsInner
271
+ from pingram.models.get_inapp_notifications_response_notifications_inner_delivery_options import GetInappNotificationsResponseNotificationsInnerDeliveryOptions as GetInappNotificationsResponseNotificationsInnerDeliveryOptions
272
+ from pingram.models.get_inapp_notifications_response_notifications_inner_delivery_options_instant import GetInappNotificationsResponseNotificationsInnerDeliveryOptionsInstant as GetInappNotificationsResponseNotificationsInnerDeliveryOptionsInstant
273
+ from pingram.models.get_inapp_notifications_response_notifications_inner_delivery_options_off import GetInappNotificationsResponseNotificationsInnerDeliveryOptionsOff as GetInappNotificationsResponseNotificationsInnerDeliveryOptionsOff
274
+ from pingram.models.get_inapp_notifications_response_notifications_inner_replies_inner import GetInappNotificationsResponseNotificationsInnerRepliesInner as GetInappNotificationsResponseNotificationsInnerRepliesInner
275
+ from pingram.models.get_inapp_notifications_response_notifications_inner_template import GetInappNotificationsResponseNotificationsInnerTemplate as GetInappNotificationsResponseNotificationsInnerTemplate
276
+ from pingram.models.get_inapp_notifications_response_notifications_inner_template_any_of import GetInappNotificationsResponseNotificationsInnerTemplateAnyOf as GetInappNotificationsResponseNotificationsInnerTemplateAnyOf
277
+ from pingram.models.get_keys_response import GetKeysResponse as GetKeysResponse
278
+ from pingram.models.get_keys_response_keys_inner import GetKeysResponseKeysInner as GetKeysResponseKeysInner
279
+ from pingram.models.get_logs_response import GetLogsResponse as GetLogsResponse
280
+ from pingram.models.get_logs_response_messages_inner import GetLogsResponseMessagesInner as GetLogsResponseMessagesInner
281
+ from pingram.models.get_logs_response_messages_inner_attachments_inner import GetLogsResponseMessagesInnerAttachmentsInner as GetLogsResponseMessagesInnerAttachmentsInner
282
+ from pingram.models.get_members_response_inner import GetMembersResponseInner as GetMembersResponseInner
283
+ from pingram.models.get_metrics_response_inner import GetMetricsResponseInner as GetMetricsResponseInner
284
+ from pingram.models.get_metrics_response_inner_messages_inner import GetMetricsResponseInnerMessagesInner as GetMetricsResponseInnerMessagesInner
285
+ from pingram.models.get_notifications_response_inner import GetNotificationsResponseInner as GetNotificationsResponseInner
286
+ from pingram.models.get_notifications_response_inner_deduplication import GetNotificationsResponseInnerDeduplication as GetNotificationsResponseInnerDeduplication
287
+ from pingram.models.get_notifications_response_inner_options import GetNotificationsResponseInnerOptions as GetNotificationsResponseInnerOptions
288
+ from pingram.models.get_notifications_response_inner_options_email import GetNotificationsResponseInnerOptionsEMAIL as GetNotificationsResponseInnerOptionsEMAIL
289
+ from pingram.models.get_notifications_response_inner_options_email_daily import GetNotificationsResponseInnerOptionsEMAILDaily as GetNotificationsResponseInnerOptionsEMAILDaily
290
+ from pingram.models.get_notifications_response_inner_options_email_monthly import GetNotificationsResponseInnerOptionsEMAILMonthly as GetNotificationsResponseInnerOptionsEMAILMonthly
291
+ from pingram.models.get_notifications_response_inner_options_email_weekly import GetNotificationsResponseInnerOptionsEMAILWeekly as GetNotificationsResponseInnerOptionsEMAILWeekly
292
+ from pingram.models.get_notifications_response_inner_templates_inner import GetNotificationsResponseInnerTemplatesInner as GetNotificationsResponseInnerTemplatesInner
293
+ from pingram.models.get_notifications_response_inner_throttling import GetNotificationsResponseInnerThrottling as GetNotificationsResponseInnerThrottling
294
+ from pingram.models.get_senders_response_inner import GetSendersResponseInner as GetSendersResponseInner
295
+ from pingram.models.get_templates_response import GetTemplatesResponse as GetTemplatesResponse
296
+ from pingram.models.get_users_response import GetUsersResponse as GetUsersResponse
297
+ from pingram.models.get_users_response_users_inner import GetUsersResponseUsersInner as GetUsersResponseUsersInner
298
+ from pingram.models.get_users_response_users_inner_email_suppression_status import GetUsersResponseUsersInnerEmailSuppressionStatus as GetUsersResponseUsersInnerEmailSuppressionStatus
299
+ from pingram.models.get_users_response_users_inner_push_tokens_inner import GetUsersResponseUsersInnerPushTokensInner as GetUsersResponseUsersInnerPushTokensInner
300
+ from pingram.models.get_users_response_users_inner_push_tokens_inner_device import GetUsersResponseUsersInnerPushTokensInnerDevice as GetUsersResponseUsersInnerPushTokensInnerDevice
301
+ from pingram.models.get_users_response_users_inner_slack_token import GetUsersResponseUsersInnerSlackToken as GetUsersResponseUsersInnerSlackToken
302
+ from pingram.models.get_users_response_users_inner_slack_token_authed_user import GetUsersResponseUsersInnerSlackTokenAuthedUser as GetUsersResponseUsersInnerSlackTokenAuthedUser
303
+ from pingram.models.get_users_response_users_inner_slack_token_enterprise import GetUsersResponseUsersInnerSlackTokenEnterprise as GetUsersResponseUsersInnerSlackTokenEnterprise
304
+ from pingram.models.get_users_response_users_inner_slack_token_incoming_webhook import GetUsersResponseUsersInnerSlackTokenIncomingWebhook as GetUsersResponseUsersInnerSlackTokenIncomingWebhook
305
+ from pingram.models.get_users_response_users_inner_slack_token_response_metadata import GetUsersResponseUsersInnerSlackTokenResponseMetadata as GetUsersResponseUsersInnerSlackTokenResponseMetadata
306
+ from pingram.models.get_users_response_users_inner_web_push_tokens_inner import GetUsersResponseUsersInnerWebPushTokensInner as GetUsersResponseUsersInnerWebPushTokensInner
307
+ from pingram.models.get_users_response_users_inner_web_push_tokens_inner_sub import GetUsersResponseUsersInnerWebPushTokensInnerSub as GetUsersResponseUsersInnerWebPushTokensInnerSub
308
+ from pingram.models.get_users_response_users_inner_web_push_tokens_inner_sub_keys import GetUsersResponseUsersInnerWebPushTokensInnerSubKeys as GetUsersResponseUsersInnerWebPushTokensInnerSubKeys
309
+ from pingram.models.in_app_notification_patch_request import InAppNotificationPatchRequest as InAppNotificationPatchRequest
310
+ from pingram.models.in_app_notification_unread_clear_request import InAppNotificationUnreadClearRequest as InAppNotificationUnreadClearRequest
311
+ from pingram.models.inapp_unread_count_response import InappUnreadCountResponse as InappUnreadCountResponse
312
+ from pingram.models.inbound_request_body import InboundRequestBody as InboundRequestBody
313
+ from pingram.models.inbound_response_body import InboundResponseBody as InboundResponseBody
314
+ from pingram.models.inbound_response_body_results_inner import InboundResponseBodyResultsInner as InboundResponseBodyResultsInner
315
+ from pingram.models.ingishts_post_request import IngishtsPostRequest as IngishtsPostRequest
316
+ from pingram.models.ingishts_post_request_label_options import IngishtsPostRequestLabelOptions as IngishtsPostRequestLabelOptions
317
+ from pingram.models.ingishts_post_request_metric_data_queries_inner import IngishtsPostRequestMetricDataQueriesInner as IngishtsPostRequestMetricDataQueriesInner
318
+ from pingram.models.ingishts_post_request_metric_data_queries_inner_metric_stat import IngishtsPostRequestMetricDataQueriesInnerMetricStat as IngishtsPostRequestMetricDataQueriesInnerMetricStat
319
+ from pingram.models.ingishts_post_request_metric_data_queries_inner_metric_stat_metric import IngishtsPostRequestMetricDataQueriesInnerMetricStatMetric as IngishtsPostRequestMetricDataQueriesInnerMetricStatMetric
320
+ from pingram.models.ingishts_post_request_metric_data_queries_inner_metric_stat_metric_dimensions_inner import IngishtsPostRequestMetricDataQueriesInnerMetricStatMetricDimensionsInner as IngishtsPostRequestMetricDataQueriesInnerMetricStatMetricDimensionsInner
321
+ from pingram.models.intercom_webhook import IntercomWebhook as IntercomWebhook
322
+ from pingram.models.intercom_webhook_data import IntercomWebhookData as IntercomWebhookData
323
+ from pingram.models.intercom_webhook_data_item import IntercomWebhookDataItem as IntercomWebhookDataItem
324
+ from pingram.models.intercom_webhook_data_item_any_of import IntercomWebhookDataItemAnyOf as IntercomWebhookDataItemAnyOf
325
+ from pingram.models.intercom_webhook_data_item_any_of_contacts import IntercomWebhookDataItemAnyOfContacts as IntercomWebhookDataItemAnyOfContacts
326
+ from pingram.models.intercom_webhook_data_item_any_of_contacts_contacts_inner import IntercomWebhookDataItemAnyOfContactsContactsInner as IntercomWebhookDataItemAnyOfContactsContactsInner
327
+ from pingram.models.intercom_webhook_data_item_any_of_source import IntercomWebhookDataItemAnyOfSource as IntercomWebhookDataItemAnyOfSource
328
+ from pingram.models.intercom_webhook_data_item_any_of_source_author import IntercomWebhookDataItemAnyOfSourceAuthor as IntercomWebhookDataItemAnyOfSourceAuthor
329
+ from pingram.models.invite_post_response import InvitePostResponse as InvitePostResponse
330
+ from pingram.models.log_query_post_body import LogQueryPostBody as LogQueryPostBody
331
+ from pingram.models.logs_bulk_request import LogsBulkRequest as LogsBulkRequest
332
+ from pingram.models.logs_get_response import LogsGetResponse as LogsGetResponse
333
+ from pingram.models.logs_get_response_logs_inner import LogsGetResponseLogsInner as LogsGetResponseLogsInner
334
+ from pingram.models.logs_query_response import LogsQueryResponse as LogsQueryResponse
335
+ from pingram.models.logs_query_result_response import LogsQueryResultResponse as LogsQueryResultResponse
336
+ from pingram.models.logs_retention_response import LogsRetentionResponse as LogsRetentionResponse
337
+ from pingram.models.logs_tail_response import LogsTailResponse as LogsTailResponse
338
+ from pingram.models.member_invite_request import MemberInviteRequest as MemberInviteRequest
339
+ from pingram.models.member_update_request import MemberUpdateRequest as MemberUpdateRequest
340
+ from pingram.models.message_response import MessageResponse as MessageResponse
341
+ from pingram.models.notification import Notification as Notification
342
+ from pingram.models.notification_create_request import NotificationCreateRequest as NotificationCreateRequest
343
+ from pingram.models.notification_patch_request import NotificationPatchRequest as NotificationPatchRequest
344
+ from pingram.models.post_email_test_request import PostEmailTestRequest as PostEmailTestRequest
345
+ from pingram.models.post_email_test_response import PostEmailTestResponse as PostEmailTestResponse
346
+ from pingram.models.post_senders_request_body import PostSendersRequestBody as PostSendersRequestBody
347
+ from pingram.models.post_user_request import PostUserRequest as PostUserRequest
348
+ from pingram.models.sender_post_body import SenderPostBody as SenderPostBody
349
+ from pingram.models.sender_post_body_email import SenderPostBodyEmail as SenderPostBodyEmail
350
+ from pingram.models.sender_post_body_inapp import SenderPostBodyInapp as SenderPostBodyInapp
351
+ from pingram.models.sender_post_body_mobile_push import SenderPostBodyMobilePush as SenderPostBodyMobilePush
352
+ from pingram.models.sender_post_body_options import SenderPostBodyOptions as SenderPostBodyOptions
353
+ from pingram.models.sender_post_body_options_apn import SenderPostBodyOptionsApn as SenderPostBodyOptionsApn
354
+ from pingram.models.sender_post_body_options_email import SenderPostBodyOptionsEmail as SenderPostBodyOptionsEmail
355
+ from pingram.models.sender_post_body_options_email_attachments_inner import SenderPostBodyOptionsEmailAttachmentsInner as SenderPostBodyOptionsEmailAttachmentsInner
356
+ from pingram.models.sender_post_body_options_email_attachments_inner_any_of import SenderPostBodyOptionsEmailAttachmentsInnerAnyOf as SenderPostBodyOptionsEmailAttachmentsInnerAnyOf
357
+ from pingram.models.sender_post_body_options_email_attachments_inner_any_of1 import SenderPostBodyOptionsEmailAttachmentsInnerAnyOf1 as SenderPostBodyOptionsEmailAttachmentsInnerAnyOf1
358
+ from pingram.models.sender_post_body_options_fcm import SenderPostBodyOptionsFcm as SenderPostBodyOptionsFcm
359
+ from pingram.models.sender_post_body_options_fcm_android import SenderPostBodyOptionsFcmAndroid as SenderPostBodyOptionsFcmAndroid
360
+ from pingram.models.sender_post_body_slack import SenderPostBodySlack as SenderPostBodySlack
361
+ from pingram.models.sender_post_body_slack_metadata import SenderPostBodySlackMetadata as SenderPostBodySlackMetadata
362
+ from pingram.models.sender_post_body_slack_metadata_entities_inner import SenderPostBodySlackMetadataEntitiesInner as SenderPostBodySlackMetadataEntitiesInner
363
+ from pingram.models.sender_post_body_slack_metadata_entities_inner_external_ref import SenderPostBodySlackMetadataEntitiesInnerExternalRef as SenderPostBodySlackMetadataEntitiesInnerExternalRef
364
+ from pingram.models.sender_post_body_sms import SenderPostBodySms as SenderPostBodySms
365
+ from pingram.models.sender_post_body_sms_auto_reply import SenderPostBodySmsAutoReply as SenderPostBodySmsAutoReply
366
+ from pingram.models.sender_post_body_to import SenderPostBodyTo as SenderPostBodyTo
367
+ from pingram.models.sender_post_body_user import SenderPostBodyUser as SenderPostBodyUser
368
+ from pingram.models.sender_post_body_web_push import SenderPostBodyWebPush as SenderPostBodyWebPush
369
+ from pingram.models.sender_post_response import SenderPostResponse as SenderPostResponse
370
+ from pingram.models.set_default_template_request import SetDefaultTemplateRequest as SetDefaultTemplateRequest
371
+ from pingram.models.slack_interactivity_response import SlackInteractivityResponse as SlackInteractivityResponse
372
+ from pingram.models.slack_oauth_request import SlackOauthRequest as SlackOauthRequest
373
+ from pingram.models.success_response import SuccessResponse as SuccessResponse
374
+ from pingram.models.supabase_configure_request import SupabaseConfigureRequest as SupabaseConfigureRequest
375
+ from pingram.models.supabase_configure_response import SupabaseConfigureResponse as SupabaseConfigureResponse
376
+ from pingram.models.supabase_o_auth_request import SupabaseOAuthRequest as SupabaseOAuthRequest
377
+ from pingram.models.supabase_o_auth_response import SupabaseOAuthResponse as SupabaseOAuthResponse
378
+ from pingram.models.supabase_projects_response import SupabaseProjectsResponse as SupabaseProjectsResponse
379
+ from pingram.models.supabase_projects_response_projects_inner import SupabaseProjectsResponseProjectsInner as SupabaseProjectsResponseProjectsInner
380
+ from pingram.models.supabase_status_response import SupabaseStatusResponse as SupabaseStatusResponse
381
+ from pingram.models.template import Template as Template
382
+ from pingram.models.template_patch_request import TemplatePatchRequest as TemplatePatchRequest
383
+ from pingram.models.template_patch_request_any_of import TemplatePatchRequestAnyOf as TemplatePatchRequestAnyOf
384
+ from pingram.models.template_patch_request_any_of1 import TemplatePatchRequestAnyOf1 as TemplatePatchRequestAnyOf1
385
+ from pingram.models.template_patch_request_any_of1_batch import TemplatePatchRequestAnyOf1Batch as TemplatePatchRequestAnyOf1Batch
386
+ from pingram.models.template_patch_request_any_of1_instant import TemplatePatchRequestAnyOf1Instant as TemplatePatchRequestAnyOf1Instant
387
+ from pingram.models.template_post_request import TemplatePostRequest as TemplatePostRequest
388
+ from pingram.models.template_post_request_batch import TemplatePostRequestBatch as TemplatePostRequestBatch
389
+ from pingram.models.template_post_request_instant import TemplatePostRequestInstant as TemplatePostRequestInstant
390
+ from pingram.models.update_address_request import UpdateAddressRequest as UpdateAddressRequest
391
+ from pingram.models.user import User as User
392
+ from pingram.models.user_suppression_delete_response import UserSuppressionDeleteResponse as UserSuppressionDeleteResponse
393
+ from pingram.models.webhook_response import WebhookResponse as WebhookResponse
394
+ from pingram.client_wrapper import Pingram, PingramConfig, PingramRegion
395
+ __all__.extend(["Pingram", "PingramConfig", "PingramRegion"])
@@ -0,0 +1,21 @@
1
+ # flake8: noqa
2
+
3
+ # import apis into api package
4
+ from pingram.api.account_api import AccountApi
5
+ from pingram.api.addresses_api import AddressesApi
6
+ from pingram.api.components_api import ComponentsApi
7
+ from pingram.api.domains_api import DomainsApi
8
+ from pingram.api.editor_api import EditorApi
9
+ from pingram.api.environments_api import EnvironmentsApi
10
+ from pingram.api.health_api import HealthApi
11
+ from pingram.api.insights_api import InsightsApi
12
+ from pingram.api.keys_api import KeysApi
13
+ from pingram.api.logs_api import LogsApi
14
+ from pingram.api.members_api import MembersApi
15
+ from pingram.api.sender_api import SenderApi
16
+ from pingram.api.templates_api import TemplatesApi
17
+ from pingram.api.types_api import TypesApi
18
+ from pingram.api.user_api import UserApi
19
+ from pingram.api.users_api import UsersApi
20
+ from pingram.api.default_api import DefaultApi
21
+