twitter-openapi-python-generated 0.0.33__py3-none-any.whl → 0.0.35__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 (451) hide show
  1. twitter_openapi_python_generated/__init__.py +906 -330
  2. twitter_openapi_python_generated/api/default_api.py +1 -2
  3. twitter_openapi_python_generated/api/other_api.py +1 -2
  4. twitter_openapi_python_generated/api/post_api.py +2081 -206
  5. twitter_openapi_python_generated/api/tweet_api.py +3225 -250
  6. twitter_openapi_python_generated/api/user_api.py +993 -91
  7. twitter_openapi_python_generated/api/user_list_api.py +2291 -68
  8. twitter_openapi_python_generated/api/users_api.py +1 -2
  9. twitter_openapi_python_generated/api/v11_get_api.py +1 -2
  10. twitter_openapi_python_generated/api/v11_post_api.py +1 -2
  11. twitter_openapi_python_generated/api/v20_get_api.py +1 -2
  12. twitter_openapi_python_generated/api_client.py +81 -36
  13. twitter_openapi_python_generated/configuration.py +103 -30
  14. twitter_openapi_python_generated/exceptions.py +7 -5
  15. twitter_openapi_python_generated/models/__init__.py +123 -2
  16. twitter_openapi_python_generated/models/about_community_result.py +4 -3
  17. twitter_openapi_python_generated/models/about_community_results.py +4 -3
  18. twitter_openapi_python_generated/models/about_community_tweet_data.py +4 -3
  19. twitter_openapi_python_generated/models/additional_media_info.py +7 -4
  20. twitter_openapi_python_generated/models/additional_media_info_call_to_actions.py +4 -3
  21. twitter_openapi_python_generated/models/additional_media_info_call_to_actions_url.py +4 -3
  22. twitter_openapi_python_generated/models/allow_download_status.py +4 -3
  23. twitter_openapi_python_generated/models/analysis_results.py +4 -3
  24. twitter_openapi_python_generated/models/article.py +4 -3
  25. twitter_openapi_python_generated/models/article_cover_media.py +6 -5
  26. twitter_openapi_python_generated/models/article_cover_media_color_info.py +5 -5
  27. twitter_openapi_python_generated/models/article_cover_media_color_info_palette.py +4 -3
  28. twitter_openapi_python_generated/models/article_cover_media_color_info_palette_rgb.py +4 -3
  29. twitter_openapi_python_generated/models/article_cover_media_info.py +4 -3
  30. twitter_openapi_python_generated/models/article_lifecycle_state.py +4 -3
  31. twitter_openapi_python_generated/models/article_metadata.py +4 -3
  32. twitter_openapi_python_generated/models/article_preview.py +99 -0
  33. twitter_openapi_python_generated/models/article_result.py +21 -8
  34. twitter_openapi_python_generated/models/article_results.py +4 -3
  35. twitter_openapi_python_generated/models/author_community_relationship.py +9 -8
  36. twitter_openapi_python_generated/models/badge_counts.py +97 -0
  37. twitter_openapi_python_generated/models/birdwatch_entity.py +4 -3
  38. twitter_openapi_python_generated/models/birdwatch_entity_ref.py +7 -4
  39. twitter_openapi_python_generated/models/birdwatch_pivot.py +19 -6
  40. twitter_openapi_python_generated/models/birdwatch_pivot_call_to_action.py +4 -3
  41. twitter_openapi_python_generated/models/birdwatch_pivot_footer.py +5 -5
  42. twitter_openapi_python_generated/models/birdwatch_pivot_note.py +19 -8
  43. twitter_openapi_python_generated/models/birdwatch_pivot_subtitle.py +5 -5
  44. twitter_openapi_python_generated/models/bookmarks_response.py +5 -5
  45. twitter_openapi_python_generated/models/bookmarks_response_data.py +4 -3
  46. twitter_openapi_python_generated/models/bookmarks_timeline.py +4 -3
  47. twitter_openapi_python_generated/models/callback.py +4 -3
  48. twitter_openapi_python_generated/models/cashtag_attachment.py +89 -0
  49. twitter_openapi_python_generated/models/client_event_info.py +4 -3
  50. twitter_openapi_python_generated/models/communities_actions.py +4 -3
  51. twitter_openapi_python_generated/models/community.py +141 -12
  52. twitter_openapi_python_generated/models/community_about_timeline_response.py +5 -5
  53. twitter_openapi_python_generated/models/community_actions.py +4 -3
  54. twitter_openapi_python_generated/models/community_delete_action_result.py +4 -3
  55. twitter_openapi_python_generated/models/community_discovery_timeline_response.py +102 -0
  56. twitter_openapi_python_generated/models/community_discovery_timeline_response_data.py +93 -0
  57. twitter_openapi_python_generated/models/community_discovery_timeline_viewer.py +93 -0
  58. twitter_openapi_python_generated/models/community_invites_result.py +4 -3
  59. twitter_openapi_python_generated/models/community_join_action.py +4 -3
  60. twitter_openapi_python_generated/models/community_join_action_result_union.py +3 -2
  61. twitter_openapi_python_generated/models/community_join_action_unavailable.py +4 -3
  62. twitter_openapi_python_generated/models/community_join_requests_result.py +4 -3
  63. twitter_openapi_python_generated/models/community_leave_action_result.py +4 -3
  64. twitter_openapi_python_generated/models/community_media_timeline_response.py +5 -5
  65. twitter_openapi_python_generated/models/community_pin_action_result.py +4 -3
  66. twitter_openapi_python_generated/models/community_relationship.py +6 -5
  67. twitter_openapi_python_generated/models/community_result.py +93 -0
  68. twitter_openapi_python_generated/models/community_rule.py +6 -5
  69. twitter_openapi_python_generated/models/community_tweets_timeline_response.py +5 -5
  70. twitter_openapi_python_generated/models/community_unavailable.py +90 -0
  71. twitter_openapi_python_generated/models/community_union.py +157 -0
  72. twitter_openapi_python_generated/models/community_unpin_action_result.py +4 -3
  73. twitter_openapi_python_generated/models/community_urls.py +4 -3
  74. twitter_openapi_python_generated/models/community_urls_permalink.py +4 -3
  75. twitter_openapi_python_generated/models/connect_tab_timeline_response.py +102 -0
  76. twitter_openapi_python_generated/models/connect_tab_timeline_response_data.py +93 -0
  77. twitter_openapi_python_generated/models/content_disclosure.py +99 -0
  78. twitter_openapi_python_generated/models/content_disclosure_advertising_disclosure.py +89 -0
  79. twitter_openapi_python_generated/models/content_disclosure_ai_generated_disclosure.py +103 -0
  80. twitter_openapi_python_generated/models/content_item_type.py +3 -0
  81. twitter_openapi_python_generated/models/content_union.py +3 -2
  82. twitter_openapi_python_generated/models/conversation_control.py +4 -3
  83. twitter_openapi_python_generated/models/cover_cta.py +5 -5
  84. twitter_openapi_python_generated/models/create_bookmark_response.py +5 -5
  85. twitter_openapi_python_generated/models/create_bookmark_response_data.py +4 -3
  86. twitter_openapi_python_generated/models/create_draft_tweet_response.py +102 -0
  87. twitter_openapi_python_generated/models/create_draft_tweet_response_data.py +93 -0
  88. twitter_openapi_python_generated/models/create_draft_tweet_response_tweet.py +97 -0
  89. twitter_openapi_python_generated/models/create_retweet.py +4 -3
  90. twitter_openapi_python_generated/models/create_retweet_response.py +5 -5
  91. twitter_openapi_python_generated/models/create_retweet_response_data.py +4 -3
  92. twitter_openapi_python_generated/models/create_retweet_response_result.py +4 -3
  93. twitter_openapi_python_generated/models/create_tweet.py +4 -3
  94. twitter_openapi_python_generated/models/create_tweet_response.py +5 -5
  95. twitter_openapi_python_generated/models/create_tweet_response_data.py +4 -3
  96. twitter_openapi_python_generated/models/create_tweet_response_result.py +4 -3
  97. twitter_openapi_python_generated/models/cta_client_event_info.py +4 -3
  98. twitter_openapi_python_generated/models/delete_bookmark_response.py +5 -5
  99. twitter_openapi_python_generated/models/delete_bookmark_response_data.py +4 -3
  100. twitter_openapi_python_generated/models/delete_draft_tweets_response.py +102 -0
  101. twitter_openapi_python_generated/models/delete_draft_tweets_response_data.py +89 -0
  102. twitter_openapi_python_generated/models/delete_list_response.py +102 -0
  103. twitter_openapi_python_generated/models/delete_list_response_data.py +89 -0
  104. twitter_openapi_python_generated/models/delete_retweet.py +5 -5
  105. twitter_openapi_python_generated/models/delete_retweet_response.py +5 -5
  106. twitter_openapi_python_generated/models/delete_retweet_response_data.py +4 -3
  107. twitter_openapi_python_generated/models/delete_retweet_response_result.py +4 -3
  108. twitter_openapi_python_generated/models/delete_tweet_response.py +5 -5
  109. twitter_openapi_python_generated/models/delete_tweet_response_data.py +4 -3
  110. twitter_openapi_python_generated/models/delete_tweet_response_result.py +4 -3
  111. twitter_openapi_python_generated/models/display_treatment.py +4 -3
  112. twitter_openapi_python_generated/models/draft_list.py +96 -0
  113. twitter_openapi_python_generated/models/draft_tweet.py +109 -0
  114. twitter_openapi_python_generated/models/draft_tweet_create_request.py +99 -0
  115. twitter_openapi_python_generated/models/draft_tweet_user.py +100 -0
  116. twitter_openapi_python_generated/models/draft_tweet_user_results.py +93 -0
  117. twitter_openapi_python_generated/models/draft_tweets_viewer.py +93 -0
  118. twitter_openapi_python_generated/models/entities.py +24 -15
  119. twitter_openapi_python_generated/models/error_extensions.py +5 -4
  120. twitter_openapi_python_generated/models/error_response.py +15 -8
  121. twitter_openapi_python_generated/models/error_response_path_inner.py +144 -0
  122. twitter_openapi_python_generated/models/explore_page.py +95 -0
  123. twitter_openapi_python_generated/models/explore_page_body.py +104 -0
  124. twitter_openapi_python_generated/models/explore_page_response.py +102 -0
  125. twitter_openapi_python_generated/models/explore_page_response_data.py +93 -0
  126. twitter_openapi_python_generated/models/explore_timeline.py +105 -0
  127. twitter_openapi_python_generated/models/explore_timeline_scribe_config.py +91 -0
  128. twitter_openapi_python_generated/models/ext_media_availability.py +4 -3
  129. twitter_openapi_python_generated/models/extended_entities.py +5 -5
  130. twitter_openapi_python_generated/models/favorite_tweet.py +4 -3
  131. twitter_openapi_python_generated/models/favorite_tweet_response.py +5 -5
  132. twitter_openapi_python_generated/models/feedback_info.py +4 -3
  133. twitter_openapi_python_generated/models/fetch_draft_tweets_response.py +102 -0
  134. twitter_openapi_python_generated/models/fetch_draft_tweets_response_data.py +93 -0
  135. twitter_openapi_python_generated/models/fetch_scheduled_tweets_response.py +102 -0
  136. twitter_openapi_python_generated/models/fetch_scheduled_tweets_response_data.py +93 -0
  137. twitter_openapi_python_generated/models/follow_response.py +5 -5
  138. twitter_openapi_python_generated/models/follow_response_data.py +4 -3
  139. twitter_openapi_python_generated/models/follow_response_result.py +4 -3
  140. twitter_openapi_python_generated/models/follow_response_user.py +4 -3
  141. twitter_openapi_python_generated/models/follow_timeline.py +4 -3
  142. twitter_openapi_python_generated/models/generic_timeline_by_id_response.py +102 -0
  143. twitter_openapi_python_generated/models/generic_timeline_by_id_response_data.py +93 -0
  144. twitter_openapi_python_generated/models/grok_annotation.py +89 -0
  145. twitter_openapi_python_generated/models/grok_entity.py +97 -0
  146. twitter_openapi_python_generated/models/grok_entity_ref.py +116 -0
  147. twitter_openapi_python_generated/models/grok_image_annotation.py +4 -3
  148. twitter_openapi_python_generated/models/grok_share_attachment.py +5 -5
  149. twitter_openapi_python_generated/models/grok_share_attachment_item.py +7 -4
  150. twitter_openapi_python_generated/models/grok_translated_bio.py +101 -0
  151. twitter_openapi_python_generated/models/grok_translated_bio_with_availability.py +97 -0
  152. twitter_openapi_python_generated/models/grok_translated_community_note.py +104 -0
  153. twitter_openapi_python_generated/models/grok_translated_community_note_with_availability.py +95 -0
  154. twitter_openapi_python_generated/models/grok_translated_post.py +103 -0
  155. twitter_openapi_python_generated/models/grok_translated_post_with_availability.py +95 -0
  156. twitter_openapi_python_generated/models/highlight.py +5 -5
  157. twitter_openapi_python_generated/models/home_timeline_home.py +4 -3
  158. twitter_openapi_python_generated/models/home_timeline_response_data.py +4 -3
  159. twitter_openapi_python_generated/models/instruction_union.py +3 -2
  160. twitter_openapi_python_generated/models/item_content_union.py +68 -10
  161. twitter_openapi_python_generated/models/item_result.py +4 -3
  162. twitter_openapi_python_generated/models/limited_action_results_data.py +4 -3
  163. twitter_openapi_python_generated/models/list_banner_media.py +93 -0
  164. twitter_openapi_python_generated/models/list_banner_media_info.py +99 -0
  165. twitter_openapi_python_generated/models/list_banner_media_salient_rect.py +95 -0
  166. twitter_openapi_python_generated/models/list_latest_tweets_timeline_response.py +5 -5
  167. twitter_openapi_python_generated/models/list_members_list.py +93 -0
  168. twitter_openapi_python_generated/models/list_members_response.py +102 -0
  169. twitter_openapi_python_generated/models/list_members_response_data.py +93 -0
  170. twitter_openapi_python_generated/models/list_recommended_users_list.py +93 -0
  171. twitter_openapi_python_generated/models/list_recommended_users_response.py +102 -0
  172. twitter_openapi_python_generated/models/list_recommended_users_response_data.py +93 -0
  173. twitter_openapi_python_generated/models/list_response.py +102 -0
  174. twitter_openapi_python_generated/models/list_response_data.py +93 -0
  175. twitter_openapi_python_generated/models/list_subscribers_list.py +93 -0
  176. twitter_openapi_python_generated/models/list_subscribers_response.py +102 -0
  177. twitter_openapi_python_generated/models/list_subscribers_response_data.py +93 -0
  178. twitter_openapi_python_generated/models/list_tweets_timeline_data.py +4 -3
  179. twitter_openapi_python_generated/models/list_tweets_timeline_list.py +4 -3
  180. twitter_openapi_python_generated/models/location.py +4 -3
  181. twitter_openapi_python_generated/models/media.py +23 -11
  182. twitter_openapi_python_generated/models/media_community_result.py +4 -3
  183. twitter_openapi_python_generated/models/media_community_results.py +4 -3
  184. twitter_openapi_python_generated/models/media_community_tweet_data.py +4 -3
  185. twitter_openapi_python_generated/models/media_extended.py +20 -10
  186. twitter_openapi_python_generated/models/media_original_info.py +5 -5
  187. twitter_openapi_python_generated/models/media_original_info_focus_rect.py +4 -3
  188. twitter_openapi_python_generated/models/media_result.py +4 -3
  189. twitter_openapi_python_generated/models/media_results.py +4 -3
  190. twitter_openapi_python_generated/models/media_size.py +4 -3
  191. twitter_openapi_python_generated/models/media_sizes.py +4 -3
  192. twitter_openapi_python_generated/models/media_stats.py +4 -3
  193. twitter_openapi_python_generated/models/media_video_info.py +5 -5
  194. twitter_openapi_python_generated/models/media_video_info_variant.py +4 -3
  195. twitter_openapi_python_generated/models/media_visibility_results.py +4 -3
  196. twitter_openapi_python_generated/models/media_visibility_results_blurred_image_interstitial.py +4 -3
  197. twitter_openapi_python_generated/models/module_entry.py +4 -3
  198. twitter_openapi_python_generated/models/module_item.py +6 -5
  199. twitter_openapi_python_generated/models/note_tweet.py +6 -5
  200. twitter_openapi_python_generated/models/note_tweet_result.py +4 -3
  201. twitter_openapi_python_generated/models/note_tweet_result_data.py +6 -5
  202. twitter_openapi_python_generated/models/note_tweet_result_media.py +5 -5
  203. twitter_openapi_python_generated/models/note_tweet_result_media_inline_media.py +6 -5
  204. twitter_openapi_python_generated/models/note_tweet_result_rich_text.py +5 -5
  205. twitter_openapi_python_generated/models/note_tweet_result_rich_text_tag.py +4 -3
  206. twitter_openapi_python_generated/models/notification_template.py +4 -3
  207. twitter_openapi_python_generated/models/notifications_result.py +6 -5
  208. twitter_openapi_python_generated/models/notifications_timeline_data.py +4 -3
  209. twitter_openapi_python_generated/models/notifications_timeline_response.py +5 -5
  210. twitter_openapi_python_generated/models/notifications_user_results.py +4 -3
  211. twitter_openapi_python_generated/models/notifications_viewer_v2.py +4 -3
  212. twitter_openapi_python_generated/models/one_factor_login_eligibility.py +4 -3
  213. twitter_openapi_python_generated/models/other_object_all.py +4 -3
  214. twitter_openapi_python_generated/models/post_create_bookmark_request.py +5 -4
  215. twitter_openapi_python_generated/models/post_create_bookmark_request_variables.py +6 -5
  216. twitter_openapi_python_generated/models/post_create_draft_tweet_request.py +95 -0
  217. twitter_openapi_python_generated/models/post_create_draft_tweet_request_variables.py +93 -0
  218. twitter_openapi_python_generated/models/post_create_draft_tweet_request_variables_post_tweet_request.py +97 -0
  219. twitter_openapi_python_generated/models/post_create_list_request.py +101 -0
  220. twitter_openapi_python_generated/models/post_create_list_request_features.py +97 -0
  221. twitter_openapi_python_generated/models/post_create_list_request_variables.py +93 -0
  222. twitter_openapi_python_generated/models/post_create_retweet_request.py +6 -5
  223. twitter_openapi_python_generated/models/post_create_retweet_request_variables.py +7 -6
  224. twitter_openapi_python_generated/models/post_create_tweet_request.py +6 -5
  225. twitter_openapi_python_generated/models/post_create_tweet_request_features.py +60 -43
  226. twitter_openapi_python_generated/models/post_create_tweet_request_variables.py +8 -7
  227. twitter_openapi_python_generated/models/post_create_tweet_request_variables_conversation_control.py +6 -5
  228. twitter_openapi_python_generated/models/post_create_tweet_request_variables_media.py +7 -7
  229. twitter_openapi_python_generated/models/post_create_tweet_request_variables_media_media_entities_inner.py +6 -5
  230. twitter_openapi_python_generated/models/post_create_tweet_request_variables_reply.py +6 -5
  231. twitter_openapi_python_generated/models/post_cta.py +101 -0
  232. twitter_openapi_python_generated/models/post_cta_title_text.py +98 -0
  233. twitter_openapi_python_generated/models/post_cta_title_text_entity.py +97 -0
  234. twitter_openapi_python_generated/models/post_cta_title_text_entity_ref.py +96 -0
  235. twitter_openapi_python_generated/models/post_cta_user_results.py +93 -0
  236. twitter_openapi_python_generated/models/post_cta_user_results_avatar.py +89 -0
  237. twitter_openapi_python_generated/models/post_cta_user_results_result.py +96 -0
  238. twitter_openapi_python_generated/models/post_delete_bookmark_request.py +5 -4
  239. twitter_openapi_python_generated/models/post_delete_draft_tweets_request.py +95 -0
  240. twitter_openapi_python_generated/models/post_delete_draft_tweets_request_variables.py +89 -0
  241. twitter_openapi_python_generated/models/post_delete_list_request.py +95 -0
  242. twitter_openapi_python_generated/models/post_delete_list_request_variables.py +89 -0
  243. twitter_openapi_python_generated/models/post_delete_retweet_request.py +6 -5
  244. twitter_openapi_python_generated/models/post_delete_retweet_request_variables.py +7 -6
  245. twitter_openapi_python_generated/models/post_delete_tweet_request.py +6 -5
  246. twitter_openapi_python_generated/models/post_favorite_tweet_request.py +5 -4
  247. twitter_openapi_python_generated/models/post_list_add_member_request.py +101 -0
  248. twitter_openapi_python_generated/models/post_list_add_member_request_variables.py +91 -0
  249. twitter_openapi_python_generated/models/post_list_remove_member_request.py +101 -0
  250. twitter_openapi_python_generated/models/post_unfavorite_tweet_request.py +5 -4
  251. twitter_openapi_python_generated/models/primary_community_topic.py +6 -5
  252. twitter_openapi_python_generated/models/profile_bio.py +97 -0
  253. twitter_openapi_python_generated/models/profile_bio_entities.py +98 -0
  254. twitter_openapi_python_generated/models/profile_bio_entities_urls.py +96 -0
  255. twitter_openapi_python_generated/models/profile_response.py +5 -5
  256. twitter_openapi_python_generated/models/profile_response_data.py +4 -3
  257. twitter_openapi_python_generated/models/quoted_ref_result.py +4 -3
  258. twitter_openapi_python_generated/models/quoted_status_permalink.py +4 -3
  259. twitter_openapi_python_generated/models/ranked_community_result.py +4 -3
  260. twitter_openapi_python_generated/models/ranked_community_results.py +4 -3
  261. twitter_openapi_python_generated/models/ranked_community_tweet_data.py +4 -3
  262. twitter_openapi_python_generated/models/retweet.py +8 -7
  263. twitter_openapi_python_generated/models/retweet_legacy.py +4 -3
  264. twitter_openapi_python_generated/models/rich_message.py +4 -3
  265. twitter_openapi_python_generated/models/scheduled_tweets_viewer.py +89 -0
  266. twitter_openapi_python_generated/models/search_by_raw_query.py +4 -3
  267. twitter_openapi_python_generated/models/search_timeline.py +4 -3
  268. twitter_openapi_python_generated/models/search_timeline_data.py +4 -3
  269. twitter_openapi_python_generated/models/search_timeline_response.py +5 -5
  270. twitter_openapi_python_generated/models/self_thread.py +6 -5
  271. twitter_openapi_python_generated/models/sensitive_media_warning.py +4 -3
  272. twitter_openapi_python_generated/models/session.py +12 -11
  273. twitter_openapi_python_generated/models/smarttag.py +97 -0
  274. twitter_openapi_python_generated/models/smarttag_tag.py +89 -0
  275. twitter_openapi_python_generated/models/social_context_landing_url.py +4 -3
  276. twitter_openapi_python_generated/models/social_context_union.py +3 -2
  277. twitter_openapi_python_generated/models/super_follow_user_profile.py +89 -0
  278. twitter_openapi_python_generated/models/super_follows_reply_user_result.py +4 -3
  279. twitter_openapi_python_generated/models/super_follows_reply_user_result_core.py +89 -0
  280. twitter_openapi_python_generated/models/super_follows_reply_user_result_data.py +12 -11
  281. twitter_openapi_python_generated/models/super_follows_reply_user_result_legacy.py +4 -3
  282. twitter_openapi_python_generated/models/text.py +5 -5
  283. twitter_openapi_python_generated/models/text_entity.py +4 -3
  284. twitter_openapi_python_generated/models/text_entity_ref.py +4 -3
  285. twitter_openapi_python_generated/models/text_highlight.py +4 -3
  286. twitter_openapi_python_generated/models/thumbnail_image.py +4 -3
  287. twitter_openapi_python_generated/models/timeline.py +5 -5
  288. twitter_openapi_python_generated/models/timeline_add_entries.py +5 -5
  289. twitter_openapi_python_generated/models/timeline_add_entry.py +8 -7
  290. twitter_openapi_python_generated/models/timeline_add_to_module.py +5 -5
  291. twitter_openapi_python_generated/models/timeline_clear_cache.py +4 -3
  292. twitter_openapi_python_generated/models/timeline_clear_entries_unread_state.py +4 -3
  293. twitter_openapi_python_generated/models/timeline_community.py +4 -3
  294. twitter_openapi_python_generated/models/timeline_cover_behavior.py +4 -3
  295. twitter_openapi_python_generated/models/timeline_cover_behavior_url.py +4 -3
  296. twitter_openapi_python_generated/models/timeline_frame.py +97 -0
  297. twitter_openapi_python_generated/models/timeline_general_context.py +4 -3
  298. twitter_openapi_python_generated/models/timeline_half_cover.py +5 -5
  299. twitter_openapi_python_generated/models/timeline_label.py +101 -0
  300. twitter_openapi_python_generated/models/timeline_mark_entries_unread_greater_than_sort_index.py +6 -5
  301. twitter_openapi_python_generated/models/timeline_message_prompt.py +4 -3
  302. twitter_openapi_python_generated/models/timeline_notification.py +4 -3
  303. twitter_openapi_python_generated/models/timeline_pin_entry.py +4 -3
  304. twitter_openapi_python_generated/models/timeline_prompt.py +4 -3
  305. twitter_openapi_python_generated/models/timeline_replace_entry.py +4 -3
  306. twitter_openapi_python_generated/models/timeline_response.py +5 -5
  307. twitter_openapi_python_generated/models/timeline_result.py +4 -3
  308. twitter_openapi_python_generated/models/timeline_show_alert.py +18 -7
  309. twitter_openapi_python_generated/models/timeline_show_alert_rich_text.py +4 -3
  310. twitter_openapi_python_generated/models/timeline_show_cover.py +4 -3
  311. twitter_openapi_python_generated/models/timeline_terminate_timeline.py +4 -3
  312. twitter_openapi_python_generated/models/timeline_timeline_cursor.py +4 -3
  313. twitter_openapi_python_generated/models/timeline_timeline_item.py +4 -3
  314. twitter_openapi_python_generated/models/timeline_timeline_module.py +5 -5
  315. twitter_openapi_python_generated/models/timeline_tombstone.py +4 -3
  316. twitter_openapi_python_generated/models/timeline_topic_context.py +4 -3
  317. twitter_openapi_python_generated/models/timeline_trend.py +20 -7
  318. twitter_openapi_python_generated/models/timeline_tweet.py +4 -3
  319. twitter_openapi_python_generated/models/timeline_twitter_list.py +101 -0
  320. twitter_openapi_python_generated/models/timeline_user.py +4 -3
  321. twitter_openapi_python_generated/models/timestamp.py +4 -3
  322. twitter_openapi_python_generated/models/tombstone_entity.py +4 -3
  323. twitter_openapi_python_generated/models/tombstone_info.py +4 -3
  324. twitter_openapi_python_generated/models/tombstone_ref.py +4 -3
  325. twitter_openapi_python_generated/models/tombstone_rich_text.py +5 -5
  326. twitter_openapi_python_generated/models/topic_context.py +4 -3
  327. twitter_openapi_python_generated/models/tracing.py +6 -5
  328. twitter_openapi_python_generated/models/trend_image.py +4 -3
  329. twitter_openapi_python_generated/models/trend_metadata.py +8 -5
  330. twitter_openapi_python_generated/models/trend_results.py +6 -5
  331. twitter_openapi_python_generated/models/tweet.py +52 -9
  332. twitter_openapi_python_generated/models/tweet_card.py +4 -3
  333. twitter_openapi_python_generated/models/tweet_card_legacy.py +6 -7
  334. twitter_openapi_python_generated/models/tweet_card_legacy_binding_value.py +4 -3
  335. twitter_openapi_python_generated/models/tweet_card_legacy_binding_value_data.py +4 -3
  336. twitter_openapi_python_generated/models/tweet_card_legacy_binding_value_data_image.py +4 -3
  337. twitter_openapi_python_generated/models/tweet_card_platform.py +4 -3
  338. twitter_openapi_python_generated/models/tweet_card_platform_audience.py +4 -3
  339. twitter_openapi_python_generated/models/tweet_card_platform_data.py +4 -3
  340. twitter_openapi_python_generated/models/tweet_card_platform_device.py +6 -5
  341. twitter_openapi_python_generated/models/tweet_detail_response.py +5 -5
  342. twitter_openapi_python_generated/models/tweet_detail_response_data.py +4 -3
  343. twitter_openapi_python_generated/models/tweet_edit_control.py +10 -9
  344. twitter_openapi_python_generated/models/tweet_edit_control_initial.py +8 -7
  345. twitter_openapi_python_generated/models/tweet_edit_prespective.py +4 -3
  346. twitter_openapi_python_generated/models/tweet_favoriters_response.py +5 -5
  347. twitter_openapi_python_generated/models/tweet_favoriters_response_data.py +4 -3
  348. twitter_openapi_python_generated/models/tweet_interstitial.py +6 -5
  349. twitter_openapi_python_generated/models/tweet_interstitial_reveal_text.py +5 -5
  350. twitter_openapi_python_generated/models/tweet_interstitial_text.py +5 -5
  351. twitter_openapi_python_generated/models/tweet_interstitial_text_entity.py +4 -3
  352. twitter_openapi_python_generated/models/tweet_interstitial_text_entity_ref.py +4 -3
  353. twitter_openapi_python_generated/models/tweet_legacy.py +20 -19
  354. twitter_openapi_python_generated/models/tweet_legacy_scopes.py +4 -3
  355. twitter_openapi_python_generated/models/tweet_limited_action_results.py +5 -5
  356. twitter_openapi_python_generated/models/tweet_post_cta.py +105 -0
  357. twitter_openapi_python_generated/models/tweet_preview_display.py +4 -3
  358. twitter_openapi_python_generated/models/tweet_preview_display_cta.py +4 -3
  359. twitter_openapi_python_generated/models/tweet_preview_display_cta_url.py +4 -3
  360. twitter_openapi_python_generated/models/tweet_preview_display_tweet.py +17 -10
  361. twitter_openapi_python_generated/models/tweet_preview_display_tweet_view_count.py +6 -5
  362. twitter_openapi_python_generated/models/tweet_previous_counts.py +4 -3
  363. twitter_openapi_python_generated/models/tweet_result_by_rest_id_data.py +4 -3
  364. twitter_openapi_python_generated/models/tweet_result_by_rest_id_response.py +5 -5
  365. twitter_openapi_python_generated/models/tweet_retweeters_response.py +5 -5
  366. twitter_openapi_python_generated/models/tweet_retweeters_response_data.py +4 -3
  367. twitter_openapi_python_generated/models/tweet_tombstone.py +4 -3
  368. twitter_openapi_python_generated/models/tweet_unavailable.py +4 -3
  369. twitter_openapi_python_generated/models/tweet_union.py +3 -2
  370. twitter_openapi_python_generated/models/tweet_view.py +6 -5
  371. twitter_openapi_python_generated/models/tweet_with_visibility_results.py +4 -3
  372. twitter_openapi_python_generated/models/twitter_list.py +146 -0
  373. twitter_openapi_python_generated/models/type_name.py +6 -0
  374. twitter_openapi_python_generated/models/unfavorite_tweet.py +4 -3
  375. twitter_openapi_python_generated/models/unfavorite_tweet_response.py +5 -5
  376. twitter_openapi_python_generated/models/unified_card.py +4 -3
  377. twitter_openapi_python_generated/models/url.py +4 -3
  378. twitter_openapi_python_generated/models/urt_endpoint_options.py +7 -7
  379. twitter_openapi_python_generated/models/urt_endpoint_request_params.py +4 -3
  380. twitter_openapi_python_generated/models/user.py +150 -12
  381. twitter_openapi_python_generated/models/user_action_counts.py +89 -0
  382. twitter_openapi_python_generated/models/user_avatar.py +89 -0
  383. twitter_openapi_python_generated/models/user_banner.py +89 -0
  384. twitter_openapi_python_generated/models/user_core.py +101 -0
  385. twitter_openapi_python_generated/models/user_dm_permissions.py +89 -0
  386. twitter_openapi_python_generated/models/user_features.py +4 -3
  387. twitter_openapi_python_generated/models/user_highlights_info.py +4 -3
  388. twitter_openapi_python_generated/models/user_highlights_tweets_data.py +4 -3
  389. twitter_openapi_python_generated/models/user_highlights_tweets_response.py +5 -5
  390. twitter_openapi_python_generated/models/user_highlights_tweets_result.py +4 -3
  391. twitter_openapi_python_generated/models/user_highlights_tweets_timeline.py +4 -3
  392. twitter_openapi_python_generated/models/user_highlights_tweets_user.py +4 -3
  393. twitter_openapi_python_generated/models/user_legacy.py +26 -14
  394. twitter_openapi_python_generated/models/user_legacy_extended_profile.py +4 -3
  395. twitter_openapi_python_generated/models/user_legacy_extended_profile_birthdate.py +4 -3
  396. twitter_openapi_python_generated/models/user_location.py +89 -0
  397. twitter_openapi_python_generated/models/user_media_permissions.py +89 -0
  398. twitter_openapi_python_generated/models/user_notifications_settings.py +89 -0
  399. twitter_openapi_python_generated/models/user_pinned_items.py +90 -0
  400. twitter_openapi_python_generated/models/user_privacy.py +89 -0
  401. twitter_openapi_python_generated/models/user_professional.py +9 -9
  402. twitter_openapi_python_generated/models/user_professional_category.py +4 -3
  403. twitter_openapi_python_generated/models/user_profile.py +93 -0
  404. twitter_openapi_python_generated/models/user_profile_metadata.py +89 -0
  405. twitter_openapi_python_generated/models/user_profile_translation.py +89 -0
  406. twitter_openapi_python_generated/models/user_relationship_counts.py +91 -0
  407. twitter_openapi_python_generated/models/user_relationship_perspectives.py +99 -0
  408. twitter_openapi_python_generated/models/user_response.py +5 -5
  409. twitter_openapi_python_generated/models/user_response_data.py +4 -3
  410. twitter_openapi_python_generated/models/user_result_by_screen_name.py +6 -5
  411. twitter_openapi_python_generated/models/user_result_by_screen_name_core.py +91 -0
  412. twitter_openapi_python_generated/models/user_result_by_screen_name_legacy.py +4 -3
  413. twitter_openapi_python_generated/models/user_result_by_screen_name_result.py +32 -11
  414. twitter_openapi_python_generated/models/user_result_core.py +7 -4
  415. twitter_openapi_python_generated/models/user_result_privacy.py +89 -0
  416. twitter_openapi_python_generated/models/user_result_relationship_perspectives.py +95 -0
  417. twitter_openapi_python_generated/models/user_results.py +7 -4
  418. twitter_openapi_python_generated/models/user_tip_jar_settings.py +4 -3
  419. twitter_openapi_python_generated/models/user_tweet_counts.py +91 -0
  420. twitter_openapi_python_generated/models/user_tweets_data.py +4 -3
  421. twitter_openapi_python_generated/models/user_tweets_response.py +5 -5
  422. twitter_openapi_python_generated/models/user_tweets_result_v1.py +4 -3
  423. twitter_openapi_python_generated/models/user_tweets_result_v2.py +4 -3
  424. twitter_openapi_python_generated/models/user_tweets_user.py +4 -3
  425. twitter_openapi_python_generated/models/user_unavailable.py +4 -3
  426. twitter_openapi_python_generated/models/user_union.py +6 -3
  427. twitter_openapi_python_generated/models/user_value.py +12 -9
  428. twitter_openapi_python_generated/models/user_verification.py +101 -0
  429. twitter_openapi_python_generated/models/user_verification_info.py +4 -3
  430. twitter_openapi_python_generated/models/user_verification_info_reason.py +6 -5
  431. twitter_openapi_python_generated/models/user_verification_info_reason_description.py +5 -5
  432. twitter_openapi_python_generated/models/user_verification_info_reason_description_entities.py +4 -3
  433. twitter_openapi_python_generated/models/user_verification_info_reason_description_entities_ref.py +4 -3
  434. twitter_openapi_python_generated/models/user_website.py +89 -0
  435. twitter_openapi_python_generated/models/users_response.py +5 -5
  436. twitter_openapi_python_generated/models/users_response_data.py +5 -5
  437. twitter_openapi_python_generated/models/viewer_badge_counts_response.py +102 -0
  438. twitter_openapi_python_generated/models/viewer_badge_counts_response_data.py +93 -0
  439. twitter_openapi_python_generated/models/viewer_badge_counts_result.py +96 -0
  440. twitter_openapi_python_generated/models/viewer_badge_counts_user_results.py +93 -0
  441. twitter_openapi_python_generated/models/viewer_badge_counts_viewer.py +93 -0
  442. twitter_openapi_python_generated/rest.py +86 -10
  443. twitter_openapi_python_generated-0.0.35.dist-info/METADATA +926 -0
  444. twitter_openapi_python_generated-0.0.35.dist-info/RECORD +456 -0
  445. {twitter_openapi_python_generated-0.0.33.dist-info → twitter_openapi_python_generated-0.0.35.dist-info}/WHEEL +1 -1
  446. {twitter_openapi_python_generated-0.0.33.dist-info → twitter_openapi_python_generated-0.0.35.dist-info}/licenses/LICENSE +31 -31
  447. {twitter_openapi_python_generated-0.0.33.dist-info → twitter_openapi_python_generated-0.0.35.dist-info}/licenses/LICENSE.AGPL +660 -660
  448. twitter_openapi_python_generated/models/community_data.py +0 -219
  449. twitter_openapi_python_generated-0.0.33.dist-info/METADATA +0 -29
  450. twitter_openapi_python_generated-0.0.33.dist-info/RECORD +0 -335
  451. {twitter_openapi_python_generated-0.0.33.dist-info → twitter_openapi_python_generated-0.0.35.dist-info}/top_level.txt +0 -0
