rumoro 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 (612) hide show
  1. rumoro-0.1.0/.gitignore +5 -0
  2. rumoro-0.1.0/LICENSE +21 -0
  3. rumoro-0.1.0/PKG-INFO +219 -0
  4. rumoro-0.1.0/README.md +196 -0
  5. rumoro-0.1.0/pyproject.toml +44 -0
  6. rumoro-0.1.0/rumoro/__init__.py +13 -0
  7. rumoro-0.1.0/rumoro/_facade.py +2274 -0
  8. rumoro-0.1.0/rumoro/api/__init__.py +1 -0
  9. rumoro-0.1.0/rumoro/api/alerts/__init__.py +1 -0
  10. rumoro-0.1.0/rumoro/api/alerts/create_alert.py +199 -0
  11. rumoro-0.1.0/rumoro/api/alerts/create_channel.py +245 -0
  12. rumoro-0.1.0/rumoro/api/alerts/delete_alert.py +164 -0
  13. rumoro-0.1.0/rumoro/api/alerts/delete_channel.py +164 -0
  14. rumoro-0.1.0/rumoro/api/alerts/get_alert.py +166 -0
  15. rumoro-0.1.0/rumoro/api/alerts/get_channel.py +230 -0
  16. rumoro-0.1.0/rumoro/api/alerts/list_alerts.py +134 -0
  17. rumoro-0.1.0/rumoro/api/alerts/list_channel_deliveries.py +189 -0
  18. rumoro-0.1.0/rumoro/api/alerts/list_channels.py +134 -0
  19. rumoro-0.1.0/rumoro/api/alerts/mute_alert_authors.py +212 -0
  20. rumoro-0.1.0/rumoro/api/alerts/rotate_webhook_secret.py +230 -0
  21. rumoro-0.1.0/rumoro/api/alerts/run_alert_digest.py +171 -0
  22. rumoro-0.1.0/rumoro/api/alerts/test_alert.py +166 -0
  23. rumoro-0.1.0/rumoro/api/alerts/test_channel.py +166 -0
  24. rumoro-0.1.0/rumoro/api/alerts/unmute_alert_authors.py +203 -0
  25. rumoro-0.1.0/rumoro/api/alerts/update_alert.py +192 -0
  26. rumoro-0.1.0/rumoro/api/alerts/update_channel.py +256 -0
  27. rumoro-0.1.0/rumoro/api/analytics/__init__.py +1 -0
  28. rumoro-0.1.0/rumoro/api/analytics/get_analytics_breakdown.py +357 -0
  29. rumoro-0.1.0/rumoro/api/analytics/get_analytics_series.py +380 -0
  30. rumoro-0.1.0/rumoro/api/analytics/get_analytics_summary.py +328 -0
  31. rumoro-0.1.0/rumoro/api/analytics/get_reviews_report.py +354 -0
  32. rumoro-0.1.0/rumoro/api/analytics/get_share_of_voice.py +326 -0
  33. rumoro-0.1.0/rumoro/api/api_keys/__init__.py +1 -0
  34. rumoro-0.1.0/rumoro/api/api_keys/create_api_key.py +187 -0
  35. rumoro-0.1.0/rumoro/api/api_keys/list_api_keys.py +134 -0
  36. rumoro-0.1.0/rumoro/api/api_keys/revoke_api_key.py +172 -0
  37. rumoro-0.1.0/rumoro/api/attention/__init__.py +1 -0
  38. rumoro-0.1.0/rumoro/api/attention/dismiss_attention.py +178 -0
  39. rumoro-0.1.0/rumoro/api/attention/list_attention.py +261 -0
  40. rumoro-0.1.0/rumoro/api/auth/__init__.py +1 -0
  41. rumoro-0.1.0/rumoro/api/auth/whoami.py +154 -0
  42. rumoro-0.1.0/rumoro/api/billing/__init__.py +1 -0
  43. rumoro-0.1.0/rumoro/api/billing/create_top_up.py +206 -0
  44. rumoro-0.1.0/rumoro/api/billing/get_invoice_url.py +179 -0
  45. rumoro-0.1.0/rumoro/api/billing/get_wallet.py +154 -0
  46. rumoro-0.1.0/rumoro/api/billing/list_invoices.py +146 -0
  47. rumoro-0.1.0/rumoro/api/billing/list_ledger.py +202 -0
  48. rumoro-0.1.0/rumoro/api/company/__init__.py +1 -0
  49. rumoro-0.1.0/rumoro/api/company/get_company.py +151 -0
  50. rumoro-0.1.0/rumoro/api/company/update_company.py +183 -0
  51. rumoro-0.1.0/rumoro/api/filters/__init__.py +1 -0
  52. rumoro-0.1.0/rumoro/api/filters/get_filters.py +154 -0
  53. rumoro-0.1.0/rumoro/api/filters/update_filters.py +191 -0
  54. rumoro-0.1.0/rumoro/api/groups/__init__.py +1 -0
  55. rumoro-0.1.0/rumoro/api/groups/create_group.py +195 -0
  56. rumoro-0.1.0/rumoro/api/groups/delete_group.py +189 -0
  57. rumoro-0.1.0/rumoro/api/groups/get_group.py +166 -0
  58. rumoro-0.1.0/rumoro/api/groups/list_groups.py +186 -0
  59. rumoro-0.1.0/rumoro/api/groups/update_group.py +217 -0
  60. rumoro-0.1.0/rumoro/api/keywords/__init__.py +1 -0
  61. rumoro-0.1.0/rumoro/api/keywords/create_keyword.py +208 -0
  62. rumoro-0.1.0/rumoro/api/keywords/delete_keyword.py +172 -0
  63. rumoro-0.1.0/rumoro/api/keywords/get_keyword.py +166 -0
  64. rumoro-0.1.0/rumoro/api/keywords/get_keyword_health.py +265 -0
  65. rumoro-0.1.0/rumoro/api/keywords/list_keywords.py +374 -0
  66. rumoro-0.1.0/rumoro/api/keywords/update_keyword.py +212 -0
  67. rumoro-0.1.0/rumoro/api/members/__init__.py +1 -0
  68. rumoro-0.1.0/rumoro/api/members/create_invitation.py +205 -0
  69. rumoro-0.1.0/rumoro/api/members/list_invitations.py +146 -0
  70. rumoro-0.1.0/rumoro/api/members/list_members.py +146 -0
  71. rumoro-0.1.0/rumoro/api/members/remove_member.py +194 -0
  72. rumoro-0.1.0/rumoro/api/members/revoke_invitation.py +181 -0
  73. rumoro-0.1.0/rumoro/api/mentions/__init__.py +1 -0
  74. rumoro-0.1.0/rumoro/api/mentions/export_mentions_csv.py +1343 -0
  75. rumoro-0.1.0/rumoro/api/mentions/export_mentions_json.py +1339 -0
  76. rumoro-0.1.0/rumoro/api/mentions/get_mention.py +182 -0
  77. rumoro-0.1.0/rumoro/api/mentions/search_mentions.py +1388 -0
  78. rumoro-0.1.0/rumoro/api/mentions/update_mention.py +221 -0
  79. rumoro-0.1.0/rumoro/api/people/__init__.py +1 -0
  80. rumoro-0.1.0/rumoro/api/people/delete_person_activity.py +186 -0
  81. rumoro-0.1.0/rumoro/api/people/export_people_csv.py +757 -0
  82. rumoro-0.1.0/rumoro/api/people/get_person.py +174 -0
  83. rumoro-0.1.0/rumoro/api/people/list_people.py +793 -0
  84. rumoro-0.1.0/rumoro/api/people/list_person_activities.py +184 -0
  85. rumoro-0.1.0/rumoro/api/people/log_person_activity.py +212 -0
  86. rumoro-0.1.0/rumoro/api/people/merge_people.py +203 -0
  87. rumoro-0.1.0/rumoro/api/people/split_person.py +174 -0
  88. rumoro-0.1.0/rumoro/api/people/update_person.py +208 -0
  89. rumoro-0.1.0/rumoro/api/segments/__init__.py +1 -0
  90. rumoro-0.1.0/rumoro/api/segments/create_segment.py +176 -0
  91. rumoro-0.1.0/rumoro/api/segments/delete_segment.py +172 -0
  92. rumoro-0.1.0/rumoro/api/segments/get_segment.py +166 -0
  93. rumoro-0.1.0/rumoro/api/segments/list_segments.py +150 -0
  94. rumoro-0.1.0/rumoro/api/segments/update_segment.py +192 -0
  95. rumoro-0.1.0/rumoro/api/system/__init__.py +1 -0
  96. rumoro-0.1.0/rumoro/api/system/get_health.py +124 -0
  97. rumoro-0.1.0/rumoro/api/usage/__init__.py +1 -0
  98. rumoro-0.1.0/rumoro/api/usage/get_usage.py +158 -0
  99. rumoro-0.1.0/rumoro/api/usage/get_usage_breakdown.py +319 -0
  100. rumoro-0.1.0/rumoro/api/views/__init__.py +1 -0
  101. rumoro-0.1.0/rumoro/api/views/create_view.py +196 -0
  102. rumoro-0.1.0/rumoro/api/views/delete_view.py +172 -0
  103. rumoro-0.1.0/rumoro/api/views/get_view.py +166 -0
  104. rumoro-0.1.0/rumoro/api/views/list_views.py +146 -0
  105. rumoro-0.1.0/rumoro/api/views/update_view.py +200 -0
  106. rumoro-0.1.0/rumoro/client.py +280 -0
  107. rumoro-0.1.0/rumoro/errors.py +16 -0
  108. rumoro-0.1.0/rumoro/models/__init__.py +1225 -0
  109. rumoro-0.1.0/rumoro/models/alert.py +177 -0
  110. rumoro-0.1.0/rumoro/models/alert_channels_item.py +79 -0
  111. rumoro-0.1.0/rumoro/models/alert_channels_item_kind.py +11 -0
  112. rumoro-0.1.0/rumoro/models/alert_filter.py +329 -0
  113. rumoro-0.1.0/rumoro/models/alert_filter_platforms_item.py +23 -0
  114. rumoro-0.1.0/rumoro/models/alert_filter_sentiments_item.py +10 -0
  115. rumoro-0.1.0/rumoro/models/alert_mode.py +11 -0
  116. rumoro-0.1.0/rumoro/models/alert_schedule_type_0.py +100 -0
  117. rumoro-0.1.0/rumoro/models/alert_stats.py +90 -0
  118. rumoro-0.1.0/rumoro/models/analytics_breakdown.py +100 -0
  119. rumoro-0.1.0/rumoro/models/analytics_breakdown_by.py +15 -0
  120. rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item.py +258 -0
  121. rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_keyword_type_0.py +100 -0
  122. rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_keyword_type_0_group.py +91 -0
  123. rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_keyword_type_0_kind.py +10 -0
  124. rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_person_type_0.py +139 -0
  125. rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_person_type_0_platform.py +23 -0
  126. rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_previous_type_0.py +70 -0
  127. rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_sentiment.py +86 -0
  128. rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_slot_type_0.py +70 -0
  129. rumoro-0.1.0/rumoro/models/analytics_breakdown_window.py +86 -0
  130. rumoro-0.1.0/rumoro/models/analytics_series.py +136 -0
  131. rumoro-0.1.0/rumoro/models/analytics_series_data_item.py +132 -0
  132. rumoro-0.1.0/rumoro/models/analytics_series_data_item_keyword_type_0.py +100 -0
  133. rumoro-0.1.0/rumoro/models/analytics_series_data_item_keyword_type_0_group.py +91 -0
  134. rumoro-0.1.0/rumoro/models/analytics_series_data_item_keyword_type_0_kind.py +10 -0
  135. rumoro-0.1.0/rumoro/models/analytics_series_data_item_points_item.py +110 -0
  136. rumoro-0.1.0/rumoro/models/analytics_series_previous_type_0_item.py +138 -0
  137. rumoro-0.1.0/rumoro/models/analytics_series_previous_type_0_item_keyword_type_0.py +102 -0
  138. rumoro-0.1.0/rumoro/models/analytics_series_previous_type_0_item_keyword_type_0_group.py +91 -0
  139. rumoro-0.1.0/rumoro/models/analytics_series_previous_type_0_item_keyword_type_0_kind.py +10 -0
  140. rumoro-0.1.0/rumoro/models/analytics_series_previous_type_0_item_points_item.py +110 -0
  141. rumoro-0.1.0/rumoro/models/analytics_series_window.py +96 -0
  142. rumoro-0.1.0/rumoro/models/analytics_series_window_bucket.py +11 -0
  143. rumoro-0.1.0/rumoro/models/analytics_summary.py +187 -0
  144. rumoro-0.1.0/rumoro/models/analytics_summary_previous_type_0.py +148 -0
  145. rumoro-0.1.0/rumoro/models/analytics_summary_previous_type_0_reach.py +71 -0
  146. rumoro-0.1.0/rumoro/models/analytics_summary_previous_type_0_sentiment.py +86 -0
  147. rumoro-0.1.0/rumoro/models/analytics_summary_previous_type_0_triage.py +116 -0
  148. rumoro-0.1.0/rumoro/models/analytics_summary_reach.py +71 -0
  149. rumoro-0.1.0/rumoro/models/analytics_summary_sentiment.py +86 -0
  150. rumoro-0.1.0/rumoro/models/analytics_summary_triage.py +116 -0
  151. rumoro-0.1.0/rumoro/models/analytics_summary_window.py +86 -0
  152. rumoro-0.1.0/rumoro/models/attention_item.py +223 -0
  153. rumoro-0.1.0/rumoro/models/attention_item_kind.py +11 -0
  154. rumoro-0.1.0/rumoro/models/attention_item_status.py +10 -0
  155. rumoro-0.1.0/rumoro/models/attention_item_subject.py +72 -0
  156. rumoro-0.1.0/rumoro/models/attention_item_subject_type.py +9 -0
  157. rumoro-0.1.0/rumoro/models/channel_failing_event_data.py +118 -0
  158. rumoro-0.1.0/rumoro/models/channel_failing_event_data_channel.py +82 -0
  159. rumoro-0.1.0/rumoro/models/channel_failing_event_data_channel_kind.py +11 -0
  160. rumoro-0.1.0/rumoro/models/company.py +137 -0
  161. rumoro-0.1.0/rumoro/models/company_accounts.py +83 -0
  162. rumoro-0.1.0/rumoro/models/create_alert_body.py +166 -0
  163. rumoro-0.1.0/rumoro/models/create_alert_body_filter.py +335 -0
  164. rumoro-0.1.0/rumoro/models/create_alert_body_filter_platforms_item.py +23 -0
  165. rumoro-0.1.0/rumoro/models/create_alert_body_filter_sentiments_item.py +10 -0
  166. rumoro-0.1.0/rumoro/models/create_alert_body_mode.py +11 -0
  167. rumoro-0.1.0/rumoro/models/create_alert_body_schedule.py +101 -0
  168. rumoro-0.1.0/rumoro/models/create_api_key_body.py +96 -0
  169. rumoro-0.1.0/rumoro/models/create_api_key_body_scope.py +9 -0
  170. rumoro-0.1.0/rumoro/models/create_api_key_response_201.py +132 -0
  171. rumoro-0.1.0/rumoro/models/create_api_key_response_201_scope.py +9 -0
  172. rumoro-0.1.0/rumoro/models/create_email_channel.py +95 -0
  173. rumoro-0.1.0/rumoro/models/create_email_channel_events_item.py +11 -0
  174. rumoro-0.1.0/rumoro/models/create_email_channel_kind.py +8 -0
  175. rumoro-0.1.0/rumoro/models/create_group_body.py +108 -0
  176. rumoro-0.1.0/rumoro/models/create_invitation_body.py +81 -0
  177. rumoro-0.1.0/rumoro/models/create_invitation_body_role.py +9 -0
  178. rumoro-0.1.0/rumoro/models/create_keyword_body.py +256 -0
  179. rumoro-0.1.0/rumoro/models/create_keyword_body_cap_type_0.py +63 -0
  180. rumoro-0.1.0/rumoro/models/create_keyword_body_kind.py +10 -0
  181. rumoro-0.1.0/rumoro/models/create_keyword_body_matching.py +119 -0
  182. rumoro-0.1.0/rumoro/models/create_keyword_body_matching_required_mode.py +9 -0
  183. rumoro-0.1.0/rumoro/models/create_keyword_body_platforms_type_0_item.py +19 -0
  184. rumoro-0.1.0/rumoro/models/create_keyword_body_review_sources_item.py +118 -0
  185. rumoro-0.1.0/rumoro/models/create_keyword_body_review_sources_item_platform.py +11 -0
  186. rumoro-0.1.0/rumoro/models/create_segment_body.py +96 -0
  187. rumoro-0.1.0/rumoro/models/create_segment_body_filter.py +320 -0
  188. rumoro-0.1.0/rumoro/models/create_segment_body_filter_keyword_kinds_item.py +10 -0
  189. rumoro-0.1.0/rumoro/models/create_segment_body_filter_never_keyword_kinds_item.py +10 -0
  190. rumoro-0.1.0/rumoro/models/create_segment_body_filter_not_platforms_item.py +23 -0
  191. rumoro-0.1.0/rumoro/models/create_segment_body_filter_platforms_item.py +23 -0
  192. rumoro-0.1.0/rumoro/models/create_segment_body_filter_stages_item.py +13 -0
  193. rumoro-0.1.0/rumoro/models/create_slack_channel.py +103 -0
  194. rumoro-0.1.0/rumoro/models/create_slack_channel_events_item.py +11 -0
  195. rumoro-0.1.0/rumoro/models/create_slack_channel_kind.py +8 -0
  196. rumoro-0.1.0/rumoro/models/create_top_up_body.py +73 -0
  197. rumoro-0.1.0/rumoro/models/create_top_up_response_200.py +61 -0
  198. rumoro-0.1.0/rumoro/models/create_view_body.py +96 -0
  199. rumoro-0.1.0/rumoro/models/create_view_body_filter.py +527 -0
  200. rumoro-0.1.0/rumoro/models/create_view_body_filter_keyword_kinds_item.py +10 -0
  201. rumoro-0.1.0/rumoro/models/create_view_body_filter_not_platforms_item.py +23 -0
  202. rumoro-0.1.0/rumoro/models/create_view_body_filter_not_sentiments_item.py +10 -0
  203. rumoro-0.1.0/rumoro/models/create_view_body_filter_platforms_item.py +23 -0
  204. rumoro-0.1.0/rumoro/models/create_view_body_filter_sentiments_item.py +10 -0
  205. rumoro-0.1.0/rumoro/models/create_view_body_filter_status.py +10 -0
  206. rumoro-0.1.0/rumoro/models/create_webhook_channel.py +128 -0
  207. rumoro-0.1.0/rumoro/models/create_webhook_channel_events_item.py +17 -0
  208. rumoro-0.1.0/rumoro/models/create_webhook_channel_headers.py +47 -0
  209. rumoro-0.1.0/rumoro/models/create_webhook_channel_kind.py +8 -0
  210. rumoro-0.1.0/rumoro/models/email_channel.py +111 -0
  211. rumoro-0.1.0/rumoro/models/email_channel_config.py +100 -0
  212. rumoro-0.1.0/rumoro/models/email_channel_config_events_item.py +11 -0
  213. rumoro-0.1.0/rumoro/models/email_channel_config_recipients_item.py +76 -0
  214. rumoro-0.1.0/rumoro/models/email_channel_kind.py +8 -0
  215. rumoro-0.1.0/rumoro/models/email_channel_stats.py +100 -0
  216. rumoro-0.1.0/rumoro/models/email_channel_stats_last_7d.py +70 -0
  217. rumoro-0.1.0/rumoro/models/error_response.py +67 -0
  218. rumoro-0.1.0/rumoro/models/error_response_error.py +93 -0
  219. rumoro-0.1.0/rumoro/models/error_response_error_code.py +46 -0
  220. rumoro-0.1.0/rumoro/models/export_mentions_csv_keyword_kinds_item.py +10 -0
  221. rumoro-0.1.0/rumoro/models/export_mentions_csv_not_platforms_item.py +23 -0
  222. rumoro-0.1.0/rumoro/models/export_mentions_csv_not_sentiments_item.py +10 -0
  223. rumoro-0.1.0/rumoro/models/export_mentions_csv_platform.py +23 -0
  224. rumoro-0.1.0/rumoro/models/export_mentions_csv_platforms_item.py +23 -0
  225. rumoro-0.1.0/rumoro/models/export_mentions_csv_sentiment.py +10 -0
  226. rumoro-0.1.0/rumoro/models/export_mentions_csv_sentiments_item.py +10 -0
  227. rumoro-0.1.0/rumoro/models/export_mentions_csv_status.py +10 -0
  228. rumoro-0.1.0/rumoro/models/export_mentions_json_keyword_kinds_item.py +10 -0
  229. rumoro-0.1.0/rumoro/models/export_mentions_json_not_platforms_item.py +23 -0
  230. rumoro-0.1.0/rumoro/models/export_mentions_json_not_sentiments_item.py +10 -0
  231. rumoro-0.1.0/rumoro/models/export_mentions_json_platform.py +23 -0
  232. rumoro-0.1.0/rumoro/models/export_mentions_json_platforms_item.py +23 -0
  233. rumoro-0.1.0/rumoro/models/export_mentions_json_response_200.py +84 -0
  234. rumoro-0.1.0/rumoro/models/export_mentions_json_sentiment.py +10 -0
  235. rumoro-0.1.0/rumoro/models/export_mentions_json_sentiments_item.py +10 -0
  236. rumoro-0.1.0/rumoro/models/export_mentions_json_status.py +10 -0
  237. rumoro-0.1.0/rumoro/models/export_people_csv_keyword_kinds_item.py +10 -0
  238. rumoro-0.1.0/rumoro/models/export_people_csv_never_keyword_kinds_item.py +10 -0
  239. rumoro-0.1.0/rumoro/models/export_people_csv_not_platforms_item.py +23 -0
  240. rumoro-0.1.0/rumoro/models/export_people_csv_platform.py +23 -0
  241. rumoro-0.1.0/rumoro/models/export_people_csv_platforms_item.py +23 -0
  242. rumoro-0.1.0/rumoro/models/export_people_csv_sort.py +11 -0
  243. rumoro-0.1.0/rumoro/models/export_people_csv_stages_item.py +13 -0
  244. rumoro-0.1.0/rumoro/models/filter_group.py +466 -0
  245. rumoro-0.1.0/rumoro/models/filter_group_keyword_kinds_item.py +10 -0
  246. rumoro-0.1.0/rumoro/models/filter_group_not_platforms_item.py +23 -0
  247. rumoro-0.1.0/rumoro/models/filter_group_not_sentiments_item.py +10 -0
  248. rumoro-0.1.0/rumoro/models/filter_group_platforms_item.py +23 -0
  249. rumoro-0.1.0/rumoro/models/filter_group_sentiments_item.py +10 -0
  250. rumoro-0.1.0/rumoro/models/filter_group_status.py +10 -0
  251. rumoro-0.1.0/rumoro/models/get_analytics_breakdown_by.py +15 -0
  252. rumoro-0.1.0/rumoro/models/get_analytics_breakdown_platforms_item.py +23 -0
  253. rumoro-0.1.0/rumoro/models/get_analytics_breakdown_range.py +11 -0
  254. rumoro-0.1.0/rumoro/models/get_analytics_series_bucket.py +11 -0
  255. rumoro-0.1.0/rumoro/models/get_analytics_series_by.py +10 -0
  256. rumoro-0.1.0/rumoro/models/get_analytics_series_platforms_item.py +23 -0
  257. rumoro-0.1.0/rumoro/models/get_analytics_series_range.py +11 -0
  258. rumoro-0.1.0/rumoro/models/get_analytics_summary_platforms_item.py +23 -0
  259. rumoro-0.1.0/rumoro/models/get_analytics_summary_range.py +11 -0
  260. rumoro-0.1.0/rumoro/models/get_health_response_200.py +61 -0
  261. rumoro-0.1.0/rumoro/models/get_invoice_url_response_200.py +61 -0
  262. rumoro-0.1.0/rumoro/models/get_keyword_health_range.py +10 -0
  263. rumoro-0.1.0/rumoro/models/get_reviews_report_bucket.py +9 -0
  264. rumoro-0.1.0/rumoro/models/get_reviews_report_platforms_item.py +23 -0
  265. rumoro-0.1.0/rumoro/models/get_reviews_report_range.py +11 -0
  266. rumoro-0.1.0/rumoro/models/get_share_of_voice_platforms_item.py +23 -0
  267. rumoro-0.1.0/rumoro/models/get_share_of_voice_range.py +11 -0
  268. rumoro-0.1.0/rumoro/models/get_usage_breakdown_by.py +11 -0
  269. rumoro-0.1.0/rumoro/models/get_usage_breakdown_range.py +10 -0
  270. rumoro-0.1.0/rumoro/models/group.py +136 -0
  271. rumoro-0.1.0/rumoro/models/group_ref.py +92 -0
  272. rumoro-0.1.0/rumoro/models/group_stats.py +70 -0
  273. rumoro-0.1.0/rumoro/models/invitation.py +132 -0
  274. rumoro-0.1.0/rumoro/models/invitation_invited_by_type_0.py +84 -0
  275. rumoro-0.1.0/rumoro/models/invitation_role.py +10 -0
  276. rumoro-0.1.0/rumoro/models/invoice_list.py +75 -0
  277. rumoro-0.1.0/rumoro/models/invoice_list_data_item.py +116 -0
  278. rumoro-0.1.0/rumoro/models/keyword.py +279 -0
  279. rumoro-0.1.0/rumoro/models/keyword_cap_type_0.py +87 -0
  280. rumoro-0.1.0/rumoro/models/keyword_health.py +208 -0
  281. rumoro-0.1.0/rumoro/models/keyword_health_ai.py +74 -0
  282. rumoro-0.1.0/rumoro/models/keyword_health_ai_status.py +12 -0
  283. rumoro-0.1.0/rumoro/models/keyword_health_keyword.py +84 -0
  284. rumoro-0.1.0/rumoro/models/keyword_health_noise_authors_item.py +77 -0
  285. rumoro-0.1.0/rumoro/models/keyword_health_noise_terms_item.py +92 -0
  286. rumoro-0.1.0/rumoro/models/keyword_health_sample.py +72 -0
  287. rumoro-0.1.0/rumoro/models/keyword_health_stats.py +192 -0
  288. rumoro-0.1.0/rumoro/models/keyword_health_stats_by_platform_item.py +105 -0
  289. rumoro-0.1.0/rumoro/models/keyword_health_stats_by_platform_item_platform.py +23 -0
  290. rumoro-0.1.0/rumoro/models/keyword_health_stats_cost.py +94 -0
  291. rumoro-0.1.0/rumoro/models/keyword_health_stats_weekly_item.py +77 -0
  292. rumoro-0.1.0/rumoro/models/keyword_health_status.py +13 -0
  293. rumoro-0.1.0/rumoro/models/keyword_health_window.py +78 -0
  294. rumoro-0.1.0/rumoro/models/keyword_kind.py +10 -0
  295. rumoro-0.1.0/rumoro/models/keyword_matching.py +99 -0
  296. rumoro-0.1.0/rumoro/models/keyword_matching_required_mode.py +9 -0
  297. rumoro-0.1.0/rumoro/models/keyword_noisy_event_data.py +119 -0
  298. rumoro-0.1.0/rumoro/models/keyword_noisy_event_data_keyword.py +98 -0
  299. rumoro-0.1.0/rumoro/models/keyword_noisy_event_data_keyword_kind.py +10 -0
  300. rumoro-0.1.0/rumoro/models/keyword_platforms_type_0_item.py +19 -0
  301. rumoro-0.1.0/rumoro/models/keyword_polling_item.py +87 -0
  302. rumoro-0.1.0/rumoro/models/keyword_polling_item_platform.py +23 -0
  303. rumoro-0.1.0/rumoro/models/keyword_stats.py +156 -0
  304. rumoro-0.1.0/rumoro/models/keyword_stats_cost.py +98 -0
  305. rumoro-0.1.0/rumoro/models/keyword_stats_feedback.py +70 -0
  306. rumoro-0.1.0/rumoro/models/keyword_stats_health.py +13 -0
  307. rumoro-0.1.0/rumoro/models/keyword_stats_noise.py +80 -0
  308. rumoro-0.1.0/rumoro/models/keyword_suggestion.py +142 -0
  309. rumoro-0.1.0/rumoro/models/keyword_suggestion_effect_type_0.py +108 -0
  310. rumoro-0.1.0/rumoro/models/keyword_suggestion_effect_type_0_sample.py +86 -0
  311. rumoro-0.1.0/rumoro/models/keyword_suggestion_patch.py +259 -0
  312. rumoro-0.1.0/rumoro/models/keyword_suggestion_patch_cap_type_0.py +64 -0
  313. rumoro-0.1.0/rumoro/models/keyword_suggestion_patch_kind.py +10 -0
  314. rumoro-0.1.0/rumoro/models/keyword_suggestion_patch_matching.py +119 -0
  315. rumoro-0.1.0/rumoro/models/keyword_suggestion_patch_matching_required_mode.py +9 -0
  316. rumoro-0.1.0/rumoro/models/keyword_suggestion_patch_platforms_type_0_item.py +19 -0
  317. rumoro-0.1.0/rumoro/models/keyword_suggestion_patch_review_sources_item.py +118 -0
  318. rumoro-0.1.0/rumoro/models/keyword_suggestion_patch_review_sources_item_platform.py +11 -0
  319. rumoro-0.1.0/rumoro/models/keyword_suggestion_source.py +9 -0
  320. rumoro-0.1.0/rumoro/models/keyword_suggestion_type.py +12 -0
  321. rumoro-0.1.0/rumoro/models/ledger_list.py +89 -0
  322. rumoro-0.1.0/rumoro/models/ledger_list_data_item.py +143 -0
  323. rumoro-0.1.0/rumoro/models/ledger_list_data_item_kind.py +13 -0
  324. rumoro-0.1.0/rumoro/models/list_alerts_response_200.py +79 -0
  325. rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item.py +204 -0
  326. rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_channels_item.py +81 -0
  327. rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_channels_item_kind.py +11 -0
  328. rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_filter.py +341 -0
  329. rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_filter_platforms_item.py +23 -0
  330. rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_filter_sentiments_item.py +10 -0
  331. rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_mode.py +11 -0
  332. rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_schedule_type_0.py +100 -0
  333. rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_stats.py +90 -0
  334. rumoro-0.1.0/rumoro/models/list_api_keys_response_200.py +79 -0
  335. rumoro-0.1.0/rumoro/models/list_api_keys_response_200_data_item.py +126 -0
  336. rumoro-0.1.0/rumoro/models/list_api_keys_response_200_data_item_scope.py +9 -0
  337. rumoro-0.1.0/rumoro/models/list_attention_response_200.py +89 -0
  338. rumoro-0.1.0/rumoro/models/list_attention_status.py +11 -0
  339. rumoro-0.1.0/rumoro/models/list_channel_deliveries_response_200.py +81 -0
  340. rumoro-0.1.0/rumoro/models/list_channel_deliveries_response_200_data_item.py +201 -0
  341. rumoro-0.1.0/rumoro/models/list_channel_deliveries_response_200_data_item_alert.py +70 -0
  342. rumoro-0.1.0/rumoro/models/list_channel_deliveries_response_200_data_item_kind.py +10 -0
  343. rumoro-0.1.0/rumoro/models/list_channel_deliveries_response_200_data_item_mention_type_0.py +78 -0
  344. rumoro-0.1.0/rumoro/models/list_channel_deliveries_response_200_data_item_status.py +10 -0
  345. rumoro-0.1.0/rumoro/models/list_channels_response_200.py +128 -0
  346. rumoro-0.1.0/rumoro/models/list_groups_response_200.py +79 -0
  347. rumoro-0.1.0/rumoro/models/list_groups_response_200_data_item.py +140 -0
  348. rumoro-0.1.0/rumoro/models/list_groups_response_200_data_item_stats.py +70 -0
  349. rumoro-0.1.0/rumoro/models/list_invitations_response_200.py +75 -0
  350. rumoro-0.1.0/rumoro/models/list_keywords_kind_item.py +10 -0
  351. rumoro-0.1.0/rumoro/models/list_keywords_platform_item.py +23 -0
  352. rumoro-0.1.0/rumoro/models/list_keywords_response_200.py +87 -0
  353. rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item.py +310 -0
  354. rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_cap_type_0.py +87 -0
  355. rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_kind.py +10 -0
  356. rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_matching.py +104 -0
  357. rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_matching_required_mode.py +9 -0
  358. rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_platforms_type_0_item.py +19 -0
  359. rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_polling_item.py +89 -0
  360. rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_polling_item_platform.py +23 -0
  361. rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_stats.py +172 -0
  362. rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_stats_cost.py +98 -0
  363. rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_stats_feedback.py +70 -0
  364. rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_stats_health.py +13 -0
  365. rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_stats_noise.py +80 -0
  366. rumoro-0.1.0/rumoro/models/list_keywords_sort.py +14 -0
  367. rumoro-0.1.0/rumoro/models/list_keywords_status_item.py +12 -0
  368. rumoro-0.1.0/rumoro/models/list_members_response_200.py +75 -0
  369. rumoro-0.1.0/rumoro/models/list_people_keyword_kinds_item.py +10 -0
  370. rumoro-0.1.0/rumoro/models/list_people_never_keyword_kinds_item.py +10 -0
  371. rumoro-0.1.0/rumoro/models/list_people_not_platforms_item.py +23 -0
  372. rumoro-0.1.0/rumoro/models/list_people_platform.py +23 -0
  373. rumoro-0.1.0/rumoro/models/list_people_platforms_item.py +23 -0
  374. rumoro-0.1.0/rumoro/models/list_people_response_200.py +87 -0
  375. rumoro-0.1.0/rumoro/models/list_people_response_200_data_item.py +258 -0
  376. rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_accounts_item.py +117 -0
  377. rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_accounts_item_platform.py +23 -0
  378. rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_annotations.py +78 -0
  379. rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_outreach.py +127 -0
  380. rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_outreach_owner_type_0.py +90 -0
  381. rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_outreach_stage.py +13 -0
  382. rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_platform.py +23 -0
  383. rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_profile_type_0.py +162 -0
  384. rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_profile_type_0_links_item.py +69 -0
  385. rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_reach.py +97 -0
  386. rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_stats.py +106 -0
  387. rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_stats_sentiment.py +77 -0
  388. rumoro-0.1.0/rumoro/models/list_people_sort.py +11 -0
  389. rumoro-0.1.0/rumoro/models/list_people_stages_item.py +13 -0
  390. rumoro-0.1.0/rumoro/models/list_person_activities_response_200.py +81 -0
  391. rumoro-0.1.0/rumoro/models/list_person_activities_response_200_data_item.py +150 -0
  392. rumoro-0.1.0/rumoro/models/list_person_activities_response_200_data_item_channel.py +16 -0
  393. rumoro-0.1.0/rumoro/models/list_person_activities_response_200_data_item_member_type_0.py +90 -0
  394. rumoro-0.1.0/rumoro/models/list_segments_response_200.py +103 -0
  395. rumoro-0.1.0/rumoro/models/list_segments_response_200_data_item.py +119 -0
  396. rumoro-0.1.0/rumoro/models/list_segments_response_200_data_item_filter.py +338 -0
  397. rumoro-0.1.0/rumoro/models/list_segments_response_200_data_item_filter_keyword_kinds_item.py +10 -0
  398. rumoro-0.1.0/rumoro/models/list_segments_response_200_data_item_filter_never_keyword_kinds_item.py +10 -0
  399. rumoro-0.1.0/rumoro/models/list_segments_response_200_data_item_filter_not_platforms_item.py +23 -0
  400. rumoro-0.1.0/rumoro/models/list_segments_response_200_data_item_filter_platforms_item.py +23 -0
  401. rumoro-0.1.0/rumoro/models/list_segments_response_200_data_item_filter_stages_item.py +13 -0
  402. rumoro-0.1.0/rumoro/models/list_segments_response_200_presets_item.py +95 -0
  403. rumoro-0.1.0/rumoro/models/list_segments_response_200_presets_item_filter.py +341 -0
  404. rumoro-0.1.0/rumoro/models/list_segments_response_200_presets_item_filter_keyword_kinds_item.py +10 -0
  405. rumoro-0.1.0/rumoro/models/list_segments_response_200_presets_item_filter_never_keyword_kinds_item.py +10 -0
  406. rumoro-0.1.0/rumoro/models/list_segments_response_200_presets_item_filter_not_platforms_item.py +23 -0
  407. rumoro-0.1.0/rumoro/models/list_segments_response_200_presets_item_filter_platforms_item.py +23 -0
  408. rumoro-0.1.0/rumoro/models/list_segments_response_200_presets_item_filter_stages_item.py +13 -0
  409. rumoro-0.1.0/rumoro/models/list_views_response_200.py +77 -0
  410. rumoro-0.1.0/rumoro/models/list_views_response_200_data_item.py +111 -0
  411. rumoro-0.1.0/rumoro/models/list_views_response_200_data_item_filter.py +548 -0
  412. rumoro-0.1.0/rumoro/models/list_views_response_200_data_item_filter_keyword_kinds_item.py +10 -0
  413. rumoro-0.1.0/rumoro/models/list_views_response_200_data_item_filter_not_platforms_item.py +23 -0
  414. rumoro-0.1.0/rumoro/models/list_views_response_200_data_item_filter_not_sentiments_item.py +10 -0
  415. rumoro-0.1.0/rumoro/models/list_views_response_200_data_item_filter_platforms_item.py +23 -0
  416. rumoro-0.1.0/rumoro/models/list_views_response_200_data_item_filter_sentiments_item.py +10 -0
  417. rumoro-0.1.0/rumoro/models/list_views_response_200_data_item_filter_status.py +10 -0
  418. rumoro-0.1.0/rumoro/models/log_person_activity_body.py +101 -0
  419. rumoro-0.1.0/rumoro/models/log_person_activity_body_channel.py +16 -0
  420. rumoro-0.1.0/rumoro/models/member.py +109 -0
  421. rumoro-0.1.0/rumoro/models/member_role.py +10 -0
  422. rumoro-0.1.0/rumoro/models/mention.py +233 -0
  423. rumoro-0.1.0/rumoro/models/mention_author_type_0.py +148 -0
  424. rumoro-0.1.0/rumoro/models/mention_classification_type_0.py +208 -0
  425. rumoro-0.1.0/rumoro/models/mention_classification_type_0_feedback_type_0.py +111 -0
  426. rumoro-0.1.0/rumoro/models/mention_classification_type_0_feedback_type_0_original.py +84 -0
  427. rumoro-0.1.0/rumoro/models/mention_classification_type_0_feedback_type_0_original_sentiment.py +10 -0
  428. rumoro-0.1.0/rumoro/models/mention_classification_type_0_feedback_type_0_sentiment.py +10 -0
  429. rumoro-0.1.0/rumoro/models/mention_classification_type_0_sentiment.py +10 -0
  430. rumoro-0.1.0/rumoro/models/mention_keyword.py +84 -0
  431. rumoro-0.1.0/rumoro/models/mention_post.py +201 -0
  432. rumoro-0.1.0/rumoro/models/mention_post_engagement_type_0.py +141 -0
  433. rumoro-0.1.0/rumoro/models/mention_post_platform.py +23 -0
  434. rumoro-0.1.0/rumoro/models/mention_post_reply_to_type_0.py +97 -0
  435. rumoro-0.1.0/rumoro/models/mention_review_type_0.py +173 -0
  436. rumoro-0.1.0/rumoro/models/mention_review_type_0_app.py +81 -0
  437. rumoro-0.1.0/rumoro/models/mention_review_type_0_app_platform.py +11 -0
  438. rumoro-0.1.0/rumoro/models/mention_spike_event_data.py +127 -0
  439. rumoro-0.1.0/rumoro/models/mention_spike_event_data_baseline.py +78 -0
  440. rumoro-0.1.0/rumoro/models/mention_spike_event_data_keyword.py +98 -0
  441. rumoro-0.1.0/rumoro/models/mention_spike_event_data_keyword_kind.py +10 -0
  442. rumoro-0.1.0/rumoro/models/mention_spike_event_data_window.py +70 -0
  443. rumoro-0.1.0/rumoro/models/mention_status.py +10 -0
  444. rumoro-0.1.0/rumoro/models/mention_triage.py +120 -0
  445. rumoro-0.1.0/rumoro/models/mention_triage_assignee_type_0.py +90 -0
  446. rumoro-0.1.0/rumoro/models/merge_people_body.py +61 -0
  447. rumoro-0.1.0/rumoro/models/mute_alert_authors_body.py +64 -0
  448. rumoro-0.1.0/rumoro/models/negative_spike_event_data.py +136 -0
  449. rumoro-0.1.0/rumoro/models/negative_spike_event_data_baseline.py +78 -0
  450. rumoro-0.1.0/rumoro/models/negative_spike_event_data_keyword.py +98 -0
  451. rumoro-0.1.0/rumoro/models/negative_spike_event_data_keyword_kind.py +10 -0
  452. rumoro-0.1.0/rumoro/models/negative_spike_event_data_window.py +70 -0
  453. rumoro-0.1.0/rumoro/models/person.py +220 -0
  454. rumoro-0.1.0/rumoro/models/person_accounts_item.py +115 -0
  455. rumoro-0.1.0/rumoro/models/person_accounts_item_platform.py +23 -0
  456. rumoro-0.1.0/rumoro/models/person_activity.py +142 -0
  457. rumoro-0.1.0/rumoro/models/person_activity_channel.py +16 -0
  458. rumoro-0.1.0/rumoro/models/person_activity_member_type_0.py +90 -0
  459. rumoro-0.1.0/rumoro/models/person_annotations.py +78 -0
  460. rumoro-0.1.0/rumoro/models/person_outreach.py +119 -0
  461. rumoro-0.1.0/rumoro/models/person_outreach_owner_type_0.py +90 -0
  462. rumoro-0.1.0/rumoro/models/person_outreach_stage.py +13 -0
  463. rumoro-0.1.0/rumoro/models/person_platform.py +23 -0
  464. rumoro-0.1.0/rumoro/models/person_profile_type_0.py +157 -0
  465. rumoro-0.1.0/rumoro/models/person_profile_type_0_links_item.py +69 -0
  466. rumoro-0.1.0/rumoro/models/person_reach.py +97 -0
  467. rumoro-0.1.0/rumoro/models/person_stats.py +102 -0
  468. rumoro-0.1.0/rumoro/models/person_stats_sentiment.py +77 -0
  469. rumoro-0.1.0/rumoro/models/review_source.py +110 -0
  470. rumoro-0.1.0/rumoro/models/review_source_platform.py +11 -0
  471. rumoro-0.1.0/rumoro/models/reviews_report.py +150 -0
  472. rumoro-0.1.0/rumoro/models/reviews_report_pages_item.py +197 -0
  473. rumoro-0.1.0/rumoro/models/reviews_report_pages_item_distribution.py +94 -0
  474. rumoro-0.1.0/rumoro/models/reviews_report_pages_item_platform.py +11 -0
  475. rumoro-0.1.0/rumoro/models/reviews_report_pages_item_previous_type_0.py +76 -0
  476. rumoro-0.1.0/rumoro/models/reviews_report_pages_item_series_item.py +83 -0
  477. rumoro-0.1.0/rumoro/models/reviews_report_previous_type_0.py +112 -0
  478. rumoro-0.1.0/rumoro/models/reviews_report_previous_type_0_distribution.py +94 -0
  479. rumoro-0.1.0/rumoro/models/reviews_report_tags_item.py +69 -0
  480. rumoro-0.1.0/rumoro/models/reviews_report_totals.py +109 -0
  481. rumoro-0.1.0/rumoro/models/reviews_report_totals_distribution.py +94 -0
  482. rumoro-0.1.0/rumoro/models/reviews_report_window.py +96 -0
  483. rumoro-0.1.0/rumoro/models/reviews_report_window_bucket.py +9 -0
  484. rumoro-0.1.0/rumoro/models/run_alert_digest_response_200.py +111 -0
  485. rumoro-0.1.0/rumoro/models/run_alert_digest_response_200_outcomes_item.py +83 -0
  486. rumoro-0.1.0/rumoro/models/run_alert_digest_response_200_skipped.py +11 -0
  487. rumoro-0.1.0/rumoro/models/search_mentions_keyword_kinds_item.py +10 -0
  488. rumoro-0.1.0/rumoro/models/search_mentions_not_platforms_item.py +23 -0
  489. rumoro-0.1.0/rumoro/models/search_mentions_not_sentiments_item.py +10 -0
  490. rumoro-0.1.0/rumoro/models/search_mentions_platform.py +23 -0
  491. rumoro-0.1.0/rumoro/models/search_mentions_platforms_item.py +23 -0
  492. rumoro-0.1.0/rumoro/models/search_mentions_response_200.py +89 -0
  493. rumoro-0.1.0/rumoro/models/search_mentions_sentiment.py +10 -0
  494. rumoro-0.1.0/rumoro/models/search_mentions_sentiments_item.py +10 -0
  495. rumoro-0.1.0/rumoro/models/search_mentions_sort.py +9 -0
  496. rumoro-0.1.0/rumoro/models/search_mentions_status.py +10 -0
  497. rumoro-0.1.0/rumoro/models/segment.py +115 -0
  498. rumoro-0.1.0/rumoro/models/segment_filter.py +303 -0
  499. rumoro-0.1.0/rumoro/models/segment_filter_keyword_kinds_item.py +10 -0
  500. rumoro-0.1.0/rumoro/models/segment_filter_never_keyword_kinds_item.py +10 -0
  501. rumoro-0.1.0/rumoro/models/segment_filter_not_platforms_item.py +23 -0
  502. rumoro-0.1.0/rumoro/models/segment_filter_platforms_item.py +23 -0
  503. rumoro-0.1.0/rumoro/models/segment_filter_stages_item.py +13 -0
  504. rumoro-0.1.0/rumoro/models/share_of_voice.py +87 -0
  505. rumoro-0.1.0/rumoro/models/share_of_voice_data_item.py +152 -0
  506. rumoro-0.1.0/rumoro/models/share_of_voice_data_item_keyword.py +100 -0
  507. rumoro-0.1.0/rumoro/models/share_of_voice_data_item_keyword_group.py +91 -0
  508. rumoro-0.1.0/rumoro/models/share_of_voice_data_item_keyword_kind.py +10 -0
  509. rumoro-0.1.0/rumoro/models/share_of_voice_data_item_previous_type_0.py +62 -0
  510. rumoro-0.1.0/rumoro/models/share_of_voice_window.py +86 -0
  511. rumoro-0.1.0/rumoro/models/slack_channel.py +111 -0
  512. rumoro-0.1.0/rumoro/models/slack_channel_config.py +88 -0
  513. rumoro-0.1.0/rumoro/models/slack_channel_config_events_item.py +11 -0
  514. rumoro-0.1.0/rumoro/models/slack_channel_kind.py +8 -0
  515. rumoro-0.1.0/rumoro/models/slack_channel_stats.py +100 -0
  516. rumoro-0.1.0/rumoro/models/slack_channel_stats_last_7d.py +70 -0
  517. rumoro-0.1.0/rumoro/models/telegram_channel.py +115 -0
  518. rumoro-0.1.0/rumoro/models/telegram_channel_config.py +89 -0
  519. rumoro-0.1.0/rumoro/models/telegram_channel_config_chat_type.py +11 -0
  520. rumoro-0.1.0/rumoro/models/telegram_channel_config_events_item.py +11 -0
  521. rumoro-0.1.0/rumoro/models/telegram_channel_kind.py +8 -0
  522. rumoro-0.1.0/rumoro/models/telegram_channel_stats.py +100 -0
  523. rumoro-0.1.0/rumoro/models/telegram_channel_stats_last_7d.py +70 -0
  524. rumoro-0.1.0/rumoro/models/test_alert_response_200.py +81 -0
  525. rumoro-0.1.0/rumoro/models/test_alert_response_200_outcomes_item.py +83 -0
  526. rumoro-0.1.0/rumoro/models/test_channel_response_200.py +81 -0
  527. rumoro-0.1.0/rumoro/models/test_channel_response_200_outcomes_item.py +83 -0
  528. rumoro-0.1.0/rumoro/models/unmute_alert_authors_body.py +64 -0
  529. rumoro-0.1.0/rumoro/models/update_alert_body.py +184 -0
  530. rumoro-0.1.0/rumoro/models/update_alert_body_filter.py +336 -0
  531. rumoro-0.1.0/rumoro/models/update_alert_body_filter_platforms_item.py +23 -0
  532. rumoro-0.1.0/rumoro/models/update_alert_body_filter_sentiments_item.py +10 -0
  533. rumoro-0.1.0/rumoro/models/update_alert_body_mode.py +11 -0
  534. rumoro-0.1.0/rumoro/models/update_alert_body_schedule_type_0.py +100 -0
  535. rumoro-0.1.0/rumoro/models/update_channel_body.py +120 -0
  536. rumoro-0.1.0/rumoro/models/update_channel_body_events_item.py +17 -0
  537. rumoro-0.1.0/rumoro/models/update_channel_body_headers.py +47 -0
  538. rumoro-0.1.0/rumoro/models/update_company_body.py +166 -0
  539. rumoro-0.1.0/rumoro/models/update_company_body_accounts.py +93 -0
  540. rumoro-0.1.0/rumoro/models/update_filters_body.py +110 -0
  541. rumoro-0.1.0/rumoro/models/update_filters_body_subreddits.py +75 -0
  542. rumoro-0.1.0/rumoro/models/update_group_body.py +104 -0
  543. rumoro-0.1.0/rumoro/models/update_keyword_body.py +252 -0
  544. rumoro-0.1.0/rumoro/models/update_keyword_body_cap_type_0.py +64 -0
  545. rumoro-0.1.0/rumoro/models/update_keyword_body_kind.py +10 -0
  546. rumoro-0.1.0/rumoro/models/update_keyword_body_matching.py +119 -0
  547. rumoro-0.1.0/rumoro/models/update_keyword_body_matching_required_mode.py +9 -0
  548. rumoro-0.1.0/rumoro/models/update_keyword_body_platforms_type_0_item.py +19 -0
  549. rumoro-0.1.0/rumoro/models/update_keyword_body_review_sources_item.py +118 -0
  550. rumoro-0.1.0/rumoro/models/update_keyword_body_review_sources_item_platform.py +11 -0
  551. rumoro-0.1.0/rumoro/models/update_mention_body.py +169 -0
  552. rumoro-0.1.0/rumoro/models/update_mention_body_sentiment.py +10 -0
  553. rumoro-0.1.0/rumoro/models/update_mention_body_status.py +10 -0
  554. rumoro-0.1.0/rumoro/models/update_person_body.py +120 -0
  555. rumoro-0.1.0/rumoro/models/update_person_body_stage.py +13 -0
  556. rumoro-0.1.0/rumoro/models/update_segment_body.py +95 -0
  557. rumoro-0.1.0/rumoro/models/update_segment_body_filter.py +321 -0
  558. rumoro-0.1.0/rumoro/models/update_segment_body_filter_keyword_kinds_item.py +10 -0
  559. rumoro-0.1.0/rumoro/models/update_segment_body_filter_never_keyword_kinds_item.py +10 -0
  560. rumoro-0.1.0/rumoro/models/update_segment_body_filter_not_platforms_item.py +23 -0
  561. rumoro-0.1.0/rumoro/models/update_segment_body_filter_platforms_item.py +23 -0
  562. rumoro-0.1.0/rumoro/models/update_segment_body_filter_stages_item.py +13 -0
  563. rumoro-0.1.0/rumoro/models/update_view_body.py +94 -0
  564. rumoro-0.1.0/rumoro/models/update_view_body_filter.py +527 -0
  565. rumoro-0.1.0/rumoro/models/update_view_body_filter_keyword_kinds_item.py +10 -0
  566. rumoro-0.1.0/rumoro/models/update_view_body_filter_not_platforms_item.py +23 -0
  567. rumoro-0.1.0/rumoro/models/update_view_body_filter_not_sentiments_item.py +10 -0
  568. rumoro-0.1.0/rumoro/models/update_view_body_filter_platforms_item.py +23 -0
  569. rumoro-0.1.0/rumoro/models/update_view_body_filter_sentiments_item.py +10 -0
  570. rumoro-0.1.0/rumoro/models/update_view_body_filter_status.py +10 -0
  571. rumoro-0.1.0/rumoro/models/usage_breakdown.py +129 -0
  572. rumoro-0.1.0/rumoro/models/usage_breakdown_by.py +11 -0
  573. rumoro-0.1.0/rumoro/models/usage_breakdown_currency.py +8 -0
  574. rumoro-0.1.0/rumoro/models/usage_breakdown_data_item.py +201 -0
  575. rumoro-0.1.0/rumoro/models/usage_breakdown_data_item_group_type_0.py +78 -0
  576. rumoro-0.1.0/rumoro/models/usage_breakdown_data_item_keyword_type_0.py +79 -0
  577. rumoro-0.1.0/rumoro/models/usage_breakdown_totals.py +132 -0
  578. rumoro-0.1.0/rumoro/models/usage_breakdown_window.py +93 -0
  579. rumoro-0.1.0/rumoro/models/usage_summary.py +131 -0
  580. rumoro-0.1.0/rumoro/models/usage_summary_balance.py +88 -0
  581. rumoro-0.1.0/rumoro/models/usage_summary_balance_currency.py +8 -0
  582. rumoro-0.1.0/rumoro/models/usage_summary_burn.py +76 -0
  583. rumoro-0.1.0/rumoro/models/usage_summary_keywords.py +96 -0
  584. rumoro-0.1.0/rumoro/models/usage_summary_mentions.py +70 -0
  585. rumoro-0.1.0/rumoro/models/view.py +107 -0
  586. rumoro-0.1.0/rumoro/models/view_filter.py +510 -0
  587. rumoro-0.1.0/rumoro/models/view_filter_keyword_kinds_item.py +10 -0
  588. rumoro-0.1.0/rumoro/models/view_filter_not_platforms_item.py +23 -0
  589. rumoro-0.1.0/rumoro/models/view_filter_not_sentiments_item.py +10 -0
  590. rumoro-0.1.0/rumoro/models/view_filter_platforms_item.py +23 -0
  591. rumoro-0.1.0/rumoro/models/view_filter_sentiments_item.py +10 -0
  592. rumoro-0.1.0/rumoro/models/view_filter_status.py +10 -0
  593. rumoro-0.1.0/rumoro/models/wallet.py +253 -0
  594. rumoro-0.1.0/rumoro/models/wallet_auto_recharge.py +113 -0
  595. rumoro-0.1.0/rumoro/models/wallet_currency.py +8 -0
  596. rumoro-0.1.0/rumoro/models/wallet_signup_credit_type_0.py +70 -0
  597. rumoro-0.1.0/rumoro/models/webhook_channel.py +113 -0
  598. rumoro-0.1.0/rumoro/models/webhook_channel_config.py +109 -0
  599. rumoro-0.1.0/rumoro/models/webhook_channel_config_events_item.py +17 -0
  600. rumoro-0.1.0/rumoro/models/webhook_channel_config_headers.py +47 -0
  601. rumoro-0.1.0/rumoro/models/webhook_channel_kind.py +8 -0
  602. rumoro-0.1.0/rumoro/models/webhook_channel_stats.py +100 -0
  603. rumoro-0.1.0/rumoro/models/webhook_channel_stats_last_7d.py +70 -0
  604. rumoro-0.1.0/rumoro/models/whoami.py +107 -0
  605. rumoro-0.1.0/rumoro/models/whoami_auth.py +103 -0
  606. rumoro-0.1.0/rumoro/models/whoami_auth_kind.py +10 -0
  607. rumoro-0.1.0/rumoro/models/whoami_auth_scope.py +9 -0
  608. rumoro-0.1.0/rumoro/models/whoami_user_type_0.py +84 -0
  609. rumoro-0.1.0/rumoro/models/whoami_workspace.py +70 -0
  610. rumoro-0.1.0/rumoro/models/workspace_filters.py +111 -0
  611. rumoro-0.1.0/rumoro/models/workspace_filters_subreddits.py +71 -0
  612. rumoro-0.1.0/rumoro/types.py +54 -0
