universal-mcp-applications 0.1.20__py3-none-any.whl → 0.1.22__py3-none-any.whl

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.

Potentially problematic release.


This version of universal-mcp-applications might be problematic. Click here for more details.

Files changed (78) hide show
  1. universal_mcp/applications/BEST_PRACTICES.md +166 -0
  2. universal_mcp/applications/airtable/app.py +0 -1
  3. universal_mcp/applications/apollo/app.py +0 -1
  4. universal_mcp/applications/aws_s3/app.py +40 -39
  5. universal_mcp/applications/browser_use/README.md +1 -0
  6. universal_mcp/applications/browser_use/__init__.py +0 -0
  7. universal_mcp/applications/browser_use/app.py +76 -0
  8. universal_mcp/applications/calendly/app.py +125 -125
  9. universal_mcp/applications/canva/app.py +95 -99
  10. universal_mcp/applications/confluence/app.py +0 -1
  11. universal_mcp/applications/contentful/app.py +4 -5
  12. universal_mcp/applications/domain_checker/app.py +11 -15
  13. universal_mcp/applications/e2b/app.py +4 -4
  14. universal_mcp/applications/elevenlabs/app.py +18 -15
  15. universal_mcp/applications/exa/app.py +17 -17
  16. universal_mcp/applications/falai/app.py +28 -29
  17. universal_mcp/applications/file_system/app.py +9 -9
  18. universal_mcp/applications/firecrawl/app.py +36 -36
  19. universal_mcp/applications/fireflies/app.py +55 -56
  20. universal_mcp/applications/fpl/app.py +49 -50
  21. universal_mcp/applications/ghost_content/app.py +0 -1
  22. universal_mcp/applications/github/app.py +41 -43
  23. universal_mcp/applications/google_calendar/app.py +40 -39
  24. universal_mcp/applications/google_docs/app.py +56 -56
  25. universal_mcp/applications/google_drive/app.py +212 -215
  26. universal_mcp/applications/google_gemini/app.py +1 -5
  27. universal_mcp/applications/google_mail/app.py +91 -90
  28. universal_mcp/applications/google_searchconsole/app.py +29 -29
  29. universal_mcp/applications/google_sheet/app.py +115 -115
  30. universal_mcp/applications/hashnode/README.md +6 -3
  31. universal_mcp/applications/hashnode/app.py +174 -25
  32. universal_mcp/applications/http_tools/app.py +10 -11
  33. universal_mcp/applications/hubspot/__init__.py +1 -1
  34. universal_mcp/applications/hubspot/api_segments/api_segment_base.py +36 -7
  35. universal_mcp/applications/hubspot/api_segments/crm_api.py +368 -368
  36. universal_mcp/applications/hubspot/api_segments/marketing_api.py +115 -115
  37. universal_mcp/applications/hubspot/app.py +131 -72
  38. universal_mcp/applications/jira/app.py +0 -1
  39. universal_mcp/applications/linkedin/app.py +20 -20
  40. universal_mcp/applications/markitdown/app.py +10 -5
  41. universal_mcp/applications/ms_teams/app.py +123 -123
  42. universal_mcp/applications/openai/app.py +40 -39
  43. universal_mcp/applications/outlook/app.py +32 -32
  44. universal_mcp/applications/perplexity/app.py +4 -4
  45. universal_mcp/applications/reddit/app.py +69 -70
  46. universal_mcp/applications/resend/app.py +116 -117
  47. universal_mcp/applications/rocketlane/app.py +0 -1
  48. universal_mcp/applications/scraper/__init__.py +1 -1
  49. universal_mcp/applications/scraper/app.py +234 -16
  50. universal_mcp/applications/serpapi/app.py +14 -14
  51. universal_mcp/applications/sharepoint/app.py +19 -20
  52. universal_mcp/applications/shopify/app.py +0 -1
  53. universal_mcp/applications/slack/app.py +48 -48
  54. universal_mcp/applications/tavily/app.py +4 -4
  55. universal_mcp/applications/twitter/api_segments/compliance_api.py +13 -15
  56. universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +20 -20
  57. universal_mcp/applications/twitter/api_segments/dm_events_api.py +12 -12
  58. universal_mcp/applications/twitter/api_segments/likes_api.py +12 -12
  59. universal_mcp/applications/twitter/api_segments/lists_api.py +37 -39
  60. universal_mcp/applications/twitter/api_segments/spaces_api.py +24 -24
  61. universal_mcp/applications/twitter/api_segments/trends_api.py +4 -4
  62. universal_mcp/applications/twitter/api_segments/tweets_api.py +105 -105
  63. universal_mcp/applications/twitter/api_segments/usage_api.py +4 -4
  64. universal_mcp/applications/twitter/api_segments/users_api.py +136 -136
  65. universal_mcp/applications/twitter/app.py +6 -2
  66. universal_mcp/applications/unipile/app.py +321 -71
  67. universal_mcp/applications/whatsapp/app.py +53 -54
  68. universal_mcp/applications/whatsapp/audio.py +39 -35
  69. universal_mcp/applications/whatsapp/whatsapp.py +176 -154
  70. universal_mcp/applications/whatsapp_business/app.py +92 -92
  71. universal_mcp/applications/yahoo_finance/app.py +105 -63
  72. universal_mcp/applications/youtube/app.py +206 -199
  73. universal_mcp/applications/zenquotes/__init__.py +2 -0
  74. universal_mcp/applications/zenquotes/app.py +3 -3
  75. {universal_mcp_applications-0.1.20.dist-info → universal_mcp_applications-0.1.22.dist-info}/METADATA +2 -1
  76. {universal_mcp_applications-0.1.20.dist-info → universal_mcp_applications-0.1.22.dist-info}/RECORD +78 -74
  77. {universal_mcp_applications-0.1.20.dist-info → universal_mcp_applications-0.1.22.dist-info}/WHEEL +0 -0
  78. {universal_mcp_applications-0.1.20.dist-info → universal_mcp_applications-0.1.22.dist-info}/licenses/LICENSE +0 -0