@@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional
23
23
  from twitter_openapi_python_generated.models.tombstone_entity import TombstoneEntity
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
26
+ from pydantic_core import to_jsonable_python
26
27
 
27
28
  class TombstoneRichText(BaseModel):
28
29
  """
@@ -34,7 +35,8 @@ class TombstoneRichText(BaseModel):
34
35
  __properties: ClassVar[List[str]] = ["entities", "rtl", "text"]
35
36
 
36
37
  model_config = ConfigDict(
37
- populate_by_name=True,
38
+ validate_by_name=True,
39
+ validate_by_alias=True,
38
40
  validate_assignment=True,
39
41
  protected_namespaces=(),
40
42
  )
@@ -46,8 +48,7 @@ class TombstoneRichText(BaseModel):
46
48
 
47
49
  def to_json(self) -> str:
48
50
  """Returns the JSON representation of the model using alias"""
49
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
- return json.dumps(self.to_dict())
51
+ return json.dumps(to_jsonable_python(self.to_dict()))
51
52
 
52
53
  @classmethod
53
54
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -76,8 +77,7 @@ class TombstoneRichText(BaseModel):
76
77
  _items = []
77
78
  if self.entities:
78
79
  for _item_entities in self.entities:
79
- if _item_entities:
80
- _items.append(_item_entities.to_dict())
80
+ _items.append(_item_entities.to_dict() if _item_entities is not None else None)
81
81
  _dict['entities'] = _items
82
82
  return _dict
83
83
 
@@ -22,6 +22,7 @@ from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
+ from pydantic_core import to_jsonable_python
25
26
 
26
27
  class TopicContext(BaseModel):
27
28
  """
