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.
- rumoro-0.1.0/.gitignore +5 -0
- rumoro-0.1.0/LICENSE +21 -0
- rumoro-0.1.0/PKG-INFO +219 -0
- rumoro-0.1.0/README.md +196 -0
- rumoro-0.1.0/pyproject.toml +44 -0
- rumoro-0.1.0/rumoro/__init__.py +13 -0
- rumoro-0.1.0/rumoro/_facade.py +2274 -0
- rumoro-0.1.0/rumoro/api/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/alerts/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/alerts/create_alert.py +199 -0
- rumoro-0.1.0/rumoro/api/alerts/create_channel.py +245 -0
- rumoro-0.1.0/rumoro/api/alerts/delete_alert.py +164 -0
- rumoro-0.1.0/rumoro/api/alerts/delete_channel.py +164 -0
- rumoro-0.1.0/rumoro/api/alerts/get_alert.py +166 -0
- rumoro-0.1.0/rumoro/api/alerts/get_channel.py +230 -0
- rumoro-0.1.0/rumoro/api/alerts/list_alerts.py +134 -0
- rumoro-0.1.0/rumoro/api/alerts/list_channel_deliveries.py +189 -0
- rumoro-0.1.0/rumoro/api/alerts/list_channels.py +134 -0
- rumoro-0.1.0/rumoro/api/alerts/mute_alert_authors.py +212 -0
- rumoro-0.1.0/rumoro/api/alerts/rotate_webhook_secret.py +230 -0
- rumoro-0.1.0/rumoro/api/alerts/run_alert_digest.py +171 -0
- rumoro-0.1.0/rumoro/api/alerts/test_alert.py +166 -0
- rumoro-0.1.0/rumoro/api/alerts/test_channel.py +166 -0
- rumoro-0.1.0/rumoro/api/alerts/unmute_alert_authors.py +203 -0
- rumoro-0.1.0/rumoro/api/alerts/update_alert.py +192 -0
- rumoro-0.1.0/rumoro/api/alerts/update_channel.py +256 -0
- rumoro-0.1.0/rumoro/api/analytics/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/analytics/get_analytics_breakdown.py +357 -0
- rumoro-0.1.0/rumoro/api/analytics/get_analytics_series.py +380 -0
- rumoro-0.1.0/rumoro/api/analytics/get_analytics_summary.py +328 -0
- rumoro-0.1.0/rumoro/api/analytics/get_reviews_report.py +354 -0
- rumoro-0.1.0/rumoro/api/analytics/get_share_of_voice.py +326 -0
- rumoro-0.1.0/rumoro/api/api_keys/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/api_keys/create_api_key.py +187 -0
- rumoro-0.1.0/rumoro/api/api_keys/list_api_keys.py +134 -0
- rumoro-0.1.0/rumoro/api/api_keys/revoke_api_key.py +172 -0
- rumoro-0.1.0/rumoro/api/attention/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/attention/dismiss_attention.py +178 -0
- rumoro-0.1.0/rumoro/api/attention/list_attention.py +261 -0
- rumoro-0.1.0/rumoro/api/auth/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/auth/whoami.py +154 -0
- rumoro-0.1.0/rumoro/api/billing/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/billing/create_top_up.py +206 -0
- rumoro-0.1.0/rumoro/api/billing/get_invoice_url.py +179 -0
- rumoro-0.1.0/rumoro/api/billing/get_wallet.py +154 -0
- rumoro-0.1.0/rumoro/api/billing/list_invoices.py +146 -0
- rumoro-0.1.0/rumoro/api/billing/list_ledger.py +202 -0
- rumoro-0.1.0/rumoro/api/company/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/company/get_company.py +151 -0
- rumoro-0.1.0/rumoro/api/company/update_company.py +183 -0
- rumoro-0.1.0/rumoro/api/filters/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/filters/get_filters.py +154 -0
- rumoro-0.1.0/rumoro/api/filters/update_filters.py +191 -0
- rumoro-0.1.0/rumoro/api/groups/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/groups/create_group.py +195 -0
- rumoro-0.1.0/rumoro/api/groups/delete_group.py +189 -0
- rumoro-0.1.0/rumoro/api/groups/get_group.py +166 -0
- rumoro-0.1.0/rumoro/api/groups/list_groups.py +186 -0
- rumoro-0.1.0/rumoro/api/groups/update_group.py +217 -0
- rumoro-0.1.0/rumoro/api/keywords/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/keywords/create_keyword.py +208 -0
- rumoro-0.1.0/rumoro/api/keywords/delete_keyword.py +172 -0
- rumoro-0.1.0/rumoro/api/keywords/get_keyword.py +166 -0
- rumoro-0.1.0/rumoro/api/keywords/get_keyword_health.py +265 -0
- rumoro-0.1.0/rumoro/api/keywords/list_keywords.py +374 -0
- rumoro-0.1.0/rumoro/api/keywords/update_keyword.py +212 -0
- rumoro-0.1.0/rumoro/api/members/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/members/create_invitation.py +205 -0
- rumoro-0.1.0/rumoro/api/members/list_invitations.py +146 -0
- rumoro-0.1.0/rumoro/api/members/list_members.py +146 -0
- rumoro-0.1.0/rumoro/api/members/remove_member.py +194 -0
- rumoro-0.1.0/rumoro/api/members/revoke_invitation.py +181 -0
- rumoro-0.1.0/rumoro/api/mentions/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/mentions/export_mentions_csv.py +1343 -0
- rumoro-0.1.0/rumoro/api/mentions/export_mentions_json.py +1339 -0
- rumoro-0.1.0/rumoro/api/mentions/get_mention.py +182 -0
- rumoro-0.1.0/rumoro/api/mentions/search_mentions.py +1388 -0
- rumoro-0.1.0/rumoro/api/mentions/update_mention.py +221 -0
- rumoro-0.1.0/rumoro/api/people/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/people/delete_person_activity.py +186 -0
- rumoro-0.1.0/rumoro/api/people/export_people_csv.py +757 -0
- rumoro-0.1.0/rumoro/api/people/get_person.py +174 -0
- rumoro-0.1.0/rumoro/api/people/list_people.py +793 -0
- rumoro-0.1.0/rumoro/api/people/list_person_activities.py +184 -0
- rumoro-0.1.0/rumoro/api/people/log_person_activity.py +212 -0
- rumoro-0.1.0/rumoro/api/people/merge_people.py +203 -0
- rumoro-0.1.0/rumoro/api/people/split_person.py +174 -0
- rumoro-0.1.0/rumoro/api/people/update_person.py +208 -0
- rumoro-0.1.0/rumoro/api/segments/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/segments/create_segment.py +176 -0
- rumoro-0.1.0/rumoro/api/segments/delete_segment.py +172 -0
- rumoro-0.1.0/rumoro/api/segments/get_segment.py +166 -0
- rumoro-0.1.0/rumoro/api/segments/list_segments.py +150 -0
- rumoro-0.1.0/rumoro/api/segments/update_segment.py +192 -0
- rumoro-0.1.0/rumoro/api/system/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/system/get_health.py +124 -0
- rumoro-0.1.0/rumoro/api/usage/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/usage/get_usage.py +158 -0
- rumoro-0.1.0/rumoro/api/usage/get_usage_breakdown.py +319 -0
- rumoro-0.1.0/rumoro/api/views/__init__.py +1 -0
- rumoro-0.1.0/rumoro/api/views/create_view.py +196 -0
- rumoro-0.1.0/rumoro/api/views/delete_view.py +172 -0
- rumoro-0.1.0/rumoro/api/views/get_view.py +166 -0
- rumoro-0.1.0/rumoro/api/views/list_views.py +146 -0
- rumoro-0.1.0/rumoro/api/views/update_view.py +200 -0
- rumoro-0.1.0/rumoro/client.py +280 -0
- rumoro-0.1.0/rumoro/errors.py +16 -0
- rumoro-0.1.0/rumoro/models/__init__.py +1225 -0
- rumoro-0.1.0/rumoro/models/alert.py +177 -0
- rumoro-0.1.0/rumoro/models/alert_channels_item.py +79 -0
- rumoro-0.1.0/rumoro/models/alert_channels_item_kind.py +11 -0
- rumoro-0.1.0/rumoro/models/alert_filter.py +329 -0
- rumoro-0.1.0/rumoro/models/alert_filter_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/alert_filter_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/alert_mode.py +11 -0
- rumoro-0.1.0/rumoro/models/alert_schedule_type_0.py +100 -0
- rumoro-0.1.0/rumoro/models/alert_stats.py +90 -0
- rumoro-0.1.0/rumoro/models/analytics_breakdown.py +100 -0
- rumoro-0.1.0/rumoro/models/analytics_breakdown_by.py +15 -0
- rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item.py +258 -0
- rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_keyword_type_0.py +100 -0
- rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_keyword_type_0_group.py +91 -0
- rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_keyword_type_0_kind.py +10 -0
- rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_person_type_0.py +139 -0
- rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_person_type_0_platform.py +23 -0
- rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_previous_type_0.py +70 -0
- rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_sentiment.py +86 -0
- rumoro-0.1.0/rumoro/models/analytics_breakdown_data_item_slot_type_0.py +70 -0
- rumoro-0.1.0/rumoro/models/analytics_breakdown_window.py +86 -0
- rumoro-0.1.0/rumoro/models/analytics_series.py +136 -0
- rumoro-0.1.0/rumoro/models/analytics_series_data_item.py +132 -0
- rumoro-0.1.0/rumoro/models/analytics_series_data_item_keyword_type_0.py +100 -0
- rumoro-0.1.0/rumoro/models/analytics_series_data_item_keyword_type_0_group.py +91 -0
- rumoro-0.1.0/rumoro/models/analytics_series_data_item_keyword_type_0_kind.py +10 -0
- rumoro-0.1.0/rumoro/models/analytics_series_data_item_points_item.py +110 -0
- rumoro-0.1.0/rumoro/models/analytics_series_previous_type_0_item.py +138 -0
- rumoro-0.1.0/rumoro/models/analytics_series_previous_type_0_item_keyword_type_0.py +102 -0
- rumoro-0.1.0/rumoro/models/analytics_series_previous_type_0_item_keyword_type_0_group.py +91 -0
- rumoro-0.1.0/rumoro/models/analytics_series_previous_type_0_item_keyword_type_0_kind.py +10 -0
- rumoro-0.1.0/rumoro/models/analytics_series_previous_type_0_item_points_item.py +110 -0
- rumoro-0.1.0/rumoro/models/analytics_series_window.py +96 -0
- rumoro-0.1.0/rumoro/models/analytics_series_window_bucket.py +11 -0
- rumoro-0.1.0/rumoro/models/analytics_summary.py +187 -0
- rumoro-0.1.0/rumoro/models/analytics_summary_previous_type_0.py +148 -0
- rumoro-0.1.0/rumoro/models/analytics_summary_previous_type_0_reach.py +71 -0
- rumoro-0.1.0/rumoro/models/analytics_summary_previous_type_0_sentiment.py +86 -0
- rumoro-0.1.0/rumoro/models/analytics_summary_previous_type_0_triage.py +116 -0
- rumoro-0.1.0/rumoro/models/analytics_summary_reach.py +71 -0
- rumoro-0.1.0/rumoro/models/analytics_summary_sentiment.py +86 -0
- rumoro-0.1.0/rumoro/models/analytics_summary_triage.py +116 -0
- rumoro-0.1.0/rumoro/models/analytics_summary_window.py +86 -0
- rumoro-0.1.0/rumoro/models/attention_item.py +223 -0
- rumoro-0.1.0/rumoro/models/attention_item_kind.py +11 -0
- rumoro-0.1.0/rumoro/models/attention_item_status.py +10 -0
- rumoro-0.1.0/rumoro/models/attention_item_subject.py +72 -0
- rumoro-0.1.0/rumoro/models/attention_item_subject_type.py +9 -0
- rumoro-0.1.0/rumoro/models/channel_failing_event_data.py +118 -0
- rumoro-0.1.0/rumoro/models/channel_failing_event_data_channel.py +82 -0
- rumoro-0.1.0/rumoro/models/channel_failing_event_data_channel_kind.py +11 -0
- rumoro-0.1.0/rumoro/models/company.py +137 -0
- rumoro-0.1.0/rumoro/models/company_accounts.py +83 -0
- rumoro-0.1.0/rumoro/models/create_alert_body.py +166 -0
- rumoro-0.1.0/rumoro/models/create_alert_body_filter.py +335 -0
- rumoro-0.1.0/rumoro/models/create_alert_body_filter_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/create_alert_body_filter_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/create_alert_body_mode.py +11 -0
- rumoro-0.1.0/rumoro/models/create_alert_body_schedule.py +101 -0
- rumoro-0.1.0/rumoro/models/create_api_key_body.py +96 -0
- rumoro-0.1.0/rumoro/models/create_api_key_body_scope.py +9 -0
- rumoro-0.1.0/rumoro/models/create_api_key_response_201.py +132 -0
- rumoro-0.1.0/rumoro/models/create_api_key_response_201_scope.py +9 -0
- rumoro-0.1.0/rumoro/models/create_email_channel.py +95 -0
- rumoro-0.1.0/rumoro/models/create_email_channel_events_item.py +11 -0
- rumoro-0.1.0/rumoro/models/create_email_channel_kind.py +8 -0
- rumoro-0.1.0/rumoro/models/create_group_body.py +108 -0
- rumoro-0.1.0/rumoro/models/create_invitation_body.py +81 -0
- rumoro-0.1.0/rumoro/models/create_invitation_body_role.py +9 -0
- rumoro-0.1.0/rumoro/models/create_keyword_body.py +256 -0
- rumoro-0.1.0/rumoro/models/create_keyword_body_cap_type_0.py +63 -0
- rumoro-0.1.0/rumoro/models/create_keyword_body_kind.py +10 -0
- rumoro-0.1.0/rumoro/models/create_keyword_body_matching.py +119 -0
- rumoro-0.1.0/rumoro/models/create_keyword_body_matching_required_mode.py +9 -0
- rumoro-0.1.0/rumoro/models/create_keyword_body_platforms_type_0_item.py +19 -0
- rumoro-0.1.0/rumoro/models/create_keyword_body_review_sources_item.py +118 -0
- rumoro-0.1.0/rumoro/models/create_keyword_body_review_sources_item_platform.py +11 -0
- rumoro-0.1.0/rumoro/models/create_segment_body.py +96 -0
- rumoro-0.1.0/rumoro/models/create_segment_body_filter.py +320 -0
- rumoro-0.1.0/rumoro/models/create_segment_body_filter_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/create_segment_body_filter_never_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/create_segment_body_filter_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/create_segment_body_filter_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/create_segment_body_filter_stages_item.py +13 -0
- rumoro-0.1.0/rumoro/models/create_slack_channel.py +103 -0
- rumoro-0.1.0/rumoro/models/create_slack_channel_events_item.py +11 -0
- rumoro-0.1.0/rumoro/models/create_slack_channel_kind.py +8 -0
- rumoro-0.1.0/rumoro/models/create_top_up_body.py +73 -0
- rumoro-0.1.0/rumoro/models/create_top_up_response_200.py +61 -0
- rumoro-0.1.0/rumoro/models/create_view_body.py +96 -0
- rumoro-0.1.0/rumoro/models/create_view_body_filter.py +527 -0
- rumoro-0.1.0/rumoro/models/create_view_body_filter_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/create_view_body_filter_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/create_view_body_filter_not_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/create_view_body_filter_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/create_view_body_filter_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/create_view_body_filter_status.py +10 -0
- rumoro-0.1.0/rumoro/models/create_webhook_channel.py +128 -0
- rumoro-0.1.0/rumoro/models/create_webhook_channel_events_item.py +17 -0
- rumoro-0.1.0/rumoro/models/create_webhook_channel_headers.py +47 -0
- rumoro-0.1.0/rumoro/models/create_webhook_channel_kind.py +8 -0
- rumoro-0.1.0/rumoro/models/email_channel.py +111 -0
- rumoro-0.1.0/rumoro/models/email_channel_config.py +100 -0
- rumoro-0.1.0/rumoro/models/email_channel_config_events_item.py +11 -0
- rumoro-0.1.0/rumoro/models/email_channel_config_recipients_item.py +76 -0
- rumoro-0.1.0/rumoro/models/email_channel_kind.py +8 -0
- rumoro-0.1.0/rumoro/models/email_channel_stats.py +100 -0
- rumoro-0.1.0/rumoro/models/email_channel_stats_last_7d.py +70 -0
- rumoro-0.1.0/rumoro/models/error_response.py +67 -0
- rumoro-0.1.0/rumoro/models/error_response_error.py +93 -0
- rumoro-0.1.0/rumoro/models/error_response_error_code.py +46 -0
- rumoro-0.1.0/rumoro/models/export_mentions_csv_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/export_mentions_csv_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/export_mentions_csv_not_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/export_mentions_csv_platform.py +23 -0
- rumoro-0.1.0/rumoro/models/export_mentions_csv_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/export_mentions_csv_sentiment.py +10 -0
- rumoro-0.1.0/rumoro/models/export_mentions_csv_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/export_mentions_csv_status.py +10 -0
- rumoro-0.1.0/rumoro/models/export_mentions_json_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/export_mentions_json_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/export_mentions_json_not_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/export_mentions_json_platform.py +23 -0
- rumoro-0.1.0/rumoro/models/export_mentions_json_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/export_mentions_json_response_200.py +84 -0
- rumoro-0.1.0/rumoro/models/export_mentions_json_sentiment.py +10 -0
- rumoro-0.1.0/rumoro/models/export_mentions_json_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/export_mentions_json_status.py +10 -0
- rumoro-0.1.0/rumoro/models/export_people_csv_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/export_people_csv_never_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/export_people_csv_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/export_people_csv_platform.py +23 -0
- rumoro-0.1.0/rumoro/models/export_people_csv_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/export_people_csv_sort.py +11 -0
- rumoro-0.1.0/rumoro/models/export_people_csv_stages_item.py +13 -0
- rumoro-0.1.0/rumoro/models/filter_group.py +466 -0
- rumoro-0.1.0/rumoro/models/filter_group_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/filter_group_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/filter_group_not_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/filter_group_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/filter_group_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/filter_group_status.py +10 -0
- rumoro-0.1.0/rumoro/models/get_analytics_breakdown_by.py +15 -0
- rumoro-0.1.0/rumoro/models/get_analytics_breakdown_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/get_analytics_breakdown_range.py +11 -0
- rumoro-0.1.0/rumoro/models/get_analytics_series_bucket.py +11 -0
- rumoro-0.1.0/rumoro/models/get_analytics_series_by.py +10 -0
- rumoro-0.1.0/rumoro/models/get_analytics_series_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/get_analytics_series_range.py +11 -0
- rumoro-0.1.0/rumoro/models/get_analytics_summary_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/get_analytics_summary_range.py +11 -0
- rumoro-0.1.0/rumoro/models/get_health_response_200.py +61 -0
- rumoro-0.1.0/rumoro/models/get_invoice_url_response_200.py +61 -0
- rumoro-0.1.0/rumoro/models/get_keyword_health_range.py +10 -0
- rumoro-0.1.0/rumoro/models/get_reviews_report_bucket.py +9 -0
- rumoro-0.1.0/rumoro/models/get_reviews_report_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/get_reviews_report_range.py +11 -0
- rumoro-0.1.0/rumoro/models/get_share_of_voice_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/get_share_of_voice_range.py +11 -0
- rumoro-0.1.0/rumoro/models/get_usage_breakdown_by.py +11 -0
- rumoro-0.1.0/rumoro/models/get_usage_breakdown_range.py +10 -0
- rumoro-0.1.0/rumoro/models/group.py +136 -0
- rumoro-0.1.0/rumoro/models/group_ref.py +92 -0
- rumoro-0.1.0/rumoro/models/group_stats.py +70 -0
- rumoro-0.1.0/rumoro/models/invitation.py +132 -0
- rumoro-0.1.0/rumoro/models/invitation_invited_by_type_0.py +84 -0
- rumoro-0.1.0/rumoro/models/invitation_role.py +10 -0
- rumoro-0.1.0/rumoro/models/invoice_list.py +75 -0
- rumoro-0.1.0/rumoro/models/invoice_list_data_item.py +116 -0
- rumoro-0.1.0/rumoro/models/keyword.py +279 -0
- rumoro-0.1.0/rumoro/models/keyword_cap_type_0.py +87 -0
- rumoro-0.1.0/rumoro/models/keyword_health.py +208 -0
- rumoro-0.1.0/rumoro/models/keyword_health_ai.py +74 -0
- rumoro-0.1.0/rumoro/models/keyword_health_ai_status.py +12 -0
- rumoro-0.1.0/rumoro/models/keyword_health_keyword.py +84 -0
- rumoro-0.1.0/rumoro/models/keyword_health_noise_authors_item.py +77 -0
- rumoro-0.1.0/rumoro/models/keyword_health_noise_terms_item.py +92 -0
- rumoro-0.1.0/rumoro/models/keyword_health_sample.py +72 -0
- rumoro-0.1.0/rumoro/models/keyword_health_stats.py +192 -0
- rumoro-0.1.0/rumoro/models/keyword_health_stats_by_platform_item.py +105 -0
- rumoro-0.1.0/rumoro/models/keyword_health_stats_by_platform_item_platform.py +23 -0
- rumoro-0.1.0/rumoro/models/keyword_health_stats_cost.py +94 -0
- rumoro-0.1.0/rumoro/models/keyword_health_stats_weekly_item.py +77 -0
- rumoro-0.1.0/rumoro/models/keyword_health_status.py +13 -0
- rumoro-0.1.0/rumoro/models/keyword_health_window.py +78 -0
- rumoro-0.1.0/rumoro/models/keyword_kind.py +10 -0
- rumoro-0.1.0/rumoro/models/keyword_matching.py +99 -0
- rumoro-0.1.0/rumoro/models/keyword_matching_required_mode.py +9 -0
- rumoro-0.1.0/rumoro/models/keyword_noisy_event_data.py +119 -0
- rumoro-0.1.0/rumoro/models/keyword_noisy_event_data_keyword.py +98 -0
- rumoro-0.1.0/rumoro/models/keyword_noisy_event_data_keyword_kind.py +10 -0
- rumoro-0.1.0/rumoro/models/keyword_platforms_type_0_item.py +19 -0
- rumoro-0.1.0/rumoro/models/keyword_polling_item.py +87 -0
- rumoro-0.1.0/rumoro/models/keyword_polling_item_platform.py +23 -0
- rumoro-0.1.0/rumoro/models/keyword_stats.py +156 -0
- rumoro-0.1.0/rumoro/models/keyword_stats_cost.py +98 -0
- rumoro-0.1.0/rumoro/models/keyword_stats_feedback.py +70 -0
- rumoro-0.1.0/rumoro/models/keyword_stats_health.py +13 -0
- rumoro-0.1.0/rumoro/models/keyword_stats_noise.py +80 -0
- rumoro-0.1.0/rumoro/models/keyword_suggestion.py +142 -0
- rumoro-0.1.0/rumoro/models/keyword_suggestion_effect_type_0.py +108 -0
- rumoro-0.1.0/rumoro/models/keyword_suggestion_effect_type_0_sample.py +86 -0
- rumoro-0.1.0/rumoro/models/keyword_suggestion_patch.py +259 -0
- rumoro-0.1.0/rumoro/models/keyword_suggestion_patch_cap_type_0.py +64 -0
- rumoro-0.1.0/rumoro/models/keyword_suggestion_patch_kind.py +10 -0
- rumoro-0.1.0/rumoro/models/keyword_suggestion_patch_matching.py +119 -0
- rumoro-0.1.0/rumoro/models/keyword_suggestion_patch_matching_required_mode.py +9 -0
- rumoro-0.1.0/rumoro/models/keyword_suggestion_patch_platforms_type_0_item.py +19 -0
- rumoro-0.1.0/rumoro/models/keyword_suggestion_patch_review_sources_item.py +118 -0
- rumoro-0.1.0/rumoro/models/keyword_suggestion_patch_review_sources_item_platform.py +11 -0
- rumoro-0.1.0/rumoro/models/keyword_suggestion_source.py +9 -0
- rumoro-0.1.0/rumoro/models/keyword_suggestion_type.py +12 -0
- rumoro-0.1.0/rumoro/models/ledger_list.py +89 -0
- rumoro-0.1.0/rumoro/models/ledger_list_data_item.py +143 -0
- rumoro-0.1.0/rumoro/models/ledger_list_data_item_kind.py +13 -0
- rumoro-0.1.0/rumoro/models/list_alerts_response_200.py +79 -0
- rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item.py +204 -0
- rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_channels_item.py +81 -0
- rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_channels_item_kind.py +11 -0
- rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_filter.py +341 -0
- rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_filter_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_filter_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_mode.py +11 -0
- rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_schedule_type_0.py +100 -0
- rumoro-0.1.0/rumoro/models/list_alerts_response_200_data_item_stats.py +90 -0
- rumoro-0.1.0/rumoro/models/list_api_keys_response_200.py +79 -0
- rumoro-0.1.0/rumoro/models/list_api_keys_response_200_data_item.py +126 -0
- rumoro-0.1.0/rumoro/models/list_api_keys_response_200_data_item_scope.py +9 -0
- rumoro-0.1.0/rumoro/models/list_attention_response_200.py +89 -0
- rumoro-0.1.0/rumoro/models/list_attention_status.py +11 -0
- rumoro-0.1.0/rumoro/models/list_channel_deliveries_response_200.py +81 -0
- rumoro-0.1.0/rumoro/models/list_channel_deliveries_response_200_data_item.py +201 -0
- rumoro-0.1.0/rumoro/models/list_channel_deliveries_response_200_data_item_alert.py +70 -0
- rumoro-0.1.0/rumoro/models/list_channel_deliveries_response_200_data_item_kind.py +10 -0
- rumoro-0.1.0/rumoro/models/list_channel_deliveries_response_200_data_item_mention_type_0.py +78 -0
- rumoro-0.1.0/rumoro/models/list_channel_deliveries_response_200_data_item_status.py +10 -0
- rumoro-0.1.0/rumoro/models/list_channels_response_200.py +128 -0
- rumoro-0.1.0/rumoro/models/list_groups_response_200.py +79 -0
- rumoro-0.1.0/rumoro/models/list_groups_response_200_data_item.py +140 -0
- rumoro-0.1.0/rumoro/models/list_groups_response_200_data_item_stats.py +70 -0
- rumoro-0.1.0/rumoro/models/list_invitations_response_200.py +75 -0
- rumoro-0.1.0/rumoro/models/list_keywords_kind_item.py +10 -0
- rumoro-0.1.0/rumoro/models/list_keywords_platform_item.py +23 -0
- rumoro-0.1.0/rumoro/models/list_keywords_response_200.py +87 -0
- rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item.py +310 -0
- rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_cap_type_0.py +87 -0
- rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_kind.py +10 -0
- rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_matching.py +104 -0
- rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_matching_required_mode.py +9 -0
- rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_platforms_type_0_item.py +19 -0
- rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_polling_item.py +89 -0
- rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_polling_item_platform.py +23 -0
- rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_stats.py +172 -0
- rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_stats_cost.py +98 -0
- rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_stats_feedback.py +70 -0
- rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_stats_health.py +13 -0
- rumoro-0.1.0/rumoro/models/list_keywords_response_200_data_item_stats_noise.py +80 -0
- rumoro-0.1.0/rumoro/models/list_keywords_sort.py +14 -0
- rumoro-0.1.0/rumoro/models/list_keywords_status_item.py +12 -0
- rumoro-0.1.0/rumoro/models/list_members_response_200.py +75 -0
- rumoro-0.1.0/rumoro/models/list_people_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/list_people_never_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/list_people_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/list_people_platform.py +23 -0
- rumoro-0.1.0/rumoro/models/list_people_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/list_people_response_200.py +87 -0
- rumoro-0.1.0/rumoro/models/list_people_response_200_data_item.py +258 -0
- rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_accounts_item.py +117 -0
- rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_accounts_item_platform.py +23 -0
- rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_annotations.py +78 -0
- rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_outreach.py +127 -0
- rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_outreach_owner_type_0.py +90 -0
- rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_outreach_stage.py +13 -0
- rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_platform.py +23 -0
- rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_profile_type_0.py +162 -0
- rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_profile_type_0_links_item.py +69 -0
- rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_reach.py +97 -0
- rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_stats.py +106 -0
- rumoro-0.1.0/rumoro/models/list_people_response_200_data_item_stats_sentiment.py +77 -0
- rumoro-0.1.0/rumoro/models/list_people_sort.py +11 -0
- rumoro-0.1.0/rumoro/models/list_people_stages_item.py +13 -0
- rumoro-0.1.0/rumoro/models/list_person_activities_response_200.py +81 -0
- rumoro-0.1.0/rumoro/models/list_person_activities_response_200_data_item.py +150 -0
- rumoro-0.1.0/rumoro/models/list_person_activities_response_200_data_item_channel.py +16 -0
- rumoro-0.1.0/rumoro/models/list_person_activities_response_200_data_item_member_type_0.py +90 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200.py +103 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200_data_item.py +119 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200_data_item_filter.py +338 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200_data_item_filter_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200_data_item_filter_never_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200_data_item_filter_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200_data_item_filter_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200_data_item_filter_stages_item.py +13 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200_presets_item.py +95 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200_presets_item_filter.py +341 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200_presets_item_filter_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200_presets_item_filter_never_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200_presets_item_filter_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200_presets_item_filter_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/list_segments_response_200_presets_item_filter_stages_item.py +13 -0
- rumoro-0.1.0/rumoro/models/list_views_response_200.py +77 -0
- rumoro-0.1.0/rumoro/models/list_views_response_200_data_item.py +111 -0
- rumoro-0.1.0/rumoro/models/list_views_response_200_data_item_filter.py +548 -0
- rumoro-0.1.0/rumoro/models/list_views_response_200_data_item_filter_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/list_views_response_200_data_item_filter_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/list_views_response_200_data_item_filter_not_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/list_views_response_200_data_item_filter_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/list_views_response_200_data_item_filter_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/list_views_response_200_data_item_filter_status.py +10 -0
- rumoro-0.1.0/rumoro/models/log_person_activity_body.py +101 -0
- rumoro-0.1.0/rumoro/models/log_person_activity_body_channel.py +16 -0
- rumoro-0.1.0/rumoro/models/member.py +109 -0
- rumoro-0.1.0/rumoro/models/member_role.py +10 -0
- rumoro-0.1.0/rumoro/models/mention.py +233 -0
- rumoro-0.1.0/rumoro/models/mention_author_type_0.py +148 -0
- rumoro-0.1.0/rumoro/models/mention_classification_type_0.py +208 -0
- rumoro-0.1.0/rumoro/models/mention_classification_type_0_feedback_type_0.py +111 -0
- rumoro-0.1.0/rumoro/models/mention_classification_type_0_feedback_type_0_original.py +84 -0
- rumoro-0.1.0/rumoro/models/mention_classification_type_0_feedback_type_0_original_sentiment.py +10 -0
- rumoro-0.1.0/rumoro/models/mention_classification_type_0_feedback_type_0_sentiment.py +10 -0
- rumoro-0.1.0/rumoro/models/mention_classification_type_0_sentiment.py +10 -0
- rumoro-0.1.0/rumoro/models/mention_keyword.py +84 -0
- rumoro-0.1.0/rumoro/models/mention_post.py +201 -0
- rumoro-0.1.0/rumoro/models/mention_post_engagement_type_0.py +141 -0
- rumoro-0.1.0/rumoro/models/mention_post_platform.py +23 -0
- rumoro-0.1.0/rumoro/models/mention_post_reply_to_type_0.py +97 -0
- rumoro-0.1.0/rumoro/models/mention_review_type_0.py +173 -0
- rumoro-0.1.0/rumoro/models/mention_review_type_0_app.py +81 -0
- rumoro-0.1.0/rumoro/models/mention_review_type_0_app_platform.py +11 -0
- rumoro-0.1.0/rumoro/models/mention_spike_event_data.py +127 -0
- rumoro-0.1.0/rumoro/models/mention_spike_event_data_baseline.py +78 -0
- rumoro-0.1.0/rumoro/models/mention_spike_event_data_keyword.py +98 -0
- rumoro-0.1.0/rumoro/models/mention_spike_event_data_keyword_kind.py +10 -0
- rumoro-0.1.0/rumoro/models/mention_spike_event_data_window.py +70 -0
- rumoro-0.1.0/rumoro/models/mention_status.py +10 -0
- rumoro-0.1.0/rumoro/models/mention_triage.py +120 -0
- rumoro-0.1.0/rumoro/models/mention_triage_assignee_type_0.py +90 -0
- rumoro-0.1.0/rumoro/models/merge_people_body.py +61 -0
- rumoro-0.1.0/rumoro/models/mute_alert_authors_body.py +64 -0
- rumoro-0.1.0/rumoro/models/negative_spike_event_data.py +136 -0
- rumoro-0.1.0/rumoro/models/negative_spike_event_data_baseline.py +78 -0
- rumoro-0.1.0/rumoro/models/negative_spike_event_data_keyword.py +98 -0
- rumoro-0.1.0/rumoro/models/negative_spike_event_data_keyword_kind.py +10 -0
- rumoro-0.1.0/rumoro/models/negative_spike_event_data_window.py +70 -0
- rumoro-0.1.0/rumoro/models/person.py +220 -0
- rumoro-0.1.0/rumoro/models/person_accounts_item.py +115 -0
- rumoro-0.1.0/rumoro/models/person_accounts_item_platform.py +23 -0
- rumoro-0.1.0/rumoro/models/person_activity.py +142 -0
- rumoro-0.1.0/rumoro/models/person_activity_channel.py +16 -0
- rumoro-0.1.0/rumoro/models/person_activity_member_type_0.py +90 -0
- rumoro-0.1.0/rumoro/models/person_annotations.py +78 -0
- rumoro-0.1.0/rumoro/models/person_outreach.py +119 -0
- rumoro-0.1.0/rumoro/models/person_outreach_owner_type_0.py +90 -0
- rumoro-0.1.0/rumoro/models/person_outreach_stage.py +13 -0
- rumoro-0.1.0/rumoro/models/person_platform.py +23 -0
- rumoro-0.1.0/rumoro/models/person_profile_type_0.py +157 -0
- rumoro-0.1.0/rumoro/models/person_profile_type_0_links_item.py +69 -0
- rumoro-0.1.0/rumoro/models/person_reach.py +97 -0
- rumoro-0.1.0/rumoro/models/person_stats.py +102 -0
- rumoro-0.1.0/rumoro/models/person_stats_sentiment.py +77 -0
- rumoro-0.1.0/rumoro/models/review_source.py +110 -0
- rumoro-0.1.0/rumoro/models/review_source_platform.py +11 -0
- rumoro-0.1.0/rumoro/models/reviews_report.py +150 -0
- rumoro-0.1.0/rumoro/models/reviews_report_pages_item.py +197 -0
- rumoro-0.1.0/rumoro/models/reviews_report_pages_item_distribution.py +94 -0
- rumoro-0.1.0/rumoro/models/reviews_report_pages_item_platform.py +11 -0
- rumoro-0.1.0/rumoro/models/reviews_report_pages_item_previous_type_0.py +76 -0
- rumoro-0.1.0/rumoro/models/reviews_report_pages_item_series_item.py +83 -0
- rumoro-0.1.0/rumoro/models/reviews_report_previous_type_0.py +112 -0
- rumoro-0.1.0/rumoro/models/reviews_report_previous_type_0_distribution.py +94 -0
- rumoro-0.1.0/rumoro/models/reviews_report_tags_item.py +69 -0
- rumoro-0.1.0/rumoro/models/reviews_report_totals.py +109 -0
- rumoro-0.1.0/rumoro/models/reviews_report_totals_distribution.py +94 -0
- rumoro-0.1.0/rumoro/models/reviews_report_window.py +96 -0
- rumoro-0.1.0/rumoro/models/reviews_report_window_bucket.py +9 -0
- rumoro-0.1.0/rumoro/models/run_alert_digest_response_200.py +111 -0
- rumoro-0.1.0/rumoro/models/run_alert_digest_response_200_outcomes_item.py +83 -0
- rumoro-0.1.0/rumoro/models/run_alert_digest_response_200_skipped.py +11 -0
- rumoro-0.1.0/rumoro/models/search_mentions_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/search_mentions_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/search_mentions_not_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/search_mentions_platform.py +23 -0
- rumoro-0.1.0/rumoro/models/search_mentions_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/search_mentions_response_200.py +89 -0
- rumoro-0.1.0/rumoro/models/search_mentions_sentiment.py +10 -0
- rumoro-0.1.0/rumoro/models/search_mentions_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/search_mentions_sort.py +9 -0
- rumoro-0.1.0/rumoro/models/search_mentions_status.py +10 -0
- rumoro-0.1.0/rumoro/models/segment.py +115 -0
- rumoro-0.1.0/rumoro/models/segment_filter.py +303 -0
- rumoro-0.1.0/rumoro/models/segment_filter_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/segment_filter_never_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/segment_filter_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/segment_filter_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/segment_filter_stages_item.py +13 -0
- rumoro-0.1.0/rumoro/models/share_of_voice.py +87 -0
- rumoro-0.1.0/rumoro/models/share_of_voice_data_item.py +152 -0
- rumoro-0.1.0/rumoro/models/share_of_voice_data_item_keyword.py +100 -0
- rumoro-0.1.0/rumoro/models/share_of_voice_data_item_keyword_group.py +91 -0
- rumoro-0.1.0/rumoro/models/share_of_voice_data_item_keyword_kind.py +10 -0
- rumoro-0.1.0/rumoro/models/share_of_voice_data_item_previous_type_0.py +62 -0
- rumoro-0.1.0/rumoro/models/share_of_voice_window.py +86 -0
- rumoro-0.1.0/rumoro/models/slack_channel.py +111 -0
- rumoro-0.1.0/rumoro/models/slack_channel_config.py +88 -0
- rumoro-0.1.0/rumoro/models/slack_channel_config_events_item.py +11 -0
- rumoro-0.1.0/rumoro/models/slack_channel_kind.py +8 -0
- rumoro-0.1.0/rumoro/models/slack_channel_stats.py +100 -0
- rumoro-0.1.0/rumoro/models/slack_channel_stats_last_7d.py +70 -0
- rumoro-0.1.0/rumoro/models/telegram_channel.py +115 -0
- rumoro-0.1.0/rumoro/models/telegram_channel_config.py +89 -0
- rumoro-0.1.0/rumoro/models/telegram_channel_config_chat_type.py +11 -0
- rumoro-0.1.0/rumoro/models/telegram_channel_config_events_item.py +11 -0
- rumoro-0.1.0/rumoro/models/telegram_channel_kind.py +8 -0
- rumoro-0.1.0/rumoro/models/telegram_channel_stats.py +100 -0
- rumoro-0.1.0/rumoro/models/telegram_channel_stats_last_7d.py +70 -0
- rumoro-0.1.0/rumoro/models/test_alert_response_200.py +81 -0
- rumoro-0.1.0/rumoro/models/test_alert_response_200_outcomes_item.py +83 -0
- rumoro-0.1.0/rumoro/models/test_channel_response_200.py +81 -0
- rumoro-0.1.0/rumoro/models/test_channel_response_200_outcomes_item.py +83 -0
- rumoro-0.1.0/rumoro/models/unmute_alert_authors_body.py +64 -0
- rumoro-0.1.0/rumoro/models/update_alert_body.py +184 -0
- rumoro-0.1.0/rumoro/models/update_alert_body_filter.py +336 -0
- rumoro-0.1.0/rumoro/models/update_alert_body_filter_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/update_alert_body_filter_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/update_alert_body_mode.py +11 -0
- rumoro-0.1.0/rumoro/models/update_alert_body_schedule_type_0.py +100 -0
- rumoro-0.1.0/rumoro/models/update_channel_body.py +120 -0
- rumoro-0.1.0/rumoro/models/update_channel_body_events_item.py +17 -0
- rumoro-0.1.0/rumoro/models/update_channel_body_headers.py +47 -0
- rumoro-0.1.0/rumoro/models/update_company_body.py +166 -0
- rumoro-0.1.0/rumoro/models/update_company_body_accounts.py +93 -0
- rumoro-0.1.0/rumoro/models/update_filters_body.py +110 -0
- rumoro-0.1.0/rumoro/models/update_filters_body_subreddits.py +75 -0
- rumoro-0.1.0/rumoro/models/update_group_body.py +104 -0
- rumoro-0.1.0/rumoro/models/update_keyword_body.py +252 -0
- rumoro-0.1.0/rumoro/models/update_keyword_body_cap_type_0.py +64 -0
- rumoro-0.1.0/rumoro/models/update_keyword_body_kind.py +10 -0
- rumoro-0.1.0/rumoro/models/update_keyword_body_matching.py +119 -0
- rumoro-0.1.0/rumoro/models/update_keyword_body_matching_required_mode.py +9 -0
- rumoro-0.1.0/rumoro/models/update_keyword_body_platforms_type_0_item.py +19 -0
- rumoro-0.1.0/rumoro/models/update_keyword_body_review_sources_item.py +118 -0
- rumoro-0.1.0/rumoro/models/update_keyword_body_review_sources_item_platform.py +11 -0
- rumoro-0.1.0/rumoro/models/update_mention_body.py +169 -0
- rumoro-0.1.0/rumoro/models/update_mention_body_sentiment.py +10 -0
- rumoro-0.1.0/rumoro/models/update_mention_body_status.py +10 -0
- rumoro-0.1.0/rumoro/models/update_person_body.py +120 -0
- rumoro-0.1.0/rumoro/models/update_person_body_stage.py +13 -0
- rumoro-0.1.0/rumoro/models/update_segment_body.py +95 -0
- rumoro-0.1.0/rumoro/models/update_segment_body_filter.py +321 -0
- rumoro-0.1.0/rumoro/models/update_segment_body_filter_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/update_segment_body_filter_never_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/update_segment_body_filter_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/update_segment_body_filter_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/update_segment_body_filter_stages_item.py +13 -0
- rumoro-0.1.0/rumoro/models/update_view_body.py +94 -0
- rumoro-0.1.0/rumoro/models/update_view_body_filter.py +527 -0
- rumoro-0.1.0/rumoro/models/update_view_body_filter_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/update_view_body_filter_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/update_view_body_filter_not_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/update_view_body_filter_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/update_view_body_filter_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/update_view_body_filter_status.py +10 -0
- rumoro-0.1.0/rumoro/models/usage_breakdown.py +129 -0
- rumoro-0.1.0/rumoro/models/usage_breakdown_by.py +11 -0
- rumoro-0.1.0/rumoro/models/usage_breakdown_currency.py +8 -0
- rumoro-0.1.0/rumoro/models/usage_breakdown_data_item.py +201 -0
- rumoro-0.1.0/rumoro/models/usage_breakdown_data_item_group_type_0.py +78 -0
- rumoro-0.1.0/rumoro/models/usage_breakdown_data_item_keyword_type_0.py +79 -0
- rumoro-0.1.0/rumoro/models/usage_breakdown_totals.py +132 -0
- rumoro-0.1.0/rumoro/models/usage_breakdown_window.py +93 -0
- rumoro-0.1.0/rumoro/models/usage_summary.py +131 -0
- rumoro-0.1.0/rumoro/models/usage_summary_balance.py +88 -0
- rumoro-0.1.0/rumoro/models/usage_summary_balance_currency.py +8 -0
- rumoro-0.1.0/rumoro/models/usage_summary_burn.py +76 -0
- rumoro-0.1.0/rumoro/models/usage_summary_keywords.py +96 -0
- rumoro-0.1.0/rumoro/models/usage_summary_mentions.py +70 -0
- rumoro-0.1.0/rumoro/models/view.py +107 -0
- rumoro-0.1.0/rumoro/models/view_filter.py +510 -0
- rumoro-0.1.0/rumoro/models/view_filter_keyword_kinds_item.py +10 -0
- rumoro-0.1.0/rumoro/models/view_filter_not_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/view_filter_not_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/view_filter_platforms_item.py +23 -0
- rumoro-0.1.0/rumoro/models/view_filter_sentiments_item.py +10 -0
- rumoro-0.1.0/rumoro/models/view_filter_status.py +10 -0
- rumoro-0.1.0/rumoro/models/wallet.py +253 -0
- rumoro-0.1.0/rumoro/models/wallet_auto_recharge.py +113 -0
- rumoro-0.1.0/rumoro/models/wallet_currency.py +8 -0
- rumoro-0.1.0/rumoro/models/wallet_signup_credit_type_0.py +70 -0
- rumoro-0.1.0/rumoro/models/webhook_channel.py +113 -0
- rumoro-0.1.0/rumoro/models/webhook_channel_config.py +109 -0
- rumoro-0.1.0/rumoro/models/webhook_channel_config_events_item.py +17 -0
- rumoro-0.1.0/rumoro/models/webhook_channel_config_headers.py +47 -0
- rumoro-0.1.0/rumoro/models/webhook_channel_kind.py +8 -0
- rumoro-0.1.0/rumoro/models/webhook_channel_stats.py +100 -0
- rumoro-0.1.0/rumoro/models/webhook_channel_stats_last_7d.py +70 -0
- rumoro-0.1.0/rumoro/models/whoami.py +107 -0
- rumoro-0.1.0/rumoro/models/whoami_auth.py +103 -0
- rumoro-0.1.0/rumoro/models/whoami_auth_kind.py +10 -0
- rumoro-0.1.0/rumoro/models/whoami_auth_scope.py +9 -0
- rumoro-0.1.0/rumoro/models/whoami_user_type_0.py +84 -0
- rumoro-0.1.0/rumoro/models/whoami_workspace.py +70 -0
- rumoro-0.1.0/rumoro/models/workspace_filters.py +111 -0
- rumoro-0.1.0/rumoro/models/workspace_filters_subreddits.py +71 -0
- rumoro-0.1.0/rumoro/types.py +54 -0
rumoro-0.1.0/.gitignore
ADDED
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
|
+
)
|