@@ -2,7 +2,6 @@ from typing import Any
2
2
 
3
3
  import httpx
4
4
  from loguru import logger
5
-
6
5
  from universal_mcp.applications.application import APIApplication
7
6
  from universal_mcp.exceptions import NotAuthorizedError
8
7
  from universal_mcp.integrations import Integration
@@ -50,19 +49,19 @@ class RedditApp(APIApplication):
50
49
  ) -> dict[str, Any]:
51
50
  """
52
51
  Fetches a specified number of top-rated posts from a particular subreddit, allowing results to be filtered by a specific timeframe (e.g., 'day', 'week'). This is a simplified version compared to `get_subreddit_top_posts`, which uses more complex pagination parameters instead of a direct time filter.
53
-
52
+
54
53
  Args:
55
54
  subreddit: The name of the subreddit (e.g., 'python', 'worldnews') without the 'r/' prefix
56
55
  limit: The maximum number of posts to return (default: 5, max: 100)
57
56
  timeframe: The time period for top posts. Valid options: 'hour', 'day', 'week', 'month', 'year', 'all' (default: 'day')
58
-
57
+
59
58
  Returns:
60
59
  A formatted string containing a numbered list of top posts, including titles, authors, scores, and URLs, or an error message if the request fails
61
-
60
+
62
61
  Raises:
63
62
  RequestException: When the HTTP request to the Reddit API fails
64
63
  JSONDecodeError: When the API response contains invalid JSON
65
-
64
+
66
65
  Tags:
67
66
  fetch, reddit, api, list, social-media, important, read-only
68
67
  """
@@ -86,19 +85,19 @@ class RedditApp(APIApplication):
86
85
  ) -> str:
87
86
  """
88
87
  Searches for subreddits by name and description using a query string, with results sortable by relevance or activity. Unlike the broader `search_reddit` function, this method exclusively discovers subreddits, not posts, comments, or users.
89
-
88
+
90
89
  Args:
91
90
  query: The text to search for in subreddit names and descriptions
92
91
  limit: The maximum number of subreddits to return, between 1 and 100 (default: 5)
93
92
  sort: The order of results, either 'relevance' or 'activity' (default: 'relevance')
94
-
93
+
95
94
  Returns:
96
95
  A formatted string containing a list of matching subreddits with their names, subscriber counts, and descriptions, or an error message if the search fails or parameters are invalid
97
-
96
+
98
97
  Raises:
99
98
  RequestException: When the HTTP request to Reddit's API fails
100
99
  JSONDecodeError: When the API response contains invalid JSON
101
-
100
+
102
101
  Tags:
103
102
  search, important, reddit, api, query, format, list, validation
104
103
  """