@@ -37,7 +38,8 @@ class TopicContext(BaseModel):
37
38
  __properties: ClassVar[List[str]] = ["description", "following", "icon_url", "id", "name", "not_interested", "topic_id"]
38
39
 
39
40
  model_config = ConfigDict(
40
- populate_by_name=True,
41
+ validate_by_name=True,
42
+ validate_by_alias=True,
41
43
  validate_assignment=True,
42
44
  protected_namespaces=(),
43
45
  )
@@ -49,8 +51,7 @@ class TopicContext(BaseModel):
49
51
 
50
52
  def to_json(self) -> str:
51
53
  """Returns the JSON representation of the model using alias"""
52
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
53
- return json.dumps(self.to_dict())
54
+ return json.dumps(to_jsonable_python(self.to_dict()))
54
55
 
55
56
  @classmethod
56
57
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List
23
23
  from typing_extensions import Annotated
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
26
+ from pydantic_core import to_jsonable_python
26
27
 
27
28
  class Tracing(BaseModel):
28
29
  """
@@ -31,15 +32,16 @@ class Tracing(BaseModel):
31
32
  trace_id: Annotated[str, Field(strict=True)]
32
33
  __properties: ClassVar[List[str]] = ["trace_id"]
33
34
 
34
- @field_validator('trace_id')
35
+ @field_validator('trace_id', mode="before")
35
36
  def trace_id_validate_regular_expression(cls, value):
36
37
  """Validates the regular expression"""
37
- if not re.match(r"^[0-9a-f]{16}$", value):
38
+ if isinstance(value, str) and not re.match(r"^[0-9a-f]{16}$", value):
38
39
  raise ValueError(r"must validate the regular expression /^[0-9a-f]{16}$/")
39
40
  return value
40
41
 
41
42
  model_config = ConfigDict(
42
- populate_by_name=True,
43
+ validate_by_name=True,
44
+ validate_by_alias=True,
43
45
  validate_assignment=True,
44
46
  protected_namespaces=(),
45
47
  )
@@ -51,8 +53,7 @@ class Tracing(BaseModel):
51
53
 
52
54
  def to_json(self) -> str:
53
55
  """Returns the JSON representation of the model using alias"""
54
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
55
- return json.dumps(self.to_dict())
56
+ return json.dumps(to_jsonable_python(self.to_dict()))
56
57
 
57
58
  @classmethod
58
59
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -22,6 +22,7 @@ from pydantic import BaseModel, ConfigDict, StrictStr
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
+ from pydantic_core import to_jsonable_python
25
26
 
26
27
  class TrendImage(BaseModel):
27
28
  """