@@ -0,0 +1,5 @@
1
+ node_modules/
2
+ dist/
3
+ __pycache__/
4
+ *.egg-info/
5
+ .venv/
rumoro-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Rumoro
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.
rumoro-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,219 @@
1
+ Metadata-Version: 2.5
2
+ Name: rumoro
3
+ Version: 0.1.0
4
+ Summary: Python client for the Rumoro API: social listening for developers and AI agents.
5
+ Project-URL: Homepage, https://docs.rumoro.dev
6
+ Project-URL: Documentation, https://docs.rumoro.dev
7
+ Author: Rumoro
8
+ License-Expression: MIT
9
+ License-File: LICENSE
10
+ Keywords: api client,brand monitoring,openapi,rumoro,social listening
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Typing :: Typed
19
+ Requires-Python: >=3.11
20
+ Requires-Dist: attrs>=22.2.0
21
+ Requires-Dist: httpx<0.29.0,>=0.23.1
22
+ Description-Content-Type: text/markdown
23
+
24
+ # Rumoro Python SDK
25
+
26
+ Social listening for developers and AI agents, in Python. [Rumoro](https://rumoro.dev) watches the places people talk about your product, your competitors and your topics, and scores every mention for relevance, sentiment and intent. This package is the official Python client for its API: one object with one call per endpoint, generated from the OpenAPI document. It supports Python 3.11+, sync and async, and is fully typed.
27
+
28
+ ## Installation
29
+
30
+ ```bash
31
+ pip install rumoro
32
+ ```
33
+
34
+ ## Quick start
35
+
36
+ ```python
37
+ from rumoro import Rumoro
38
+
39
+ rumoro = Rumoro(api_key="ref_...")
40
+
41
+ # Track a keyword on two platforms.
42
+ keyword = rumoro.keywords.create(term="acme cloud", kind="brand", platforms=["hackernews", "x"])
43
+
44
+ # Read what arrived, relevant posts only, newest first.
45
+ for mention in rumoro.mentions.search(platform="hackernews", relevant=True, limit=25).data:
46
+ print(mention.post.platform.value, mention.classification.relevance, mention.post.url)
47
+ ```
48
+
49
+ Create an API key in the dashboard (API keys), or call `rumoro.api_keys.create(...)` with an existing key. Keys start with `ref_`. Every account starts with $5.80 of credit, and no card is needed.
50
+
51
+ ## Configuration
52
+
53
+ ```python
54
+ rumoro = Rumoro(
55
+ api_key="ref_...", # required
56
+ base_url="https://api.rumoro.dev", # another deployment's host, if you run one
57
+ timeout=30.0, # seconds, or None for no timeout
58
+ )
59
+ ```
60
+
61
+ Enum-valued arguments take plain strings (`platform="hackernews"`). Instants take a `datetime`, an ISO 8601 string, or epoch milliseconds. Bodies take a dict, a model, or their fields as keyword arguments.
62
+
63
+ ## Examples
64
+
65
+ ### Page through every mention of the last week
66
+
67
+ ```python
68
+ from datetime import datetime, timedelta, timezone
69
+
70
+ since = datetime.now(timezone.utc) - timedelta(days=7)
71
+ cursor = None
72
+ while True:
73
+ page = rumoro.mentions.search(since=since, relevant=True, limit=100, cursor=cursor)
74
+ for mention in page.data:
75
+ print(mention.post.url)
76
+ cursor = page.next_cursor
77
+ if not cursor:
78
+ break
79
+ ```
80
+
81
+ ### Filter by intent and sentiment
82
+
83
+ ```python
84
+ hot = rumoro.mentions.search(intent="buy_intent", sentiment="negative", min_followers=1000, sort="priority")
85
+ ```
86
+
87
+ The intents are `buy_intent`, `question`, `complaint`, `praise` and `comparison`, and topic tags such as `bug_report` and `pricing` filter the same way. `sort="priority"` puts fresh, relevant, high-reach posts first.
88
+
89
+ ### Triage
90
+
91
+ ```python
92
+ rumoro.mentions.update("mm_7f3a...", status="done", note="replied 2026-10-03")
93
+ rumoro.mentions.update("mm_9c1b...", status="ignored")
94
+ ```
95
+
96
+ ### An instant Slack alert for buying signals
97
+
98
+ ```python
99
+ slack = next(c for c in rumoro.channels.list().data if c.kind == "slack")
100
+
101
+ rumoro.alerts.create(
102
+ name="Buying signals",
103
+ mode="instant",
104
+ filter={"intents": ["buy_intent"], "minRelevance": 40},
105
+ channelIds=[slack.id],
106
+ )
107
+ ```
108
+
109
+ Body fields keep the API's names (`channelIds`, `minRelevance`); query parameters are snake_case (`min_followers`). Create Slack, Telegram, email and webhook channels with `rumoro.channels.create(...)`. `rumoro.alerts.test(id)` sends a sample, and `rumoro.alerts.run(id)` sends a digest alert's latest window now.
110
+
111
+ ### Analytics
112
+
113
+ ```python
114
+ summary = rumoro.analytics.summary(range_="30d", compare=True, timezone="Europe/Berlin")
115
+ by_platform = rumoro.analytics.breakdown(range_="30d", by="platform")
116
+ sov = rumoro.analytics.share_of_voice(range_="90d")
117
+ ```
118
+
119
+ ### People
120
+
121
+ ```python
122
+ people = rumoro.people.list(platforms=["x"], min_followers=5000)
123
+ rumoro.people.update(people.data[0].id, tags=["influencer"], muted=False)
124
+ ```
125
+
126
+ ### CSV export
127
+
128
+ ```python
129
+ csv_text = rumoro.mentions.export(since="2026-09-01T00:00:00Z")
130
+ ```
131
+
132
+ ## Async
133
+
134
+ `AsyncRumoro` mirrors every call for `asyncio`:
135
+
136
+ ```python
137
+ import asyncio
138
+ from rumoro import AsyncRumoro
139
+
140
+ async def main() -> None:
141
+ rumoro = AsyncRumoro(api_key="ref_...")
142
+ page = await rumoro.mentions.search(relevant=True, limit=10)
143
+ for mention in page.data:
144
+ print(mention.post.url)
145
+
146
+ asyncio.run(main())
147
+ ```
148
+
149
+ ## Error handling
150
+
151
+ A non-2xx response raises `RumoroError` with the API's `status`, `code` and `message`:
152
+
153
+ ```python
154
+ from rumoro import Rumoro, RumoroError
155
+
156
+ try:
157
+ rumoro.keywords.create(term="acme", kind="brand")
158
+ except RumoroError as err:
159
+ if err.code == "duplicate_keyword":
160
+ pass # already tracked
161
+ elif err.code == "insufficient_balance":
162
+ print("top up from Billing")
163
+ elif err.code == "rate_limited":
164
+ print("slow down")
165
+ else:
166
+ raise
167
+ ```
168
+
169
+ Common codes: `unauthorized`, `forbidden`, `read_only_key`, `validation_error`, `not_found`, `invalid_cursor`, `rate_limited`, `duplicate_keyword`, `insufficient_balance`, `keyword_limit_reached`, `upstream_unavailable`, `internal_error`.
170
+
171
+ ## SDK reference
172
+
173
+ | Resource | Methods |
174
+ | --- | --- |
175
+ | `rumoro.keywords` | `create`, `list`, `get`, `update`, `delete`, `health` |
176
+ | `rumoro.groups` | `create`, `list`, `get`, `update`, `delete` |
177
+ | `rumoro.mentions` | `search`, `get`, `update`, `export`, `export_json` |
178
+ | `rumoro.attention` | `list`, `dismiss` |
179
+ | `rumoro.views` | `create`, `list`, `get`, `update`, `delete` |
180
+ | `rumoro.filters` | `get`, `update` |
181
+ | `rumoro.people` | `list`, `get`, `update`, `merge`, `split`, `export`, `activities`, `log_activity`, `delete_activity` |
182
+ | `rumoro.segments` | `create`, `list`, `get`, `update`, `delete` |
183
+ | `rumoro.alerts` | `create`, `list`, `get`, `update`, `delete`, `test`, `run`, `mute`, `unmute` |
184
+ | `rumoro.channels` | `create`, `list`, `get`, `update`, `delete`, `test`, `rotate_secret`, `deliveries` |
185
+ | `rumoro.analytics` | `summary`, `series`, `breakdown`, `share_of_voice`, `reviews` |
186
+ | `rumoro.company` | `get`, `update` |
187
+ | `rumoro.members` | `list`, `remove`, `invitations`, `invite`, `revoke_invitation` |
188
+ | `rumoro.usage` | `get`, `breakdown` |
189
+ | `rumoro.billing` | `wallet`, `ledger`, `top_up`, `invoices`, `invoice_url` |
190
+ | `rumoro.api_keys` | `create`, `list`, `revoke` |
191
+ | `rumoro.auth` | `whoami` |
192
+ | `rumoro.system` | `health` |
193
+
194
+ The generated low-level client and models live under `rumoro.api` and `rumoro.models`, for anything the facade does not cover.
195
+
196
+ ## MCP server
197
+
198
+ The same API is available to MCP clients as tools. In Claude Code:
199
+
200
+ ```bash
201
+ claude mcp add --transport http rumoro https://mcp.rumoro.dev/mcp
202
+ ```
203
+
204
+ ## Requirements
205
+
206
+ - Python 3.11+
207
+ - A Rumoro API key
208
+
209
+ ## Links
210
+
211
+ - [Documentation](https://docs.rumoro.dev)
212
+ - [OpenAPI document](https://api.rumoro.dev/v1/openapi.json)
213
+ - [Dashboard](https://app.rumoro.dev)
214
+
215
+ Regenerate from a checkout with `scripts/generate.sh` in `packages/sdk-python`.
216
+
217
+ ## License
218
+
219
+ MIT.
rumoro-0.1.0/README.md ADDED
@@ -0,0 +1,196 @@
1
+ # Rumoro Python SDK
2
+
3
+ Social listening for developers and AI agents, in Python. [Rumoro](https://rumoro.dev) watches the places people talk about your product, your competitors and your topics, and scores every mention for relevance, sentiment and intent. This package is the official Python client for its API: one object with one call per endpoint, generated from the OpenAPI document. It supports Python 3.11+, sync and async, and is fully typed.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install rumoro
9
+ ```
10
+
11
+ ## Quick start
12
+
13
+ ```python
14
+ from rumoro import Rumoro
15
+
16
+ rumoro = Rumoro(api_key="ref_...")
17
+
18
+ # Track a keyword on two platforms.
19
+ keyword = rumoro.keywords.create(term="acme cloud", kind="brand", platforms=["hackernews", "x"])
20
+
21
+ # Read what arrived, relevant posts only, newest first.
22
+ for mention in rumoro.mentions.search(platform="hackernews", relevant=True, limit=25).data:
23
+ print(mention.post.platform.value, mention.classification.relevance, mention.post.url)
24
+ ```
25
+
26
+ Create an API key in the dashboard (API keys), or call `rumoro.api_keys.create(...)` with an existing key. Keys start with `ref_`. Every account starts with $5.80 of credit, and no card is needed.
27
+
28
+ ## Configuration
29
+
30
+ ```python
31
+ rumoro = Rumoro(
32
+ api_key="ref_...", # required
33
+ base_url="https://api.rumoro.dev", # another deployment's host, if you run one
34
+ timeout=30.0, # seconds, or None for no timeout
35
+ )
36
+ ```
37
+
38
+ Enum-valued arguments take plain strings (`platform="hackernews"`). Instants take a `datetime`, an ISO 8601 string, or epoch milliseconds. Bodies take a dict, a model, or their fields as keyword arguments.
39
+
40
+ ## Examples
41
+
42
+ ### Page through every mention of the last week
43
+
44
+ ```python
45
+ from datetime import datetime, timedelta, timezone
46
+
47
+ since = datetime.now(timezone.utc) - timedelta(days=7)
48
+ cursor = None
49
+ while True:
50
+ page = rumoro.mentions.search(since=since, relevant=True, limit=100, cursor=cursor)
51
+ for mention in page.data:
52
+ print(mention.post.url)
53
+ cursor = page.next_cursor
54
+ if not cursor:
55
+ break
56
+ ```
57
+
58
+ ### Filter by intent and sentiment
59
+
60
+ ```python
61
+ hot = rumoro.mentions.search(intent="buy_intent", sentiment="negative", min_followers=1000, sort="priority")
62
+ ```
63
+
64
+ The intents are `buy_intent`, `question`, `complaint`, `praise` and `comparison`, and topic tags such as `bug_report` and `pricing` filter the same way. `sort="priority"` puts fresh, relevant, high-reach posts first.
65
+
66
+ ### Triage
67
+
68
+ ```python
69
+ rumoro.mentions.update("mm_7f3a...", status="done", note="replied 2026-10-03")
70
+ rumoro.mentions.update("mm_9c1b...", status="ignored")
71
+ ```
72
+
73
+ ### An instant Slack alert for buying signals
74
+
75
+ ```python
76
+ slack = next(c for c in rumoro.channels.list().data if c.kind == "slack")
77
+
78
+ rumoro.alerts.create(
79
+ name="Buying signals",
80
+ mode="instant",
81
+ filter={"intents": ["buy_intent"], "minRelevance": 40},
82
+ channelIds=[slack.id],
83
+ )
84
+ ```
85
+
86
+ Body fields keep the API's names (`channelIds`, `minRelevance`); query parameters are snake_case (`min_followers`). Create Slack, Telegram, email and webhook channels with `rumoro.channels.create(...)`. `rumoro.alerts.test(id)` sends a sample, and `rumoro.alerts.run(id)` sends a digest alert's latest window now.
87
+
88
+ ### Analytics
89
+
90
+ ```python
91
+ summary = rumoro.analytics.summary(range_="30d", compare=True, timezone="Europe/Berlin")
92
+ by_platform = rumoro.analytics.breakdown(range_="30d", by="platform")
93
+ sov = rumoro.analytics.share_of_voice(range_="90d")
94
+ ```
95
+
96
+ ### People
97
+
98
+ ```python
99
+ people = rumoro.people.list(platforms=["x"], min_followers=5000)
100
+ rumoro.people.update(people.data[0].id, tags=["influencer"], muted=False)
101
+ ```
102
+
103
+ ### CSV export
104
+
105
+ ```python
106
+ csv_text = rumoro.mentions.export(since="2026-09-01T00:00:00Z")
107
+ ```
108
+
109
+ ## Async
110
+
111
+ `AsyncRumoro` mirrors every call for `asyncio`:
112
+
113
+ ```python
114
+ import asyncio
115
+ from rumoro import AsyncRumoro
116
+
117
+ async def main() -> None:
118
+ rumoro = AsyncRumoro(api_key="ref_...")
119
+ page = await rumoro.mentions.search(relevant=True, limit=10)
120
+ for mention in page.data:
121
+ print(mention.post.url)
122
+
123
+ asyncio.run(main())
124
+ ```
125
+
126
+ ## Error handling
127
+
128
+ A non-2xx response raises `RumoroError` with the API's `status`, `code` and `message`:
129
+
130
+ ```python
131
+ from rumoro import Rumoro, RumoroError
132
+
133
+ try:
134
+ rumoro.keywords.create(term="acme", kind="brand")
135
+ except RumoroError as err:
136
+ if err.code == "duplicate_keyword":
137
+ pass # already tracked
138
+ elif err.code == "insufficient_balance":
139
+ print("top up from Billing")
140
+ elif err.code == "rate_limited":
141
+ print("slow down")
142
+ else:
143
+ raise
144
+ ```
145
+
146
+ Common codes: `unauthorized`, `forbidden`, `read_only_key`, `validation_error`, `not_found`, `invalid_cursor`, `rate_limited`, `duplicate_keyword`, `insufficient_balance`, `keyword_limit_reached`, `upstream_unavailable`, `internal_error`.
147
+
148
+ ## SDK reference
149
+
150
+ | Resource | Methods |
151
+ | --- | --- |
152
+ | `rumoro.keywords` | `create`, `list`, `get`, `update`, `delete`, `health` |
153
+ | `rumoro.groups` | `create`, `list`, `get`, `update`, `delete` |
154
+ | `rumoro.mentions` | `search`, `get`, `update`, `export`, `export_json` |
155
+ | `rumoro.attention` | `list`, `dismiss` |
156
+ | `rumoro.views` | `create`, `list`, `get`, `update`, `delete` |
157
+ | `rumoro.filters` | `get`, `update` |
158
+ | `rumoro.people` | `list`, `get`, `update`, `merge`, `split`, `export`, `activities`, `log_activity`, `delete_activity` |
159
+ | `rumoro.segments` | `create`, `list`, `get`, `update`, `delete` |
160
+ | `rumoro.alerts` | `create`, `list`, `get`, `update`, `delete`, `test`, `run`, `mute`, `unmute` |
161
+ | `rumoro.channels` | `create`, `list`, `get`, `update`, `delete`, `test`, `rotate_secret`, `deliveries` |
162
+ | `rumoro.analytics` | `summary`, `series`, `breakdown`, `share_of_voice`, `reviews` |
163
+ | `rumoro.company` | `get`, `update` |
164
+ | `rumoro.members` | `list`, `remove`, `invitations`, `invite`, `revoke_invitation` |
165
+ | `rumoro.usage` | `get`, `breakdown` |
166
+ | `rumoro.billing` | `wallet`, `ledger`, `top_up`, `invoices`, `invoice_url` |
167
+ | `rumoro.api_keys` | `create`, `list`, `revoke` |
168
+ | `rumoro.auth` | `whoami` |
169
+ | `rumoro.system` | `health` |
170
+
171
+ The generated low-level client and models live under `rumoro.api` and `rumoro.models`, for anything the facade does not cover.
172
+
173
+ ## MCP server
174
+
175
+ The same API is available to MCP clients as tools. In Claude Code:
176
+
177
+ ```bash
178
+ claude mcp add --transport http rumoro https://mcp.rumoro.dev/mcp
179
+ ```
180
+
181
+ ## Requirements
182
+
183
+ - Python 3.11+
184
+ - A Rumoro API key
185
+
186
+ ## Links
187
+
188
+ - [Documentation](https://docs.rumoro.dev)
189
+ - [OpenAPI document](https://api.rumoro.dev/v1/openapi.json)
190
+ - [Dashboard](https://app.rumoro.dev)
191
+
192
+ Regenerate from a checkout with `scripts/generate.sh` in `packages/sdk-python`.
193
+
194
+ ## License
195
+
196
+ MIT.
@@ -0,0 +1,44 @@
1
+ [project]
2
+ name = "rumoro"
3
+ version = "0.1.0"
4
+ description = "Python client for the Rumoro API: social listening for developers and AI agents."
5
+ readme = "README.md"
6
+ license = "MIT"
7
+ requires-python = ">=3.11"
8
+ authors = [{ name = "Rumoro" }]
9
+ keywords = ["rumoro", "social listening", "brand monitoring", "api client", "openapi"]
10
+ classifiers = [
11
+ "Development Status :: 4 - Beta",
12
+ "Intended Audience :: Developers",
13
+ "License :: OSI Approved :: MIT License",
14
+ "Programming Language :: Python :: 3",
15
+ "Programming Language :: Python :: 3.11",
16
+ "Programming Language :: Python :: 3.12",
17
+ "Programming Language :: Python :: 3.13",
18
+ "Typing :: Typed",
19
+ ]
20
+ dependencies = [
21
+ "httpx>=0.23.1,<0.29.0",
22
+ "attrs>=22.2.0",
23
+ ]
24
+
25
+ [project.urls]
26
+ Homepage = "https://docs.rumoro.dev"
27
+ Documentation = "https://docs.rumoro.dev"
28
+
29
+ [dependency-groups]
30
+ dev = ["pytest>=8", "pytest-asyncio>=0.24"]
31
+
32
+ [build-system]
33
+ requires = ["hatchling"]
34
+ build-backend = "hatchling.build"
35
+
36
+ [tool.hatch.build.targets.wheel]
37
+ packages = ["rumoro"]
38
+
39
+ [tool.hatch.build.targets.sdist]
40
+ include = ["rumoro", "README.md", "pyproject.toml", "LICENSE"]
41
+
42
+ [tool.pytest.ini_options]
43
+ asyncio_mode = "auto"
44
+ testpaths = ["tests"]
@@ -0,0 +1,13 @@
1
+ """A client library for accessing Rumoro API"""
2
+
3
+ from ._facade import DEFAULT_BASE_URL, AsyncRumoro, Rumoro, RumoroError
4
+ from .client import AuthenticatedClient, Client
5
+
6
+ __all__ = (
7
+ "DEFAULT_BASE_URL",
8
+ "AsyncRumoro",
9
+ "AuthenticatedClient",
10
+ "Client",
11
+ "Rumoro",
12
+ "RumoroError",
13
+ )