@@ -124,17 +123,17 @@ class RedditApp(APIApplication):
124
123
  def get_post_flairs(self, subreddit: str):
125
124
  """
126
125
  Fetches a list of available post flairs (tags) for a specified subreddit. This is primarily used to discover the correct `flair_id` needed to categorize a new submission when using the `create_post` function. It returns flair details or a message if none are available.
127
-
126
+
128
127
  Args:
129
128
  subreddit: The name of the subreddit (e.g., 'python', 'worldnews') without the 'r/' prefix
130
-
129
+
131
130
  Returns:
132
131
  A list of dictionaries containing flair details if flairs exist, or a string message indicating no flairs are available
133
-
132
+
134
133
  Raises:
135
134
  RequestException: When the API request fails or network connectivity issues occur
136
135
  JSONDecodeError: When the API response contains invalid JSON data
137
-
136
+
138
137
  Tags:
139
138
  fetch, get, reddit, flair, api, read-only
140
139
  """
@@ -157,7 +156,7 @@ class RedditApp(APIApplication):
157
156
  ):
158
157
  """
159
158
  Creates a new Reddit post in a specified subreddit. It supports text ('self') or link posts, requiring a title and corresponding content (text or URL). An optional flair can be assigned. Returns the API response or a formatted error message on failure.
160
-
159
+
161
160
  Args:
162
161
  subreddit: The name of the subreddit (e.g., 'python', 'worldnews') without the 'r/'
163
162
  title: The title of the post
@@ -165,13 +164,13 @@ class RedditApp(APIApplication):
165
164
  text: The text content of the post; required if kind is 'self'
166
165
  url: The URL of the link or image; required if kind is 'link'. Must end with valid image extension for image posts
167
166
  flair_id: The ID of the flair to assign to the post
168
-
167
+
169
168
  Returns:
170
169
  The JSON response from the Reddit API, or an error message as a string if the API returns an error
171
-
170
+
172
171
  Raises:
173
172
  ValueError: Raised when kind is invalid or when required parameters (text for self posts, url for link posts) are missing
174
-
173
+
175
174
  Tags:
176
175
  create, post, social-media, reddit, api, important
177
176
  """
@@ -210,17 +209,17 @@ class RedditApp(APIApplication):
210
209
  def get_comment_by_id(self, comment_id: str) -> dict:
211
210
  """
212
211
  Retrieves a single Reddit comment's data, such as author and score, using its unique 't1_' prefixed ID. Unlike `get_post_comments_details` which fetches all comments for a post, this function targets one specific comment directly, returning an error dictionary if it is not found.
213
-
212
+
214
213
  Args:
215
214
  comment_id: The full unique identifier of the comment (prefixed with 't1_', e.g., 't1_abcdef')
216
-
215
+
217
216
  Returns:
218
217
  A dictionary containing the comment data including attributes like author, body, score, etc. If the comment is not found, returns a dictionary with an error message.
219
-
218
+
220
219
  Raises:
221
220
  HTTPError: When the Reddit API request fails due to network issues or invalid authentication
222
221
  JSONDecodeError: When the API response cannot be parsed as valid JSON
223
-
222
+
224
223
  Tags:
225
224
  retrieve, get, reddit, comment, api, fetch, single-item, important
226
225
  """
@@ -236,18 +235,18 @@ class RedditApp(APIApplication):
236
235
  def post_comment(self, parent_id: str, text: str) -> dict:
237
236
  """
238
237
  Posts a new comment as a reply to a specified Reddit post or another comment. Using the parent's full ID and the desired text, it submits the comment via the API and returns the response containing the new comment's details.
239
-
238
+
240
239
  Args:
241
240
  parent_id: The full ID of the parent comment or post (e.g., 't3_abc123' for a post, 't1_def456' for a comment)
242
241
  text: The text content of the comment to be posted
243
-
242
+
244
243
  Returns:
245
244
  A dictionary containing the Reddit API response with details about the posted comment
246
-
245
+
247
246
  Raises:
248
247
  RequestException: If the API request fails or returns an error status code
249
248
  JSONDecodeError: If the API response cannot be parsed as JSON
250
-
249
+
251
250
  Tags:
252
251
  post, comment, social, reddit, api, important
253
252
  """