@@ -31,7 +32,8 @@ class TrendImage(BaseModel):
31
32
  __properties: ClassVar[List[str]] = ["url"]
32
33
 
33
34
  model_config = ConfigDict(
34
- populate_by_name=True,
35
+ validate_by_name=True,
36
+ validate_by_alias=True,
35
37
  validate_assignment=True,
36
38
  protected_namespaces=(),
37
39
  )
@@ -43,8 +45,7 @@ class TrendImage(BaseModel):
43
45
 
44
46
  def to_json(self) -> str:
45
47
  """Returns the JSON representation of the model using alias"""
46
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
- return json.dumps(self.to_dict())
48
+ return json.dumps(to_jsonable_python(self.to_dict()))
48
49
 
49
50
  @classmethod
50
51
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -18,21 +18,24 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
- from pydantic import BaseModel, ConfigDict
21
+ from pydantic import BaseModel, ConfigDict, StrictStr
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
23
  from twitter_openapi_python_generated.models.social_context_landing_url import SocialContextLandingUrl
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
26
+ from pydantic_core import to_jsonable_python
26
27
 
27
28
  class TrendMetadata(BaseModel):
28
29
  """
29
30
  TrendMetadata
30
31
  """ # noqa: E501
32
+ domain_context: Optional[StrictStr] = None
31
33
  url: Optional[SocialContextLandingUrl] = None
