twitter-openapi-python-generated 0.0.34__py3-none-any.whl → 0.1.0__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.
Files changed (296) hide show
  1. twitter_openapi_python_generated/__init__.py +279 -7
  2. twitter_openapi_python_generated/api/post_api.py +2079 -203
  3. twitter_openapi_python_generated/api/tweet_api.py +3207 -231
  4. twitter_openapi_python_generated/api/user_api.py +969 -66
  5. twitter_openapi_python_generated/api/user_list_api.py +1907 -0
  6. twitter_openapi_python_generated/api_client.py +47 -9
  7. twitter_openapi_python_generated/configuration.py +55 -6
  8. twitter_openapi_python_generated/models/__init__.py +139 -3
  9. twitter_openapi_python_generated/models/ad_metadata_container.py +104 -0
  10. twitter_openapi_python_generated/models/additional_media_info.py +3 -1
  11. twitter_openapi_python_generated/models/affiliates_highlighted_label.py +93 -0
  12. twitter_openapi_python_generated/models/api_image.py +108 -0
  13. twitter_openapi_python_generated/models/api_media.py +110 -0
  14. twitter_openapi_python_generated/models/article_cover_media.py +2 -5
  15. twitter_openapi_python_generated/models/article_cover_media_info.py +3 -3
  16. twitter_openapi_python_generated/models/article_result.py +3 -7
  17. twitter_openapi_python_generated/models/badge_counts.py +97 -0
  18. twitter_openapi_python_generated/models/birdwatch_entity_ref.py +3 -1
  19. twitter_openapi_python_generated/models/birdwatch_pivot.py +2 -2
  20. twitter_openapi_python_generated/models/birdwatch_pivot_footer.py +1 -2
  21. twitter_openapi_python_generated/models/birdwatch_pivot_note.py +2 -5
  22. twitter_openapi_python_generated/models/birdwatch_pivot_subtitle.py +1 -2
  23. twitter_openapi_python_generated/models/bookmarks_response.py +1 -2
  24. twitter_openapi_python_generated/models/cashtag_attachment.py +89 -0
  25. twitter_openapi_python_generated/models/cashtag_info.py +93 -0
  26. twitter_openapi_python_generated/models/click_tracking_info.py +96 -0
  27. twitter_openapi_python_generated/models/client_event_info.py +6 -2
  28. twitter_openapi_python_generated/models/client_event_info_details.py +99 -0
  29. twitter_openapi_python_generated/models/community.py +21 -15
  30. twitter_openapi_python_generated/models/community_about_timeline_response.py +1 -2
  31. twitter_openapi_python_generated/models/community_banner_media.py +95 -0
  32. twitter_openapi_python_generated/models/community_banner_media_info.py +108 -0
  33. twitter_openapi_python_generated/models/community_discovery_timeline_response.py +102 -0
  34. twitter_openapi_python_generated/models/community_discovery_timeline_response_data.py +93 -0
  35. twitter_openapi_python_generated/models/community_discovery_timeline_viewer.py +93 -0
  36. twitter_openapi_python_generated/models/community_join_action_result_union.py +3 -2
  37. twitter_openapi_python_generated/models/community_media_timeline_response.py +1 -2
  38. twitter_openapi_python_generated/models/community_moderation_state.py +90 -0
  39. twitter_openapi_python_generated/models/community_relationship.py +8 -7
  40. twitter_openapi_python_generated/models/community_rule.py +2 -5
  41. twitter_openapi_python_generated/models/community_tweets_timeline_response.py +1 -2
  42. twitter_openapi_python_generated/models/community_union.py +3 -2
  43. twitter_openapi_python_generated/models/community_viewer_relationship.py +95 -0
  44. twitter_openapi_python_generated/models/connect_tab_timeline_response.py +102 -0
  45. twitter_openapi_python_generated/models/connect_tab_timeline_response_data.py +93 -0
  46. twitter_openapi_python_generated/models/content_disclosure_ai_generated_disclosure.py +2 -2
  47. twitter_openapi_python_generated/models/content_item_type.py +3 -0
  48. twitter_openapi_python_generated/models/content_union.py +3 -2
  49. twitter_openapi_python_generated/models/conversation_control.py +10 -11
  50. twitter_openapi_python_generated/models/conversation_details.py +96 -0
  51. twitter_openapi_python_generated/models/conversation_metadata.py +92 -0
  52. twitter_openapi_python_generated/models/conversation_owner.py +96 -0
  53. twitter_openapi_python_generated/models/conversation_owner_core.py +89 -0
  54. twitter_openapi_python_generated/models/conversation_owner_results.py +93 -0
  55. twitter_openapi_python_generated/models/cover_cta.py +1 -2
  56. twitter_openapi_python_generated/models/create_bookmark_response.py +1 -2
  57. twitter_openapi_python_generated/models/create_draft_tweet_response.py +102 -0
  58. twitter_openapi_python_generated/models/create_draft_tweet_response_data.py +93 -0
  59. twitter_openapi_python_generated/models/create_draft_tweet_response_tweet.py +97 -0
  60. twitter_openapi_python_generated/models/create_retweet_response.py +1 -2
  61. twitter_openapi_python_generated/models/create_tweet_response.py +1 -2
  62. twitter_openapi_python_generated/models/cta_limited_action_prompt.py +110 -0
  63. twitter_openapi_python_generated/models/cta_limited_action_prompt_text.py +91 -0
  64. twitter_openapi_python_generated/models/deepsearch_header.py +96 -0
  65. twitter_openapi_python_generated/models/deepsearch_step.py +99 -0
  66. twitter_openapi_python_generated/models/deepsearch_web_result.py +89 -0
  67. twitter_openapi_python_generated/models/delete_bookmark_response.py +1 -2
  68. twitter_openapi_python_generated/models/delete_draft_tweets_response.py +102 -0
  69. twitter_openapi_python_generated/models/delete_draft_tweets_response_data.py +89 -0
  70. twitter_openapi_python_generated/models/delete_list_response.py +102 -0
  71. twitter_openapi_python_generated/models/delete_list_response_data.py +89 -0
  72. twitter_openapi_python_generated/models/delete_retweet.py +1 -2
  73. twitter_openapi_python_generated/models/delete_retweet_response.py +1 -2
  74. twitter_openapi_python_generated/models/delete_tweet_response.py +1 -2
  75. twitter_openapi_python_generated/models/draft_list.py +96 -0
  76. twitter_openapi_python_generated/models/draft_tweet.py +109 -0
  77. twitter_openapi_python_generated/models/draft_tweet_create_request.py +99 -0
  78. twitter_openapi_python_generated/models/draft_tweet_user.py +100 -0
  79. twitter_openapi_python_generated/models/draft_tweet_user_results.py +93 -0
  80. twitter_openapi_python_generated/models/draft_tweets_viewer.py +93 -0
  81. twitter_openapi_python_generated/models/entities.py +34 -15
  82. twitter_openapi_python_generated/models/error_extensions.py +1 -1
  83. twitter_openapi_python_generated/models/error_response.py +3 -5
  84. twitter_openapi_python_generated/models/explore_page.py +95 -0
  85. twitter_openapi_python_generated/models/explore_page_body.py +104 -0
  86. twitter_openapi_python_generated/models/explore_page_response.py +102 -0
  87. twitter_openapi_python_generated/models/explore_page_response_data.py +93 -0
  88. twitter_openapi_python_generated/models/explore_timeline.py +105 -0
  89. twitter_openapi_python_generated/models/explore_timeline_scribe_config.py +91 -0
  90. twitter_openapi_python_generated/models/extended_entities.py +1 -2
  91. twitter_openapi_python_generated/models/favorite_tweet_response.py +1 -2
  92. twitter_openapi_python_generated/models/feedback_action.py +136 -0
  93. twitter_openapi_python_generated/models/feedback_action_entry.py +95 -0
  94. twitter_openapi_python_generated/models/feedback_client_event_info.py +93 -0
  95. twitter_openapi_python_generated/models/feedback_info.py +8 -6
  96. twitter_openapi_python_generated/models/fetch_draft_tweets_response.py +102 -0
  97. twitter_openapi_python_generated/models/fetch_draft_tweets_response_data.py +93 -0
  98. twitter_openapi_python_generated/models/fetch_scheduled_tweets_response.py +102 -0
  99. twitter_openapi_python_generated/models/fetch_scheduled_tweets_response_data.py +93 -0
  100. twitter_openapi_python_generated/models/follow_response.py +1 -2
  101. twitter_openapi_python_generated/models/generic_timeline_by_id_response.py +102 -0
  102. twitter_openapi_python_generated/models/generic_timeline_by_id_response_data.py +93 -0
  103. twitter_openapi_python_generated/models/grok_share_attachment.py +1 -2
  104. twitter_openapi_python_generated/models/grok_share_attachment_item.py +9 -2
  105. twitter_openapi_python_generated/models/grok_translated_bio.py +101 -0
  106. twitter_openapi_python_generated/models/grok_translated_bio_with_availability.py +97 -0
  107. twitter_openapi_python_generated/models/grok_translated_community_note.py +1 -2
  108. twitter_openapi_python_generated/models/hashtag.py +91 -0
  109. twitter_openapi_python_generated/models/highlight.py +1 -2
  110. twitter_openapi_python_generated/models/instruction_union.py +3 -2
  111. twitter_openapi_python_generated/models/item_content_union.py +68 -10
  112. twitter_openapi_python_generated/models/jetfuel_attachment.py +91 -0
  113. twitter_openapi_python_generated/models/key_value.py +91 -0
  114. twitter_openapi_python_generated/models/landing_url.py +98 -0
  115. twitter_openapi_python_generated/models/limited_action.py +95 -0
  116. twitter_openapi_python_generated/models/limited_action_results.py +96 -0
  117. twitter_openapi_python_generated/models/limited_action_results_data.py +1 -8
  118. twitter_openapi_python_generated/models/list_banner_media.py +93 -0
  119. twitter_openapi_python_generated/models/list_banner_media_info.py +99 -0
  120. twitter_openapi_python_generated/models/list_banner_media_results.py +93 -0
  121. twitter_openapi_python_generated/models/list_latest_tweets_timeline_response.py +1 -2
  122. twitter_openapi_python_generated/models/list_members_list.py +93 -0
  123. twitter_openapi_python_generated/models/list_members_response.py +102 -0
  124. twitter_openapi_python_generated/models/list_members_response_data.py +93 -0
  125. twitter_openapi_python_generated/models/list_recommended_users_list.py +93 -0
  126. twitter_openapi_python_generated/models/list_recommended_users_response.py +102 -0
  127. twitter_openapi_python_generated/models/list_recommended_users_response_data.py +93 -0
  128. twitter_openapi_python_generated/models/list_response.py +102 -0
  129. twitter_openapi_python_generated/models/list_response_data.py +93 -0
  130. twitter_openapi_python_generated/models/list_subscribers_list.py +93 -0
  131. twitter_openapi_python_generated/models/list_subscribers_response.py +102 -0
  132. twitter_openapi_python_generated/models/list_subscribers_response_data.py +93 -0
  133. twitter_openapi_python_generated/models/media.py +16 -17
  134. twitter_openapi_python_generated/models/{article_cover_media_color_info.py → media_color_info.py} +8 -9
  135. twitter_openapi_python_generated/models/{article_cover_media_color_info_palette.py → media_color_info_palette.py} +7 -7
  136. twitter_openapi_python_generated/models/{article_cover_media_color_info_palette_rgb.py → media_color_info_palette_rgb.py} +4 -4
  137. twitter_openapi_python_generated/models/media_extended.py +13 -16
  138. twitter_openapi_python_generated/models/media_original_info.py +1 -2
  139. twitter_openapi_python_generated/models/media_salient_rect.py +95 -0
  140. twitter_openapi_python_generated/models/media_video_info.py +1 -2
  141. twitter_openapi_python_generated/models/module_footer.py +104 -0
  142. twitter_openapi_python_generated/models/module_header.py +100 -0
  143. twitter_openapi_python_generated/models/module_item.py +2 -5
  144. twitter_openapi_python_generated/models/module_metadata.py +93 -0
  145. twitter_openapi_python_generated/models/note_tweet_result_data.py +2 -5
  146. twitter_openapi_python_generated/models/note_tweet_result_media.py +1 -2
  147. twitter_openapi_python_generated/models/note_tweet_result_media_inline_media.py +2 -5
  148. twitter_openapi_python_generated/models/note_tweet_result_rich_text.py +1 -2
  149. twitter_openapi_python_generated/models/notifications_result.py +2 -5
  150. twitter_openapi_python_generated/models/notifications_timeline_response.py +1 -2
  151. twitter_openapi_python_generated/models/post_create_bookmark_request.py +1 -1
  152. twitter_openapi_python_generated/models/post_create_bookmark_request_variables.py +2 -2
  153. twitter_openapi_python_generated/models/post_create_draft_tweet_request.py +95 -0
  154. twitter_openapi_python_generated/models/post_create_draft_tweet_request_variables.py +93 -0
  155. twitter_openapi_python_generated/models/post_create_draft_tweet_request_variables_post_tweet_request.py +97 -0
  156. twitter_openapi_python_generated/models/post_create_list_request.py +101 -0
  157. twitter_openapi_python_generated/models/post_create_list_request_features.py +97 -0
  158. twitter_openapi_python_generated/models/post_create_list_request_variables.py +93 -0
  159. twitter_openapi_python_generated/models/post_create_retweet_request.py +1 -1
  160. twitter_openapi_python_generated/models/post_create_retweet_request_variables.py +3 -3
  161. twitter_openapi_python_generated/models/post_create_tweet_request.py +2 -2
  162. twitter_openapi_python_generated/models/post_create_tweet_request_features.py +43 -41
  163. twitter_openapi_python_generated/models/post_create_tweet_request_variables.py +4 -4
  164. twitter_openapi_python_generated/models/post_create_tweet_request_variables_conversation_control.py +2 -2
  165. twitter_openapi_python_generated/models/post_create_tweet_request_variables_media.py +3 -4
  166. twitter_openapi_python_generated/models/post_create_tweet_request_variables_media_media_entities_inner.py +2 -2
  167. twitter_openapi_python_generated/models/post_create_tweet_request_variables_reply.py +2 -2
  168. twitter_openapi_python_generated/models/post_cta_title_text.py +1 -2
  169. twitter_openapi_python_generated/models/post_delete_bookmark_request.py +1 -1
  170. twitter_openapi_python_generated/models/post_delete_draft_tweets_request.py +95 -0
  171. twitter_openapi_python_generated/models/post_delete_draft_tweets_request_variables.py +89 -0
  172. twitter_openapi_python_generated/models/post_delete_list_request.py +95 -0
  173. twitter_openapi_python_generated/models/post_delete_list_request_variables.py +89 -0
  174. twitter_openapi_python_generated/models/post_delete_retweet_request.py +1 -1
  175. twitter_openapi_python_generated/models/post_delete_retweet_request_variables.py +3 -3
  176. twitter_openapi_python_generated/models/post_delete_tweet_request.py +2 -2
  177. twitter_openapi_python_generated/models/post_favorite_tweet_request.py +1 -1
  178. twitter_openapi_python_generated/models/post_list_add_member_request.py +101 -0
  179. twitter_openapi_python_generated/models/post_list_add_member_request_variables.py +91 -0
  180. twitter_openapi_python_generated/models/post_list_remove_member_request.py +101 -0
  181. twitter_openapi_python_generated/models/post_unfavorite_tweet_request.py +1 -1
  182. twitter_openapi_python_generated/models/primary_community_topic.py +2 -5
  183. twitter_openapi_python_generated/models/profile_bio.py +11 -3
  184. twitter_openapi_python_generated/models/profile_bio_entities.py +98 -0
  185. twitter_openapi_python_generated/models/profile_bio_entities_urls.py +96 -0
  186. twitter_openapi_python_generated/models/profile_response.py +1 -2
  187. twitter_openapi_python_generated/models/promoted_metadata.py +109 -0
  188. twitter_openapi_python_generated/models/reader_mode_config.py +89 -0
  189. twitter_openapi_python_generated/models/retweet.py +4 -7
  190. twitter_openapi_python_generated/models/scheduled_tweets_viewer.py +89 -0
  191. twitter_openapi_python_generated/models/scribe_config.py +89 -0
  192. twitter_openapi_python_generated/models/search_timeline_response.py +1 -2
  193. twitter_openapi_python_generated/models/self_thread.py +2 -5
  194. twitter_openapi_python_generated/models/session.py +8 -20
  195. twitter_openapi_python_generated/models/smarttag_tag.py +6 -2
  196. twitter_openapi_python_generated/models/smarttag_tag_info.py +93 -0
  197. twitter_openapi_python_generated/models/social_context_union.py +3 -2
  198. twitter_openapi_python_generated/models/symbol.py +97 -0
  199. twitter_openapi_python_generated/models/text.py +1 -2
  200. twitter_openapi_python_generated/models/timeline.py +13 -6
  201. twitter_openapi_python_generated/models/timeline_add_entries.py +1 -2
  202. twitter_openapi_python_generated/models/timeline_add_entry.py +4 -10
  203. twitter_openapi_python_generated/models/timeline_add_to_module.py +1 -2
  204. twitter_openapi_python_generated/models/timeline_frame.py +97 -0
  205. twitter_openapi_python_generated/models/timeline_half_cover.py +1 -2
  206. twitter_openapi_python_generated/models/timeline_label.py +101 -0
  207. twitter_openapi_python_generated/models/timeline_mark_entries_unread_greater_than_sort_index.py +2 -5
  208. twitter_openapi_python_generated/models/timeline_metadata.py +99 -0
  209. twitter_openapi_python_generated/models/timeline_response.py +1 -2
  210. twitter_openapi_python_generated/models/timeline_response_objects.py +96 -0
  211. twitter_openapi_python_generated/models/timeline_show_alert.py +19 -18
  212. twitter_openapi_python_generated/models/timeline_show_alert_color_config.py +93 -0
  213. twitter_openapi_python_generated/models/timeline_show_alert_icon_display_info.py +91 -0
  214. twitter_openapi_python_generated/models/timeline_show_alert_rich_text.py +3 -3
  215. twitter_openapi_python_generated/models/timeline_timeline_item.py +6 -2
  216. twitter_openapi_python_generated/models/timeline_timeline_module.py +19 -8
  217. twitter_openapi_python_generated/models/timeline_trend.py +16 -4
  218. twitter_openapi_python_generated/models/timeline_tweet.py +6 -2
  219. twitter_openapi_python_generated/models/timeline_twitter_list.py +101 -0
  220. twitter_openapi_python_generated/models/timelines_details.py +93 -0
  221. twitter_openapi_python_generated/models/tombstone_rich_text.py +1 -2
  222. twitter_openapi_python_generated/models/tracing.py +2 -5
  223. twitter_openapi_python_generated/models/trend_metadata.py +4 -2
  224. twitter_openapi_python_generated/models/trend_results.py +2 -5
  225. twitter_openapi_python_generated/models/tweet.py +23 -6
  226. twitter_openapi_python_generated/models/tweet_card_legacy.py +2 -4
  227. twitter_openapi_python_generated/models/tweet_card_legacy_binding_value_data.py +6 -2
  228. twitter_openapi_python_generated/models/tweet_card_platform_device.py +2 -5
  229. twitter_openapi_python_generated/models/tweet_detail_response.py +1 -2
  230. twitter_openapi_python_generated/models/tweet_edit_control.py +6 -15
  231. twitter_openapi_python_generated/models/tweet_edit_control_initial.py +4 -10
  232. twitter_openapi_python_generated/models/tweet_favoriters_response.py +1 -2
  233. twitter_openapi_python_generated/models/tweet_interstitial_reveal_text.py +1 -2
  234. twitter_openapi_python_generated/models/tweet_interstitial_text.py +1 -2
  235. twitter_openapi_python_generated/models/tweet_legacy.py +21 -38
  236. twitter_openapi_python_generated/models/tweet_limited_action_results.py +1 -2
  237. twitter_openapi_python_generated/models/tweet_preview_display_tweet.py +5 -11
  238. twitter_openapi_python_generated/models/tweet_preview_display_tweet_view_count.py +2 -5
  239. twitter_openapi_python_generated/models/tweet_result_by_rest_id_response.py +1 -2
  240. twitter_openapi_python_generated/models/tweet_retweeters_response.py +1 -2
  241. twitter_openapi_python_generated/models/tweet_union.py +3 -2
  242. twitter_openapi_python_generated/models/tweet_view.py +2 -5
  243. twitter_openapi_python_generated/models/tweet_with_visibility_results.py +6 -2
  244. twitter_openapi_python_generated/models/twitter_list.py +160 -0
  245. twitter_openapi_python_generated/models/type_name.py +7 -0
  246. twitter_openapi_python_generated/models/unfavorite_tweet_response.py +1 -2
  247. twitter_openapi_python_generated/models/urt_endpoint_options.py +3 -4
  248. twitter_openapi_python_generated/models/user.py +81 -15
  249. twitter_openapi_python_generated/models/user_action_counts.py +89 -0
  250. twitter_openapi_python_generated/models/user_banner.py +89 -0
  251. twitter_openapi_python_generated/models/user_core.py +3 -6
  252. twitter_openapi_python_generated/models/user_highlights_tweets_response.py +1 -2
  253. twitter_openapi_python_generated/models/user_label.py +128 -0
  254. twitter_openapi_python_generated/models/user_label_badge.py +89 -0
  255. twitter_openapi_python_generated/models/user_label_mention_results.py +93 -0
  256. twitter_openapi_python_generated/models/user_label_mention_user.py +106 -0
  257. twitter_openapi_python_generated/models/user_label_mention_user_core.py +89 -0
  258. twitter_openapi_python_generated/models/user_label_text.py +98 -0
  259. twitter_openapi_python_generated/models/user_label_text_entity.py +97 -0
  260. twitter_openapi_python_generated/models/user_label_text_entity_ref.py +104 -0
  261. twitter_openapi_python_generated/models/user_label_url.py +98 -0
  262. twitter_openapi_python_generated/models/user_legacy.py +9 -8
  263. twitter_openapi_python_generated/models/user_mention.py +115 -0
  264. twitter_openapi_python_generated/models/user_notifications_settings.py +89 -0
  265. twitter_openapi_python_generated/models/user_pinned_items.py +90 -0
  266. twitter_openapi_python_generated/models/user_professional.py +10 -9
  267. twitter_openapi_python_generated/models/user_profile_metadata.py +89 -0
  268. twitter_openapi_python_generated/models/user_profile_translation.py +89 -0
  269. twitter_openapi_python_generated/models/user_relationship_counts.py +91 -0
  270. twitter_openapi_python_generated/models/user_relationship_perspectives.py +6 -2
  271. twitter_openapi_python_generated/models/user_response.py +1 -2
  272. twitter_openapi_python_generated/models/user_result_by_screen_name.py +2 -5
  273. twitter_openapi_python_generated/models/user_result_by_screen_name_result.py +8 -12
  274. twitter_openapi_python_generated/models/user_result_core.py +3 -1
  275. twitter_openapi_python_generated/models/user_results.py +3 -1
  276. twitter_openapi_python_generated/models/user_tweet_counts.py +91 -0
  277. twitter_openapi_python_generated/models/user_tweets_response.py +1 -2
  278. twitter_openapi_python_generated/models/user_union.py +6 -3
  279. twitter_openapi_python_generated/models/user_value.py +8 -9
  280. twitter_openapi_python_generated/models/user_verification_info_reason.py +2 -5
  281. twitter_openapi_python_generated/models/user_verification_info_reason_description.py +1 -2
  282. twitter_openapi_python_generated/models/user_website.py +89 -0
  283. twitter_openapi_python_generated/models/users_response.py +1 -2
  284. twitter_openapi_python_generated/models/users_response_data.py +1 -2
  285. twitter_openapi_python_generated/models/viewer_badge_counts_response.py +102 -0
  286. twitter_openapi_python_generated/models/viewer_badge_counts_response_data.py +93 -0
  287. twitter_openapi_python_generated/models/viewer_badge_counts_result.py +96 -0
  288. twitter_openapi_python_generated/models/viewer_badge_counts_user_results.py +93 -0
  289. twitter_openapi_python_generated/models/viewer_badge_counts_viewer.py +93 -0
  290. twitter_openapi_python_generated/rest.py +79 -8
  291. {twitter_openapi_python_generated-0.0.34.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/METADATA +980 -816
  292. {twitter_openapi_python_generated-0.0.34.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/RECORD +296 -160
  293. {twitter_openapi_python_generated-0.0.34.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/WHEEL +1 -1
  294. {twitter_openapi_python_generated-0.0.34.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/licenses/LICENSE +31 -31
  295. {twitter_openapi_python_generated-0.0.34.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/licenses/LICENSE.AGPL +660 -660
  296. {twitter_openapi_python_generated-0.0.34.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/top_level.txt +0 -0
@@ -22,6 +22,8 @@ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_v
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
23
  from twitter_openapi_python_generated.models.client_event_info import ClientEventInfo
24
24
  from twitter_openapi_python_generated.models.instruction_type import InstructionType
25
+ from twitter_openapi_python_generated.models.timeline_show_alert_color_config import TimelineShowAlertColorConfig
26
+ from twitter_openapi_python_generated.models.timeline_show_alert_icon_display_info import TimelineShowAlertIconDisplayInfo
25
27
  from twitter_openapi_python_generated.models.timeline_show_alert_rich_text import TimelineShowAlertRichText
26
28
  from twitter_openapi_python_generated.models.user_results import UserResults
27
29
  from typing import Optional, Set
@@ -32,24 +34,21 @@ class TimelineShowAlert(BaseModel):
32
34
  """
33
35
  TimelineShowAlert
34
36
  """ # noqa: E501
35
- alert_type: Optional[StrictStr] = Field(default=None, alias="alertType")
36
- client_event_info: Optional[ClientEventInfo] = Field(default=None, alias="clientEventInfo")
37
- color_config: Optional[Dict[str, Any]] = Field(default=None, alias="colorConfig")
38
- display_duration_ms: Optional[StrictInt] = Field(default=None, alias="displayDurationMs")
39
- display_location: Optional[StrictStr] = Field(default=None, alias="displayLocation")
40
- icon_display_info: Optional[Dict[str, Any]] = Field(default=None, alias="iconDisplayInfo")
37
+ alert_type: StrictStr = Field(alias="alertType")
38
+ client_event_info: ClientEventInfo = Field(alias="clientEventInfo")
39
+ color_config: TimelineShowAlertColorConfig = Field(alias="colorConfig")
40
+ display_duration_ms: StrictInt = Field(alias="displayDurationMs")
41
+ display_location: StrictStr = Field(alias="displayLocation")
42
+ icon_display_info: TimelineShowAlertIconDisplayInfo = Field(alias="iconDisplayInfo")
41
43
  rich_text: TimelineShowAlertRichText = Field(alias="richText")
42
- trigger_delay_ms: Optional[StrictInt] = Field(default=None, alias="triggerDelayMs")
44
+ trigger_delay_ms: StrictInt = Field(alias="triggerDelayMs")
43
45
  type: InstructionType
44
- users_results: List[UserResults] = Field(alias="usersResults")
46
+ users_results: Optional[List[UserResults]] = Field(default=None, alias="usersResults")
45
47
  __properties: ClassVar[List[str]] = ["alertType", "clientEventInfo", "colorConfig", "displayDurationMs", "displayLocation", "iconDisplayInfo", "richText", "triggerDelayMs", "type", "usersResults"]
46
48
 
47
49
  @field_validator('alert_type')
48
50
  def alert_type_validate_enum(cls, value):
49
51
  """Validates the enum"""
50
- if value is None:
51
- return value
52
-
53
52
  if value not in set(['NewTweets']):
54
53
  raise ValueError("must be one of enum values ('NewTweets')")
55
54
  return value
@@ -57,9 +56,6 @@ class TimelineShowAlert(BaseModel):
57
56
  @field_validator('display_location')
58
57
  def display_location_validate_enum(cls, value):
59
58
  """Validates the enum"""
60
- if value is None:
61
- return value
62
-
63
59
  if value not in set(['Top']):
64
60
  raise ValueError("must be one of enum values ('Top')")
65
61
  return value
@@ -106,6 +102,12 @@ class TimelineShowAlert(BaseModel):
106
102
  # override the default output from pydantic by calling `to_dict()` of client_event_info
107
103
  if self.client_event_info:
108
104
  _dict['clientEventInfo'] = self.client_event_info.to_dict()
105
+ # override the default output from pydantic by calling `to_dict()` of color_config
106
+ if self.color_config:
107
+ _dict['colorConfig'] = self.color_config.to_dict()
108
+ # override the default output from pydantic by calling `to_dict()` of icon_display_info
109
+ if self.icon_display_info:
110
+ _dict['iconDisplayInfo'] = self.icon_display_info.to_dict()
109
111
  # override the default output from pydantic by calling `to_dict()` of rich_text
110
112
  if self.rich_text:
111
113
  _dict['richText'] = self.rich_text.to_dict()
@@ -113,8 +115,7 @@ class TimelineShowAlert(BaseModel):
113
115
  _items = []
114
116
  if self.users_results:
115
117
  for _item_users_results in self.users_results:
116
- if _item_users_results:
117
- _items.append(_item_users_results.to_dict())
118
+ _items.append(_item_users_results.to_dict() if _item_users_results is not None else None)
118
119
  _dict['usersResults'] = _items
119
120
  return _dict
120
121
 
@@ -130,10 +131,10 @@ class TimelineShowAlert(BaseModel):
130
131
  _obj = cls.model_validate({
131
132
  "alertType": obj.get("alertType"),
132
133
  "clientEventInfo": ClientEventInfo.from_dict(obj["clientEventInfo"]) if obj.get("clientEventInfo") is not None else None,
133
- "colorConfig": obj.get("colorConfig"),
134
+ "colorConfig": TimelineShowAlertColorConfig.from_dict(obj["colorConfig"]) if obj.get("colorConfig") is not None else None,
134
135
  "displayDurationMs": obj.get("displayDurationMs"),
135
136
  "displayLocation": obj.get("displayLocation"),
136
- "iconDisplayInfo": obj.get("iconDisplayInfo"),
137
+ "iconDisplayInfo": TimelineShowAlertIconDisplayInfo.from_dict(obj["iconDisplayInfo"]) if obj.get("iconDisplayInfo") is not None else None,
137
138
  "richText": TimelineShowAlertRichText.from_dict(obj["richText"]) if obj.get("richText") is not None else None,
138
139
  "triggerDelayMs": obj.get("triggerDelayMs"),
139
140
  "type": obj.get("type"),
@@ -0,0 +1,93 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Twitter OpenAPI
5
+
6
+ Twitter OpenAPI(Swagger) specification
7
+
8
+ The version of the OpenAPI document: 0.0.1
9
+ Contact: yuki@yuki0311.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, StrictStr
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+ from pydantic_core import to_jsonable_python
26
+
27
+ class TimelineShowAlertColorConfig(BaseModel):
28
+ """
29
+ TimelineShowAlertColorConfig
30
+ """ # noqa: E501
31
+ background: StrictStr
32
+ border: StrictStr
33
+ text: StrictStr
34
+ __properties: ClassVar[List[str]] = ["background", "border", "text"]
35
+
36
+ model_config = ConfigDict(
37
+ validate_by_name=True,
38
+ validate_by_alias=True,
39
+ validate_assignment=True,
40
+ protected_namespaces=(),
41
+ )
42
+
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.model_dump(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ return json.dumps(to_jsonable_python(self.to_dict()))
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
+ """Create an instance of TimelineShowAlertColorConfig from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self) -> Dict[str, Any]:
58
+ """Return the dictionary representation of the model using alias.
59
+
60
+ This has the following differences from calling pydantic's
61
+ `self.model_dump(by_alias=True)`:
62
+
63
+ * `None` is only added to the output dict for nullable fields that
64
+ were set at model initialization. Other fields with value `None`
65
+ are ignored.
66
+ """
67
+ excluded_fields: Set[str] = set([
68
+ ])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ return _dict
76
+
77
+ @classmethod
78
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
79
+ """Create an instance of TimelineShowAlertColorConfig from a dict"""
80
+ if obj is None:
81
+ return None
82
+
83
+ if not isinstance(obj, dict):
84
+ return cls.model_validate(obj)
85
+
86
+ _obj = cls.model_validate({
87
+ "background": obj.get("background"),
88
+ "border": obj.get("border"),
89
+ "text": obj.get("text")
90
+ })
91
+ return _obj
92
+
93
+
@@ -0,0 +1,91 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Twitter OpenAPI
5
+
6
+ Twitter OpenAPI(Swagger) specification
7
+
8
+ The version of the OpenAPI document: 0.0.1
9
+ Contact: yuki@yuki0311.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, StrictStr
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+ from pydantic_core import to_jsonable_python
26
+
27
+ class TimelineShowAlertIconDisplayInfo(BaseModel):
28
+ """
29
+ TimelineShowAlertIconDisplayInfo
30
+ """ # noqa: E501
31
+ icon: StrictStr
32
+ tint: StrictStr
33
+ __properties: ClassVar[List[str]] = ["icon", "tint"]
34
+
35
+ model_config = ConfigDict(
36
+ validate_by_name=True,
37
+ validate_by_alias=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ return json.dumps(to_jsonable_python(self.to_dict()))
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of TimelineShowAlertIconDisplayInfo from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ return _dict
75
+
76
+ @classmethod
77
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78
+ """Create an instance of TimelineShowAlertIconDisplayInfo from a dict"""
79
+ if obj is None:
80
+ return None
81
+
82
+ if not isinstance(obj, dict):
83
+ return cls.model_validate(obj)
84
+
85
+ _obj = cls.model_validate({
86
+ "icon": obj.get("icon"),
87
+ "tint": obj.get("tint")
88
+ })
89
+ return _obj
90
+
91
+
@@ -19,7 +19,7 @@ import re # noqa: F401
19
19
  import json
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, StrictStr
22
- from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Any, ClassVar, Dict, List
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
  from pydantic_core import to_jsonable_python
@@ -28,8 +28,8 @@ class TimelineShowAlertRichText(BaseModel):
28
28
  """
29
29
  TimelineShowAlertRichText
30
30
  """ # noqa: E501
31
- entities: Optional[List[Dict[str, Any]]] = None
32
- text: Optional[StrictStr] = None
31
+ entities: List[Dict[str, Any]]
32
+ text: StrictStr
33
33
  __properties: ClassVar[List[str]] = ["entities", "text"]
34
34
 
35
35
  model_config = ConfigDict(
@@ -22,6 +22,7 @@ from pydantic import BaseModel, ConfigDict, Field
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
23
  from twitter_openapi_python_generated.models.client_event_info import ClientEventInfo
24
24
  from twitter_openapi_python_generated.models.content_entry_type import ContentEntryType
25
+ from twitter_openapi_python_generated.models.feedback_info import FeedbackInfo
25
26
  from twitter_openapi_python_generated.models.item_content_union import ItemContentUnion
26
27
  from twitter_openapi_python_generated.models.type_name import TypeName
27
28
  from typing import Optional, Set
@@ -35,7 +36,7 @@ class TimelineTimelineItem(BaseModel):
35
36
  typename: TypeName = Field(alias="__typename")
36
37
  client_event_info: Optional[ClientEventInfo] = Field(default=None, alias="clientEventInfo")
37
38
  entry_type: ContentEntryType = Field(alias="entryType")
38
- feedback_info: Optional[Dict[str, Any]] = Field(default=None, alias="feedbackInfo")
39
+ feedback_info: Optional[FeedbackInfo] = Field(default=None, alias="feedbackInfo")
39
40
  item_content: ItemContentUnion = Field(alias="itemContent")
40
41
  __properties: ClassVar[List[str]] = ["__typename", "clientEventInfo", "entryType", "feedbackInfo", "itemContent"]
41
42
 
@@ -81,6 +82,9 @@ class TimelineTimelineItem(BaseModel):
81
82
  # override the default output from pydantic by calling `to_dict()` of client_event_info
82
83
  if self.client_event_info:
83
84
  _dict['clientEventInfo'] = self.client_event_info.to_dict()
85
+ # override the default output from pydantic by calling `to_dict()` of feedback_info
86
+ if self.feedback_info:
87
+ _dict['feedbackInfo'] = self.feedback_info.to_dict()
84
88
  # override the default output from pydantic by calling `to_dict()` of item_content
85
89
  if self.item_content:
86
90
  _dict['itemContent'] = self.item_content.to_dict()
@@ -99,7 +103,7 @@ class TimelineTimelineItem(BaseModel):
99
103
  "__typename": obj.get("__typename"),
100
104
  "clientEventInfo": ClientEventInfo.from_dict(obj["clientEventInfo"]) if obj.get("clientEventInfo") is not None else None,
101
105
  "entryType": obj.get("entryType"),
102
- "feedbackInfo": obj.get("feedbackInfo"),
106
+ "feedbackInfo": FeedbackInfo.from_dict(obj["feedbackInfo"]) if obj.get("feedbackInfo") is not None else None,
103
107
  "itemContent": ItemContentUnion.from_dict(obj["itemContent"]) if obj.get("itemContent") is not None else None
104
108
  })
105
109
  return _obj
@@ -24,7 +24,10 @@ from twitter_openapi_python_generated.models.client_event_info import ClientEven
24
24
  from twitter_openapi_python_generated.models.content_entry_type import ContentEntryType
25
25
  from twitter_openapi_python_generated.models.display_type import DisplayType
26
26
  from twitter_openapi_python_generated.models.feedback_info import FeedbackInfo
27
+ from twitter_openapi_python_generated.models.module_footer import ModuleFooter
28
+ from twitter_openapi_python_generated.models.module_header import ModuleHeader
27
29
  from twitter_openapi_python_generated.models.module_item import ModuleItem
30
+ from twitter_openapi_python_generated.models.module_metadata import ModuleMetadata
28
31
  from typing import Optional, Set
29
32
  from typing_extensions import Self
30
33
  from pydantic_core import to_jsonable_python
@@ -38,10 +41,10 @@ class TimelineTimelineModule(BaseModel):
38
41
  display_type: DisplayType = Field(alias="displayType")
39
42
  entry_type: ContentEntryType = Field(alias="entryType")
40
43
  feedback_info: Optional[FeedbackInfo] = Field(default=None, alias="feedbackInfo")
41
- footer: Optional[Dict[str, Any]] = None
42
- header: Optional[Dict[str, Any]] = None
44
+ footer: Optional[ModuleFooter] = None
45
+ header: Optional[ModuleHeader] = None
43
46
  items: Optional[List[ModuleItem]] = None
44
- metadata: Optional[Dict[str, Any]] = None
47
+ metadata: Optional[ModuleMetadata] = None
45
48
  __properties: ClassVar[List[str]] = ["__typename", "clientEventInfo", "displayType", "entryType", "feedbackInfo", "footer", "header", "items", "metadata"]
46
49
 
47
50
  model_config = ConfigDict(
@@ -89,13 +92,21 @@ class TimelineTimelineModule(BaseModel):
89
92
  # override the default output from pydantic by calling `to_dict()` of feedback_info
90
93
  if self.feedback_info:
91
94
  _dict['feedbackInfo'] = self.feedback_info.to_dict()
95
+ # override the default output from pydantic by calling `to_dict()` of footer
96
+ if self.footer:
97
+ _dict['footer'] = self.footer.to_dict()
98
+ # override the default output from pydantic by calling `to_dict()` of header
99
+ if self.header:
100
+ _dict['header'] = self.header.to_dict()
92
101
  # override the default output from pydantic by calling `to_dict()` of each item in items (list)
93
102
  _items = []
94
103
  if self.items:
95
104
  for _item_items in self.items:
96
- if _item_items:
97
- _items.append(_item_items.to_dict())
105
+ _items.append(_item_items.to_dict() if _item_items is not None else None)
98
106
  _dict['items'] = _items
107
+ # override the default output from pydantic by calling `to_dict()` of metadata
108
+ if self.metadata:
109
+ _dict['metadata'] = self.metadata.to_dict()
99
110
  return _dict
100
111
 
101
112
  @classmethod
@@ -113,10 +124,10 @@ class TimelineTimelineModule(BaseModel):
113
124
  "displayType": obj.get("displayType"),
114
125
  "entryType": obj.get("entryType"),
115
126
  "feedbackInfo": FeedbackInfo.from_dict(obj["feedbackInfo"]) if obj.get("feedbackInfo") is not None else None,
116
- "footer": obj.get("footer"),
117
- "header": obj.get("header"),
127
+ "footer": ModuleFooter.from_dict(obj["footer"]) if obj.get("footer") is not None else None,
128
+ "header": ModuleHeader.from_dict(obj["header"]) if obj.get("header") is not None else None,
118
129
  "items": [ModuleItem.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None,
119
- "metadata": obj.get("metadata")
130
+ "metadata": ModuleMetadata.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None
120
131
  })
121
132
  return _obj
122
133
 
@@ -18,8 +18,9 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
- from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing_extensions import Annotated
23
24
  from twitter_openapi_python_generated.models.content_item_type import ContentItemType
24
25
  from twitter_openapi_python_generated.models.social_context_landing_url import SocialContextLandingUrl
25
26
  from twitter_openapi_python_generated.models.social_context_union import SocialContextUnion
@@ -40,11 +41,22 @@ class TimelineTrend(BaseModel):
40
41
  is_ai_trend: Optional[StrictBool] = None
41
42
  item_type: Optional[ContentItemType] = Field(default=None, alias="itemType")
42
43
  name: StrictStr
44
+ rank: Optional[Annotated[str, Field(strict=True)]] = None
43
45
  social_context: Optional[SocialContextUnion] = None
44
46
  thumbnail_image: Optional[ThumbnailImage] = None
45
47
  trend_metadata: TrendMetadata
46
48
  trend_url: SocialContextLandingUrl
47
- __properties: ClassVar[List[str]] = ["__typename", "images", "is_ai_trend", "itemType", "name", "social_context", "thumbnail_image", "trend_metadata", "trend_url"]
49
+ __properties: ClassVar[List[str]] = ["__typename", "images", "is_ai_trend", "itemType", "name", "rank", "social_context", "thumbnail_image", "trend_metadata", "trend_url"]
50
+
51
+ @field_validator('rank', mode="before")
52
+ def rank_validate_regular_expression(cls, value):
53
+ """Validates the regular expression"""
54
+ if value is None:
55
+ return value
56
+
57
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
58
+ raise ValueError(r"must validate the regular expression /^[0-9]+$/")
59
+ return value
48
60
 
49
61
  model_config = ConfigDict(
50
62
  validate_by_name=True,
@@ -89,8 +101,7 @@ class TimelineTrend(BaseModel):
89
101
  _items = []
90
102
  if self.images:
91
103
  for _item_images in self.images:
92
- if _item_images:
93
- _items.append(_item_images.to_dict())
104
+ _items.append(_item_images.to_dict() if _item_images is not None else None)
94
105
  _dict['images'] = _items
95
106
  # override the default output from pydantic by calling `to_dict()` of social_context
96
107
  if self.social_context:
@@ -121,6 +132,7 @@ class TimelineTrend(BaseModel):
121
132
  "is_ai_trend": obj.get("is_ai_trend"),
122
133
  "itemType": obj.get("itemType"),
123
134
  "name": obj.get("name"),
135
+ "rank": obj.get("rank"),
124
136
  "social_context": SocialContextUnion.from_dict(obj["social_context"]) if obj.get("social_context") is not None else None,
125
137
  "thumbnail_image": ThumbnailImage.from_dict(obj["thumbnail_image"]) if obj.get("thumbnail_image") is not None else None,
126
138
  "trend_metadata": TrendMetadata.from_dict(obj["trend_metadata"]) if obj.get("trend_metadata") is not None else None,
@@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional
23
23
  from twitter_openapi_python_generated.models.content_item_type import ContentItemType
24
24
  from twitter_openapi_python_generated.models.highlight import Highlight
25
25
  from twitter_openapi_python_generated.models.item_result import ItemResult
26
+ from twitter_openapi_python_generated.models.promoted_metadata import PromotedMetadata
26
27
  from twitter_openapi_python_generated.models.social_context_union import SocialContextUnion
27
28
  from twitter_openapi_python_generated.models.type_name import TypeName
28
29
  from typing import Optional, Set
@@ -37,7 +38,7 @@ class TimelineTweet(BaseModel):
37
38
  has_moderated_replies: Optional[StrictBool] = Field(default=None, alias="hasModeratedReplies")
38
39
  highlights: Optional[Highlight] = None
39
40
  item_type: ContentItemType = Field(alias="itemType")
40
- promoted_metadata: Optional[Dict[str, Any]] = Field(default=None, alias="promotedMetadata")
41
+ promoted_metadata: Optional[PromotedMetadata] = Field(default=None, alias="promotedMetadata")
41
42
  social_context: Optional[SocialContextUnion] = Field(default=None, alias="socialContext")
42
43
  tweet_display_type: StrictStr = Field(alias="tweetDisplayType")
43
44
  tweet_results: ItemResult
@@ -92,6 +93,9 @@ class TimelineTweet(BaseModel):
92
93
  # override the default output from pydantic by calling `to_dict()` of highlights
93
94
  if self.highlights:
94
95
  _dict['highlights'] = self.highlights.to_dict()
96
+ # override the default output from pydantic by calling `to_dict()` of promoted_metadata
97
+ if self.promoted_metadata:
98
+ _dict['promotedMetadata'] = self.promoted_metadata.to_dict()
95
99
  # override the default output from pydantic by calling `to_dict()` of social_context
96
100
  if self.social_context:
97
101
  _dict['socialContext'] = self.social_context.to_dict()
@@ -114,7 +118,7 @@ class TimelineTweet(BaseModel):
114
118
  "hasModeratedReplies": obj.get("hasModeratedReplies"),
115
119
  "highlights": Highlight.from_dict(obj["highlights"]) if obj.get("highlights") is not None else None,
116
120
  "itemType": obj.get("itemType"),
117
- "promotedMetadata": obj.get("promotedMetadata"),
121
+ "promotedMetadata": PromotedMetadata.from_dict(obj["promotedMetadata"]) if obj.get("promotedMetadata") is not None else None,
118
122
  "socialContext": SocialContextUnion.from_dict(obj["socialContext"]) if obj.get("socialContext") is not None else None,
119
123
  "tweetDisplayType": obj.get("tweetDisplayType"),
120
124
  "tweet_results": ItemResult.from_dict(obj["tweet_results"]) if obj.get("tweet_results") is not None else None
@@ -0,0 +1,101 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Twitter OpenAPI
5
+
6
+ Twitter OpenAPI(Swagger) specification
7
+
8
+ The version of the OpenAPI document: 0.0.1
9
+ Contact: yuki@yuki0311.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from twitter_openapi_python_generated.models.content_item_type import ContentItemType
24
+ from twitter_openapi_python_generated.models.twitter_list import TwitterList
25
+ from twitter_openapi_python_generated.models.type_name import TypeName
26
+ from typing import Optional, Set
27
+ from typing_extensions import Self
28
+ from pydantic_core import to_jsonable_python
29
+
30
+ class TimelineTwitterList(BaseModel):
31
+ """
32
+ TimelineTwitterList
33
+ """ # noqa: E501
34
+ typename: TypeName = Field(alias="__typename")
35
+ display_type: Optional[StrictStr] = Field(default=None, alias="displayType")
36
+ item_type: ContentItemType = Field(alias="itemType")
37
+ list: TwitterList
38
+ __properties: ClassVar[List[str]] = ["__typename", "displayType", "itemType", "list"]
39
+
40
+ model_config = ConfigDict(
41
+ validate_by_name=True,
42
+ validate_by_alias=True,
43
+ validate_assignment=True,
44
+ protected_namespaces=(),
45
+ )
46
+
47
+
48
+ def to_str(self) -> str:
49
+ """Returns the string representation of the model using alias"""
50
+ return pprint.pformat(self.model_dump(by_alias=True))
51
+
52
+ def to_json(self) -> str:
53
+ """Returns the JSON representation of the model using alias"""
54
+ return json.dumps(to_jsonable_python(self.to_dict()))
55
+
56
+ @classmethod
57
+ def from_json(cls, json_str: str) -> Optional[Self]:
58
+ """Create an instance of TimelineTwitterList from a JSON string"""
59
+ return cls.from_dict(json.loads(json_str))
60
+
61
+ def to_dict(self) -> Dict[str, Any]:
62
+ """Return the dictionary representation of the model using alias.
63
+
64
+ This has the following differences from calling pydantic's
65
+ `self.model_dump(by_alias=True)`:
66
+
67
+ * `None` is only added to the output dict for nullable fields that
68
+ were set at model initialization. Other fields with value `None`
69
+ are ignored.
70
+ """
71
+ excluded_fields: Set[str] = set([
72
+ ])
73
+
74
+ _dict = self.model_dump(
75
+ by_alias=True,
76
+ exclude=excluded_fields,
77
+ exclude_none=True,
78
+ )
79
+ # override the default output from pydantic by calling `to_dict()` of list
80
+ if self.list:
81
+ _dict['list'] = self.list.to_dict()
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of TimelineTwitterList from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate({
94
+ "__typename": obj.get("__typename"),
95
+ "displayType": obj.get("displayType"),
96
+ "itemType": obj.get("itemType"),
97
+ "list": TwitterList.from_dict(obj["list"]) if obj.get("list") is not None else None
98
+ })
99
+ return _obj
100
+
101
+