@@ -263,18 +262,18 @@ class RedditApp(APIApplication):
263
262
  def edit_content(self, content_id: str, text: str) -> dict:
264
263
  """
265
264
  Modifies the text of a specific Reddit post or comment via its unique ID. Unlike creation or deletion functions, this method specifically handles updates to existing user-generated content, submitting the new text to the API and returning a JSON response detailing the edited item.
266
-
265
+
267
266
  Args:
268
267
  content_id: The full ID of the content to edit (e.g., 't3_abc123' for a post, 't1_def456' for a comment)
269
268
  text: The new text content to replace the existing content
270
-
269
+
271
270
  Returns:
272
271
  A dictionary containing the API response with details about the edited content
273
-
272
+
274
273
  Raises:
275
274
  RequestException: When the API request fails or network connectivity issues occur
276
275
  ValueError: When invalid content_id format or empty text is provided
277
-
276
+
278
277
  Tags:
279
278
  edit, update, content, reddit, api, important
280
279
  """
@@ -290,17 +289,17 @@ class RedditApp(APIApplication):
290
289
  def delete_content(self, content_id: str) -> dict:
291
290
  """
292
291
  Deletes a specified Reddit post or comment using its full identifier (`content_id`). It sends a POST request to the `/api/del` endpoint for permanent removal, unlike `edit_content` which only modifies. On success, it returns a confirmation message.
293
-
292
+
294
293
  Args:
295
294
  content_id: The full ID of the content to delete (e.g., 't3_abc123' for a post, 't1_def456' for a comment)
296
-
295
+
297
296
  Returns:
298
297
  A dictionary containing a success message with the deleted content ID
299
-
298
+
300
299
  Raises:
301
300
  HTTPError: When the API request fails or returns an error status code
302
301
  RequestException: When there are network connectivity issues or API communication problems
303
-
302
+
304
303
  Tags:
305
304
  delete, content-management, api, reddit, important
306
305
  """
@@ -316,10 +315,10 @@ class RedditApp(APIApplication):
316
315
  def get_current_user_info(self) -> Any:
317
316
  """
318
317
  Retrieves the full profile information for the currently authenticated user by making a GET request to the `/api/v1/me` Reddit API endpoint. This differs from `get_user_profile`, which requires a username, and `get_current_user_karma`, which specifically fetches karma data.
319
-
318
+
320
319
  Returns:
321
320
  Any: API response data.
322
-
321
+
323
322
  Tags:
324
323
  users
325
324
  """
@@ -332,10 +331,10 @@ class RedditApp(APIApplication):
332
331
  def get_current_user_karma(self) -> Any:
333
332
  """
334
333
  Fetches the karma breakdown for the authenticated user from the Reddit API. This function specifically targets the `/api/v1/me/karma` endpoint, returning karma statistics per subreddit, which is more specific than `get_current_user_info` that retrieves general profile information.
335
-
334
+
336
335
  Returns:
337
336
  Any: API response data.
338
-
337
+
339
338
  Tags:
340
339
  account
341
340
  """
@@ -348,13 +347,13 @@ class RedditApp(APIApplication):
348
347
  def get_post_comments_details(self, post_id: str) -> Any:
349
348
  """
350
349
  Fetches a specific Reddit post's details and its complete comment tree using the post's unique ID. This function returns the entire discussion, including the original post and all associated comments, providing broader context than `get_comment_by_id` which only retrieves a single comment.
351
-
350
+
352
351
  Args:
353
352
  post_id (string): The Reddit post ID ( e.g. '1m734tx' for https://www.reddit.com/r/mcp/comments/1m734tx/comment/n4occ77/)
354
-
353
+
355
354
  Returns:
356
355
  Any: API response data containing post details and comments.
357
-
356
+
358
357
  Tags:
359
358
  listings, comments, posts, important
360
359
  """
@@ -375,7 +374,7 @@ class RedditApp(APIApplication):
375
374
  ) -> Any:
376
375
  """
377
376
  Fetches a global list of the most controversial posts from across all of Reddit, distinct from subreddit-specific queries. Optional parameters allow for pagination and customization of the results, returning the direct API response data with the post listings.
378
-
377
+
379
378
  Args:
380
379
  after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
381
380
  before: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results before.
@@ -383,10 +382,10 @@ class RedditApp(APIApplication):
383
382
  limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
384
383
  show: Optional. The string "all" to show all posts.
385
384
  sr_detail: Optional. Expand subreddit details.
386
-
385
+
387
386
  Returns:
388
387
  Any: API response data containing a list of controversial posts.
389
-
388
+
390
389
  Tags:
391
390
  listings, posts, controversial, read-only
392
391
  """