32
- __properties: ClassVar[List[str]] = ["url"]
34
+ __properties: ClassVar[List[str]] = ["domain_context", "url"]
33
35
 
34
36
  model_config = ConfigDict(
35
- populate_by_name=True,
37
+ validate_by_name=True,
38
+ validate_by_alias=True,
36
39
  validate_assignment=True,
37
40
  protected_namespaces=(),
38
41
  )
@@ -44,8 +47,7 @@ class TrendMetadata(BaseModel):
44
47
 
45
48
  def to_json(self) -> str:
46
49
  """Returns the JSON representation of the model using alias"""
47
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
- return json.dumps(self.to_dict())
50
+ return json.dumps(to_jsonable_python(self.to_dict()))
49
51
 
50
52
  @classmethod
51
53
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -85,6 +87,7 @@ class TrendMetadata(BaseModel):
85
87
  return cls.model_validate(obj)
86
88
 
87
89
  _obj = cls.model_validate({
90
+ "domain_context": obj.get("domain_context"),
88
91
  "url": SocialContextLandingUrl.from_dict(obj["url"]) if obj.get("url") is not None else None
89
92
  })
90
93
  return _obj
@@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List
23
23
  from typing_extensions import Annotated
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
26
+ from pydantic_core import to_jsonable_python
26
27
 