@@ -419,7 +418,7 @@ class RedditApp(APIApplication):
419
418
  ) -> Any:
420
419
  """
421
420
  Retrieves trending 'hot' posts from the global Reddit feed. Unlike `get_subreddit_hot_posts`, this operates across all of Reddit, not a specific subreddit. It supports pagination and optional filtering by geographical region to customize the listing of returned posts.
422
-
421
+
423
422
  Args:
424
423
  g: Optional. A geographical region to filter posts by (e.g., 'GLOBAL', 'US', 'GB').
425
424
  after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
@@ -428,10 +427,10 @@ class RedditApp(APIApplication):
428
427
  limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
429
428
  show: Optional. The string "all" to show all posts.
430
429
  sr_detail: Optional. Expand subreddit details.
431
-
430
+
432
431
  Returns:
433
432
  Any: API response data containing a list of hot posts.
434
-
433
+
435
434
  Tags:
436
435
  listings, posts, hot, read-only
437
436
  """
@@ -464,7 +463,7 @@ class RedditApp(APIApplication):
464
463
  ) -> Any:
465
464
  """
466
465
  Fetches a list of the newest posts from across all of Reddit, not limited to a specific subreddit. This function supports optional pagination and filtering parameters to customize the API response, differentiating it from `get_subreddit_new_posts` which targets a single subreddit.
467
-
466
+
468
467
  Args:
469
468
  after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
470
469
  before: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results before.
@@ -472,10 +471,10 @@ class RedditApp(APIApplication):
472
471
  limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
473
472
  show: Optional. The string "all" to show all posts.
474
473
  sr_detail: Optional. Expand subreddit details.
475
-
474
+
476
475
  Returns:
477
476
  Any: API response data containing a list of new posts.
478
-
477
+
479
478
  Tags:
480
479
  listings, posts, new, read-only
481
480
  """
@@ -509,7 +508,7 @@ class RedditApp(APIApplication):
509
508
  ) -> Any:
510
509
  """
511
510
  Retrieves a list of 'hot' posts from a specified subreddit, supporting pagination and geographical filtering. Unlike `get_hot_posts`, which queries all of Reddit, this function targets a single subreddit to fetch its currently trending content, distinct from top or new posts.
512
-
511
+
513
512
  Args:
514
513
  subreddit: The name of the subreddit (e.g., 'python', 'worldnews') without the 'r/' prefix.
515
514
  g: Optional. A geographical region to filter posts by (e.g., 'GLOBAL', 'US', 'GB').
@@ -519,10 +518,10 @@ class RedditApp(APIApplication):
519
518
  limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
520
519
  show: Optional. The string "all" to show all posts.
521
520
  sr_detail: Optional. Expand subreddit details.
522
-
521
+
523
522
  Returns:
524
523
  Any: API response data containing a list of hot posts from the subreddit.
525
-
524
+
526
525
  Tags:
527
526
  listings, posts, subreddit, hot, read-only
528
527
  """
@@ -558,7 +557,7 @@ class RedditApp(APIApplication):
558
557
  ) -> Any:
559
558
  """
560
559
  Retrieves a list of the newest posts from a specified subreddit, sorted chronologically. Unlike `get_new_posts` which targets all of Reddit, this function is subreddit-specific and supports standard pagination parameters like `limit` and `after` to navigate through the listing of recent submissions.
561
-
560
+
562
561
  Args:
563
562
  subreddit: The name of the subreddit (e.g., 'python', 'worldnews') without the 'r/' prefix.
564
563
  after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
@@ -567,10 +566,10 @@ class RedditApp(APIApplication):
567
566
  limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
568
567
  show: Optional. The string "all" to show all posts.
569
568
  sr_detail: Optional. Expand subreddit details.
570
-
569
+
571
570
  Returns:
572
571
  Any: API response data containing a list of new posts from the subreddit.
573
-
572
+
574
573
  Tags:
575
574
  listings, posts, subreddit, new, read-only
576
575
  """
@@ -605,7 +604,7 @@ class RedditApp(APIApplication):
605
604
  ) -> Any:
606
605
  """
607
606
  Fetches top-rated posts from a specific subreddit using standard API pagination parameters. Unlike the simpler `get_subreddit_posts` which filters by timeframe, this function offers more direct control over retrieving listings, distinguishing it from the site-wide `get_top_posts` which queries all of Reddit.
608
-
607
+
609
608
  Args:
610
609
  subreddit: The name of the subreddit (e.g., 'python', 'worldnews') without the 'r/' prefix.
611
610
  after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
@@ -614,10 +613,10 @@ class RedditApp(APIApplication):
614
613
  limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
615
614
  show: Optional. The string "all" to show all posts.
616
615
  sr_detail: Optional. Expand subreddit details.
617
-
616
+
618
617
  Returns:
619
618
  Any: API response data containing a list of top posts from the subreddit.
620
-
619
+
621
620
  Tags:
622
621
  listings, posts, subreddit, top, read-only
623
622
  """
@@ -651,7 +650,7 @@ class RedditApp(APIApplication):
651
650
  ) -> Any:
652
651
  """
653
652
  Retrieves a list of rising posts from across all of Reddit. Unlike subreddit-specific listing functions (e.g., `get_subreddit_hot_posts`), this operates globally. It supports optional pagination and filtering parameters, such as `limit` and `after`, to customize the API response and navigate through results.
654
-
653
+
655
654
  Args:
656
655
  after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
657
656
  before: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results before.
@@ -659,10 +658,10 @@ class RedditApp(APIApplication):
659
658
  limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
660
659
  show: Optional. The string "all" to show all posts.
661
660
  sr_detail: Optional. Expand subreddit details.
662
-
661
+
663
662
  Returns:
664
663
  Any: API response data containing a list of rising posts.
665
-
664
+
666
665
  Tags:
667
666
  listings, posts, rising, read-only
668
667
  """
@@ -694,7 +693,7 @@ class RedditApp(APIApplication):
694
693
  ) -> Any:
695
694
  """
696
695
  Fetches top-rated posts from across all of Reddit, distinct from `get_subreddit_top_posts`, which operates on a specific subreddit. The function supports standard API pagination parameters like `limit`, `after`, and `before` to navigate results, providing a broad, site-wide view of top content.
697
-
696
+
698
697
  Args:
699
698
  after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
700
699
  before: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results before.
@@ -702,10 +701,10 @@ class RedditApp(APIApplication):
702
701
  limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
703
702
  show: Optional. The string "all" to show all posts.
704
703
  sr_detail: Optional. Expand subreddit details.
705
-
704
+
706
705
  Returns:
707
706
  Any: API response data containing a list of top posts.
708
-
707
+
709
708
  Tags:
710
709
  listings, posts, top, read-only
711
710
  """
@@ -744,7 +743,7 @@ class RedditApp(APIApplication):
744
743
  ) -> Any:
745
744
  """
746
745
  Executes a broad, keyword-based search across Reddit for various content types like posts, comments, or users. This general-purpose function offers extensive filtering options, distinguishing it from the more specialized `search_subreddits` which only finds communities.
747
-
746
+
748
747
  Args:
749
748
  after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
750
749
  before: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results before.
@@ -759,10 +758,10 @@ class RedditApp(APIApplication):
759
758
  sr_detail: Optional. Expand subreddit details.
760
759
  t: Optional. One of ('hour', 'day', 'week', 'month', 'year', 'all') to filter by time.
761
760
  type: Optional. A comma-separated list of result types ('sr', 'link', 'user').
762
-
761
+
763
762
  Returns:
764
763
  Any: API response data containing search results.
765
-
764
+
766
765
  Tags:
767
766
  search, reddit, posts, comments, users, read-only
768
767
  """
@@ -793,13 +792,13 @@ class RedditApp(APIApplication):
793
792
  def get_user_profile(self, username: str) -> Any:
794
793
  """
795
794
  Retrieves public profile information for a specified Reddit user via the `/user/{username}/about` endpoint. Unlike `get_current_user_info`, which targets the authenticated user, this function fetches data like karma and account age for any user identified by their username.
796
-
795
+
797
796
  Args:
798
797
  username: The username of the user to look up.
799
-
798
+
800
799
  Returns:
801
800
  A dictionary containing the user's profile data.
802
-
801
+
803
802
  Tags:
804
803
  users, profile, fetch
805
804
  """