27
28
  class TrendResults(BaseModel):
28
29
  """
@@ -31,15 +32,16 @@ class TrendResults(BaseModel):
31
32
  rest_id: Annotated[str, Field(strict=True)]
32
33
  __properties: ClassVar[List[str]] = ["rest_id"]
33
34
 
34
- @field_validator('rest_id')
35
+ @field_validator('rest_id', mode="before")
35
36
  def rest_id_validate_regular_expression(cls, value):
36
37
  """Validates the regular expression"""
37
- if not re.match(r"^[0-9]+$", value):
38
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
38
39
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
39
40
  return value
40
41
 
41
42
  model_config = ConfigDict(
42
- populate_by_name=True,
43
+ validate_by_name=True,
44
+ validate_by_alias=True,
43
45
  validate_assignment=True,
44
46
  protected_namespaces=(),
45
47
  )
@@ -51,8 +53,7 @@ class TrendResults(BaseModel):
51
53
 
52
54
  def to_json(self) -> str:
53
55
  """Returns the JSON representation of the model using alias"""
54
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
55
- return json.dumps(self.to_dict())
56
+ return json.dumps(to_jsonable_python(self.to_dict()))
56
57
 
57
58
  @classmethod
58
59
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -24,14 +24,19 @@ from typing_extensions import Annotated
24
24
  from twitter_openapi_python_generated.models.article import Article
25
25
  from twitter_openapi_python_generated.models.author_community_relationship import AuthorCommunityRelationship
26
26
  from twitter_openapi_python_generated.models.birdwatch_pivot import BirdwatchPivot
27
- from twitter_openapi_python_generated.models.community import Community
27
+ from twitter_openapi_python_generated.models.cashtag_attachment import CashtagAttachment
28
28
  from twitter_openapi_python_generated.models.community_relationship import CommunityRelationship
29
+ from twitter_openapi_python_generated.models.community_result import CommunityResult
30
+ from twitter_openapi_python_generated.models.content_disclosure import ContentDisclosure
31
+ from twitter_openapi_python_generated.models.grok_annotation import GrokAnnotation
32
+ from twitter_openapi_python_generated.models.grok_translated_post_with_availability import GrokTranslatedPostWithAvailability
29
33
  from twitter_openapi_python_generated.models.note_tweet import NoteTweet
30
34
  from twitter_openapi_python_generated.models.super_follows_reply_user_result import SuperFollowsReplyUserResult
31
35
  from twitter_openapi_python_generated.models.trend_results import TrendResults
32
36
  from twitter_openapi_python_generated.models.tweet_card import TweetCard
33
37
  from twitter_openapi_python_generated.models.tweet_edit_control import TweetEditControl
34
38
  from twitter_openapi_python_generated.models.tweet_edit_prespective import TweetEditPrespective
39
+ from twitter_openapi_python_generated.models.tweet_post_cta import TweetPostCta
35
40
  from twitter_openapi_python_generated.models.tweet_previous_counts import TweetPreviousCounts
36
41
  from twitter_openapi_python_generated.models.tweet_view import TweetView
37
42
  from twitter_openapi_python_generated.models.type_name import TypeName
@@ -39,6 +44,7 @@ from twitter_openapi_python_generated.models.unified_card import UnifiedCard
39
44
  from twitter_openapi_python_generated.models.user_result_core import UserResultCore
40
45
  from typing import Optional, Set
41
46
  from typing_extensions import Self
47
+ from pydantic_core import to_jsonable_python
42
48
 
43
49
  class Tweet(BaseModel):
44
50
  """
@@ -49,18 +55,26 @@ class Tweet(BaseModel):
49
55
  author_community_relationship: Optional[AuthorCommunityRelationship] = None
50
56
  birdwatch_pivot: Optional[BirdwatchPivot] = None
51
57
  card: Optional[TweetCard] = None
58
+ cashtag_attachments: Optional[List[CashtagAttachment]] = None
52
59
  community_relationship: Optional[CommunityRelationship] = None
53
- community_results: Optional[Community] = None
60
+ community_results: Optional[CommunityResult] = None
61
+ content_disclosure: Optional[ContentDisclosure] = None
54
62
  core: Optional[UserResultCore] = None
55
63
  edit_control: Optional[TweetEditControl] = None
56
64
  edit_prespective: Optional[TweetEditPrespective] = None
57
65
  grok_analysis_button: Optional[StrictBool] = None
58
66
  grok_analysis_followups: Optional[List[StrictStr]] = None
67
+ grok_annotations: Optional[GrokAnnotation] = None
59
68
  grok_share_attachment: Optional[GrokShareAttachment] = None
69
+ grok_translated_post_with_availability: Optional[GrokTranslatedPostWithAvailability] = None
60
70
  has_birdwatch_notes: Optional[StrictBool] = None
61
71
  is_translatable: Optional[StrictBool] = None
62
72
  legacy: Optional[TweetLegacy] = None
73
+ nested_quoted_tweet_results: Optional[ItemResult] = None
63
74
  note_tweet: Optional[NoteTweet] = None
75
+ post_cta: Optional[TweetPostCta] = Field(default=None, alias="postCta")
76
+ post_image_description: Optional[StrictStr] = None
77
+ post_video_description: Optional[StrictStr] = None
64
78
  previous_counts: Optional[TweetPreviousCounts] = None
65
79
  quick_promote_eligibility: Optional[Dict[str, Any]] = None
66
80
  quoted_ref_result: Optional[QuotedRefResult] = Field(default=None, alias="quotedRefResult")
@@ -72,17 +86,18 @@ class Tweet(BaseModel):
72
86
  unified_card: Optional[UnifiedCard] = None
73
87
  unmention_data: Optional[Dict[str, Any]] = None
74
88
  views: Optional[TweetView] = None
75
- __properties: ClassVar[List[str]] = ["__typename", "article", "author_community_relationship", "birdwatch_pivot", "card", "community_relationship", "community_results", "core", "edit_control", "edit_prespective", "grok_analysis_button", "grok_analysis_followups", "grok_share_attachment", "has_birdwatch_notes", "is_translatable", "legacy", "note_tweet", "previous_counts", "quick_promote_eligibility", "quotedRefResult", "quoted_status_result", "rest_id", "source", "superFollowsReplyUserResult", "trend_results", "unified_card", "unmention_data", "views"]
89
+ __properties: ClassVar[List[str]] = ["__typename", "article", "author_community_relationship", "birdwatch_pivot", "card", "cashtag_attachments", "community_relationship", "community_results", "content_disclosure", "core", "edit_control", "edit_prespective", "grok_analysis_button", "grok_analysis_followups", "grok_annotations", "grok_share_attachment", "grok_translated_post_with_availability", "has_birdwatch_notes", "is_translatable", "legacy", "nested_quoted_tweet_results", "note_tweet", "postCta", "post_image_description", "post_video_description", "previous_counts", "quick_promote_eligibility", "quotedRefResult", "quoted_status_result", "rest_id", "source", "superFollowsReplyUserResult", "trend_results", "unified_card", "unmention_data", "views"]
76
90
 
77
- @field_validator('rest_id')
91
+ @field_validator('rest_id', mode="before")
78
92
  def rest_id_validate_regular_expression(cls, value):
79
93
  """Validates the regular expression"""
80
- if not re.match(r"^[0-9]+$", value):
94
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
81
95
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
82
96
  return value
83
97
 
84
98
  model_config = ConfigDict(
85
- populate_by_name=True,
99
+ validate_by_name=True,
100
+ validate_by_alias=True,
86
101
  validate_assignment=True,
87
102
  protected_namespaces=(),
88
103
  )
@@ -94,8 +109,7 @@ class Tweet(BaseModel):
94
109
 
95
110
  def to_json(self) -> str:
96
111
  """Returns the JSON representation of the model using alias"""
97
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
98
- return json.dumps(self.to_dict())
112
+ return json.dumps(to_jsonable_python(self.to_dict()))
99
113
 
100
114
  @classmethod
101
115
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -132,12 +146,21 @@ class Tweet(BaseModel):
132
146
  # override the default output from pydantic by calling `to_dict()` of card
133
147
  if self.card:
134
148
  _dict['card'] = self.card.to_dict()
149
+ # override the default output from pydantic by calling `to_dict()` of each item in cashtag_attachments (list)
150
+ _items = []
151
+ if self.cashtag_attachments:
152
+ for _item_cashtag_attachments in self.cashtag_attachments:
153
+ _items.append(_item_cashtag_attachments.to_dict() if _item_cashtag_attachments is not None else None)
154
+ _dict['cashtag_attachments'] = _items
135
155
  # override the default output from pydantic by calling `to_dict()` of community_relationship
136
156
  if self.community_relationship:
137
157
  _dict['community_relationship'] = self.community_relationship.to_dict()
138
158
  # override the default output from pydantic by calling `to_dict()` of community_results
139
159
  if self.community_results:
140
160
  _dict['community_results'] = self.community_results.to_dict()
161
+ # override the default output from pydantic by calling `to_dict()` of content_disclosure
162
+ if self.content_disclosure:
163
+ _dict['content_disclosure'] = self.content_disclosure.to_dict()
141
164
  # override the default output from pydantic by calling `to_dict()` of core
142
165
  if self.core:
143
166
  _dict['core'] = self.core.to_dict()
@@ -147,15 +170,27 @@ class Tweet(BaseModel):
147
170
  # override the default output from pydantic by calling `to_dict()` of edit_prespective
148
171
  if self.edit_prespective:
149
172
  _dict['edit_prespective'] = self.edit_prespective.to_dict()
173
+ # override the default output from pydantic by calling `to_dict()` of grok_annotations
174
+ if self.grok_annotations:
175
+ _dict['grok_annotations'] = self.grok_annotations.to_dict()
150
176
  # override the default output from pydantic by calling `to_dict()` of grok_share_attachment
151
177
  if self.grok_share_attachment:
152
178
  _dict['grok_share_attachment'] = self.grok_share_attachment.to_dict()
179
+ # override the default output from pydantic by calling `to_dict()` of grok_translated_post_with_availability
180
+ if self.grok_translated_post_with_availability:
181
+ _dict['grok_translated_post_with_availability'] = self.grok_translated_post_with_availability.to_dict()
153
182
  # override the default output from pydantic by calling `to_dict()` of legacy
154
183
  if self.legacy:
155
184
  _dict['legacy'] = self.legacy.to_dict()
185
+ # override the default output from pydantic by calling `to_dict()` of nested_quoted_tweet_results
186
+ if self.nested_quoted_tweet_results:
187
+ _dict['nested_quoted_tweet_results'] = self.nested_quoted_tweet_results.to_dict()
156
188
  # override the default output from pydantic by calling `to_dict()` of note_tweet
157
189
  if self.note_tweet:
158
190
  _dict['note_tweet'] = self.note_tweet.to_dict()
191
+ # override the default output from pydantic by calling `to_dict()` of post_cta
192
+ if self.post_cta:
193
+ _dict['postCta'] = self.post_cta.to_dict()
159
194
  # override the default output from pydantic by calling `to_dict()` of previous_counts
160
195
  if self.previous_counts:
161
196
  _dict['previous_counts'] = self.previous_counts.to_dict()
@@ -194,18 +229,26 @@ class Tweet(BaseModel):
194
229
  "author_community_relationship": AuthorCommunityRelationship.from_dict(obj["author_community_relationship"]) if obj.get("author_community_relationship") is not None else None,
195
230
  "birdwatch_pivot": BirdwatchPivot.from_dict(obj["birdwatch_pivot"]) if obj.get("birdwatch_pivot") is not None else None,
196
231
  "card": TweetCard.from_dict(obj["card"]) if obj.get("card") is not None else None,
232
+ "cashtag_attachments": [CashtagAttachment.from_dict(_item) for _item in obj["cashtag_attachments"]] if obj.get("cashtag_attachments") is not None else None,
197
233
  "community_relationship": CommunityRelationship.from_dict(obj["community_relationship"]) if obj.get("community_relationship") is not None else None,
198
- "community_results": Community.from_dict(obj["community_results"]) if obj.get("community_results") is not None else None,
234
+ "community_results": CommunityResult.from_dict(obj["community_results"]) if obj.get("community_results") is not None else None,
235
+ "content_disclosure": ContentDisclosure.from_dict(obj["content_disclosure"]) if obj.get("content_disclosure") is not None else None,
199
236
  "core": UserResultCore.from_dict(obj["core"]) if obj.get("core") is not None else None,
200
237
  "edit_control": TweetEditControl.from_dict(obj["edit_control"]) if obj.get("edit_control") is not None else None,
201
238
  "edit_prespective": TweetEditPrespective.from_dict(obj["edit_prespective"]) if obj.get("edit_prespective") is not None else None,
202
239
  "grok_analysis_button": obj.get("grok_analysis_button"),
203
240
  "grok_analysis_followups": obj.get("grok_analysis_followups"),
241
+ "grok_annotations": GrokAnnotation.from_dict(obj["grok_annotations"]) if obj.get("grok_annotations") is not None else None,
204
242
  "grok_share_attachment": GrokShareAttachment.from_dict(obj["grok_share_attachment"]) if obj.get("grok_share_attachment") is not None else None,
243
+ "grok_translated_post_with_availability": GrokTranslatedPostWithAvailability.from_dict(obj["grok_translated_post_with_availability"]) if obj.get("grok_translated_post_with_availability") is not None else None,
205
244
  "has_birdwatch_notes": obj.get("has_birdwatch_notes"),
206
245
  "is_translatable": obj.get("is_translatable"),
207
246
  "legacy": TweetLegacy.from_dict(obj["legacy"]) if obj.get("legacy") is not None else None,
247
+ "nested_quoted_tweet_results": ItemResult.from_dict(obj["nested_quoted_tweet_results"]) if obj.get("nested_quoted_tweet_results") is not None else None,
208
248
  "note_tweet": NoteTweet.from_dict(obj["note_tweet"]) if obj.get("note_tweet") is not None else None,
249
+ "postCta": TweetPostCta.from_dict(obj["postCta"]) if obj.get("postCta") is not None else None,
250
+ "post_image_description": obj.get("post_image_description"),
251
+ "post_video_description": obj.get("post_video_description"),
209
252
  "previous_counts": TweetPreviousCounts.from_dict(obj["previous_counts"]) if obj.get("previous_counts") is not None else None,
210
253
  "quick_promote_eligibility": obj.get("quick_promote_eligibility"),
211
254
  "quotedRefResult": QuotedRefResult.from_dict(obj["quotedRefResult"]) if obj.get("quotedRefResult") 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.tweet_card_legacy import TweetCardLegacy
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
26
+ from pydantic_core import to_jsonable_python
26
27
 
27
28
  class TweetCard(BaseModel):
28
29
  """
@@ -33,7 +34,8 @@ class TweetCard(BaseModel):
33
34
  __properties: ClassVar[List[str]] = ["legacy", "rest_id"]
34
35
 
35
36
  model_config = ConfigDict(
36
- populate_by_name=True,
37
+ validate_by_name=True,
38
+ validate_by_alias=True,
37
39
  validate_assignment=True,
38
40
  protected_namespaces=(),
39
41
  )
@@ -45,8 +47,7 @@ class TweetCard(BaseModel):
45
47
 
46
48
  def to_json(self) -> str:
47
49
  """Returns the JSON representation of the model using alias"""
48
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
- return json.dumps(self.to_dict())
50
+ return json.dumps(to_jsonable_python(self.to_dict()))
50
51
 
51
52
  @classmethod
52
53
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -25,6 +25,7 @@ from twitter_openapi_python_generated.models.tweet_card_platform_data import Twe
25
25
  from twitter_openapi_python_generated.models.user_results import UserResults
26
26
  from typing import Optional, Set
27
27
  from typing_extensions import Self
28
+ from pydantic_core import to_jsonable_python
28
29
 
29
30
  class TweetCardLegacy(BaseModel):
30
31
  """
@@ -38,7 +39,8 @@ class TweetCardLegacy(BaseModel):
38
39
  __properties: ClassVar[List[str]] = ["binding_values", "card_platform", "name", "url", "user_refs_results"]
39
40
 
40
41
  model_config = ConfigDict(
41
- populate_by_name=True,
42
+ validate_by_name=True,
43
+ validate_by_alias=True,
42
44
  validate_assignment=True,
43
45
  protected_namespaces=(),
44
46
  )
@@ -50,8 +52,7 @@ class TweetCardLegacy(BaseModel):
50
52
 
51
53
  def to_json(self) -> str:
52
54
  """Returns the JSON representation of the model using alias"""
53
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
54
- return json.dumps(self.to_dict())
55
+ return json.dumps(to_jsonable_python(self.to_dict()))
55
56
 
56
57
  @classmethod
57
58
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -80,8 +81,7 @@ class TweetCardLegacy(BaseModel):
80
81
  _items = []
81
82
  if self.binding_values:
82
83
  for _item_binding_values in self.binding_values:
83
- if _item_binding_values:
84
- _items.append(_item_binding_values.to_dict())
84
+ _items.append(_item_binding_values.to_dict() if _item_binding_values is not None else None)
85
85
  _dict['binding_values'] = _items
86
86
  # override the default output from pydantic by calling `to_dict()` of card_platform
87
87
  if self.card_platform:
@@ -90,8 +90,7 @@ class TweetCardLegacy(BaseModel):
90
90
  _items = []
91
91
  if self.user_refs_results:
92
92
  for _item_user_refs_results in self.user_refs_results:
93
- if _item_user_refs_results:
94
- _items.append(_item_user_refs_results.to_dict())
93
+ _items.append(_item_user_refs_results.to_dict() if _item_user_refs_results is not None else None)
95
94
  _dict['user_refs_results'] = _items
96
95
  return _dict
97
96
 
@@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List
23
23
  from twitter_openapi_python_generated.models.tweet_card_legacy_binding_value_data import TweetCardLegacyBindingValueData
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
26
+ from pydantic_core import to_jsonable_python
26
27
 
27
28
  class TweetCardLegacyBindingValue(BaseModel):
28
29
  """
@@ -33,7 +34,8 @@ class TweetCardLegacyBindingValue(BaseModel):
33
34
  __properties: ClassVar[List[str]] = ["key", "value"]
34
35
 
35
36
  model_config = ConfigDict(
36
- populate_by_name=True,
37
+ validate_by_name=True,
38
+ validate_by_alias=True,
37
39
  validate_assignment=True,
38
40
  protected_namespaces=(),
39
41
  )
@@ -45,8 +47,7 @@ class TweetCardLegacyBindingValue(BaseModel):
45
47
 
46
48
  def to_json(self) -> str:
47
49
  """Returns the JSON representation of the model using alias"""
48
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
- return json.dumps(self.to_dict())
50
+ return json.dumps(to_jsonable_python(self.to_dict()))
50
51
 
51
52
  @classmethod
52
53
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -24,6 +24,7 @@ from twitter_openapi_python_generated.models.tweet_card_legacy_binding_value_dat
24
24
  from twitter_openapi_python_generated.models.user_value import UserValue
25
25
  from typing import Optional, Set
26
26
  from typing_extensions import Self
27
+ from pydantic_core import to_jsonable_python
27
28
 
28
29
  class TweetCardLegacyBindingValueData(BaseModel):
29
30
  """
@@ -39,7 +40,8 @@ class TweetCardLegacyBindingValueData(BaseModel):
39
40
  __properties: ClassVar[List[str]] = ["boolean_value", "image_color_value", "image_value", "scribe_key", "string_value", "type", "user_value"]
40
41
 
41
42
  model_config = ConfigDict(
42
- populate_by_name=True,
43
+ validate_by_name=True,
44
+ validate_by_alias=True,
43
45
  validate_assignment=True,
44
46
  protected_namespaces=(),
45
47
  )
@@ -51,8 +53,7 @@ class TweetCardLegacyBindingValueData(BaseModel):
51
53
 
52
54
  def to_json(self) -> str:
53
55
  """Returns the JSON representation of the model using alias"""
54
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
55
- return json.dumps(self.to_dict())
56
+ return json.dumps(to_jsonable_python(self.to_dict()))
56
57
 
57
58
  @classmethod
58
59
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -22,6 +22,7 @@ from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
+ from pydantic_core import to_jsonable_python
25
26
 
26
27
  class TweetCardLegacyBindingValueDataImage(BaseModel):
27
28
  """
@@ -34,7 +35,8 @@ class TweetCardLegacyBindingValueDataImage(BaseModel):
34
35
  __properties: ClassVar[List[str]] = ["alt", "height", "url", "width"]
35
36
 
36
37
  model_config = ConfigDict(
37
- populate_by_name=True,
38
+ validate_by_name=True,
39
+ validate_by_alias=True,
38
40
  validate_assignment=True,
39
41
  protected_namespaces=(),
40
42
  )
@@ -46,8 +48,7 @@ class TweetCardLegacyBindingValueDataImage(BaseModel):
46
48
 
47
49
  def to_json(self) -> str:
48
50
  """Returns the JSON representation of the model using alias"""
49
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
- return json.dumps(self.to_dict())
51
+ return json.dumps(to_jsonable_python(self.to_dict()))
51
52
 
52
53
  @classmethod
53
54
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -24,6 +24,7 @@ from twitter_openapi_python_generated.models.tweet_card_platform_audience import
24
24
  from twitter_openapi_python_generated.models.tweet_card_platform_device import TweetCardPlatformDevice
25
25
  from typing import Optional, Set
26
26
  from typing_extensions import Self
27
+ from pydantic_core import to_jsonable_python
27
28
 
28
29
  class TweetCardPlatform(BaseModel):
29
30
  """
@@ -34,7 +35,8 @@ class TweetCardPlatform(BaseModel):
34
35
  __properties: ClassVar[List[str]] = ["audience", "device"]
35
36
 
36
37
  model_config = ConfigDict(
37
- populate_by_name=True,
38
+ validate_by_name=True,
39
+ validate_by_alias=True,
38
40
  validate_assignment=True,
39
41
  protected_namespaces=(),
40
42
  )
@@ -46,8 +48,7 @@ class TweetCardPlatform(BaseModel):
46
48
 
47
49
  def to_json(self) -> str:
48
50
  """Returns the JSON representation of the model using alias"""
49
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
- return json.dumps(self.to_dict())
51
+ return json.dumps(to_jsonable_python(self.to_dict()))
51
52
 
52
53
  @classmethod
53
54
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -22,6 +22,7 @@ from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
22
22
  from typing import Any, ClassVar, Dict, List
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
+ from pydantic_core import to_jsonable_python
25
26
 
26
27
  class TweetCardPlatformAudience(BaseModel):
27
28
  """
@@ -38,7 +39,8 @@ class TweetCardPlatformAudience(BaseModel):
38
39
  return value
39
40
 
40
41
  model_config = ConfigDict(
41
- populate_by_name=True,
42
+ validate_by_name=True,
43
+ validate_by_alias=True,
42
44
  validate_assignment=True,
43
45
  protected_namespaces=(),
44
46
  )
@@ -50,8 +52,7 @@ class TweetCardPlatformAudience(BaseModel):
50
52
 
51
53
  def to_json(self) -> str:
52
54
  """Returns the JSON representation of the model using alias"""
53
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
54
- return json.dumps(self.to_dict())
55
+ return json.dumps(to_jsonable_python(self.to_dict()))
55
56
 
56
57
  @classmethod
57
58
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List
23
23
  from twitter_openapi_python_generated.models.tweet_card_platform import TweetCardPlatform
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
26
+ from pydantic_core import to_jsonable_python
26
27
 
27
28
  class TweetCardPlatformData(BaseModel):
28
29
  """
@@ -32,7 +33,8 @@ class TweetCardPlatformData(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["platform"]
33
34
 
34
35
  model_config = ConfigDict(
35
- populate_by_name=True,
36
+ validate_by_name=True,
37
+ validate_by_alias=True,
36
38
  validate_assignment=True,
37
39
  protected_namespaces=(),
38
40
  )
@@ -44,8 +46,7 @@ class TweetCardPlatformData(BaseModel):
44
46
 
45
47
  def to_json(self) -> str:
46
48
  """Returns the JSON representation of the model using alias"""
47
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
- return json.dumps(self.to_dict())
49
+ return json.dumps(to_jsonable_python(self.to_dict()))
49
50
 
50
51
  @classmethod
51
52
  def from_json(cls, json_str: str) -> Optional[Self]: