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
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 TweetCardPlatformDevice(BaseModel):
28
29
  """
@@ -32,15 +33,16 @@ class TweetCardPlatformDevice(BaseModel):
32
33
  version: Annotated[str, Field(strict=True)]
33
34
  __properties: ClassVar[List[str]] = ["name", "version"]
34
35
 
35
- @field_validator('version')
36
+ @field_validator('version', mode="before")
36
37
  def version_validate_regular_expression(cls, value):
37
38
  """Validates the regular expression"""
38
- if not re.match(r"^[0-9]+$", value):
39
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
39
40
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
40
41
  return value
41
42
 
42
43
  model_config = ConfigDict(
43
- populate_by_name=True,
44
+ validate_by_name=True,
45
+ validate_by_alias=True,
44
46
  validate_assignment=True,
45
47
  protected_namespaces=(),
46
48
  )
@@ -52,8 +54,7 @@ class TweetCardPlatformDevice(BaseModel):
52
54
 
53
55
  def to_json(self) -> str:
54
56
  """Returns the JSON representation of the model using alias"""
55
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
56
- return json.dumps(self.to_dict())
57
+ return json.dumps(to_jsonable_python(self.to_dict()))
57
58
 
58
59
  @classmethod
59
60
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -24,6 +24,7 @@ from twitter_openapi_python_generated.models.error_response import ErrorResponse
24
24
  from twitter_openapi_python_generated.models.tweet_detail_response_data import TweetDetailResponseData
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 TweetDetailResponse(BaseModel):
29
30
  """
@@ -34,7 +35,8 @@ class TweetDetailResponse(BaseModel):
34
35
  __properties: ClassVar[List[str]] = ["data", "errors"]
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 TweetDetailResponse(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]:
@@ -79,8 +80,7 @@ class TweetDetailResponse(BaseModel):
79
80
  _items = []
80
81
  if self.errors:
81
82
  for _item_errors in self.errors:
82
- if _item_errors:
83
- _items.append(_item_errors.to_dict())
83
+ _items.append(_item_errors.to_dict() if _item_errors is not None else None)
84
84
  _dict['errors'] = _items
85
85
  return _dict
86
86
 
@@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional
23
23
  from twitter_openapi_python_generated.models.timeline import Timeline
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 TweetDetailResponseData(BaseModel):
28
29
  """
@@ -32,7 +33,8 @@ class TweetDetailResponseData(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["threaded_conversation_with_injections_v2"]
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 TweetDetailResponseData(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]:
@@ -24,6 +24,7 @@ from typing_extensions import Annotated
24
24
  from twitter_openapi_python_generated.models.tweet_edit_control_initial import TweetEditControlInitial
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 TweetEditControl(BaseModel):
29
30
  """
@@ -37,38 +38,39 @@ class TweetEditControl(BaseModel):
37
38
  is_edit_eligible: Optional[StrictBool] = None
38
39
  __properties: ClassVar[List[str]] = ["edit_control_initial", "edit_tweet_ids", "editable_until_msecs", "edits_remaining", "initial_tweet_id", "is_edit_eligible"]
39
40
 
40
- @field_validator('editable_until_msecs')
41
+ @field_validator('editable_until_msecs', mode="before")
41
42
  def editable_until_msecs_validate_regular_expression(cls, value):
42
43
  """Validates the regular expression"""
43
44
  if value is None:
44
45
  return value
45
46
 
46
- if not re.match(r"^[0-9]+$", value):
47
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
47
48
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
48
49
  return value
49
50
 
50
- @field_validator('edits_remaining')
51
+ @field_validator('edits_remaining', mode="before")
51
52
  def edits_remaining_validate_regular_expression(cls, value):
52
53
  """Validates the regular expression"""
53
54
  if value is None:
54
55
  return value
55
56
 
56
- if not re.match(r"^[0-9]+$", value):
57
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
57
58
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
58
59
  return value
59
60
 
60
- @field_validator('initial_tweet_id')
61
+ @field_validator('initial_tweet_id', mode="before")
61
62
  def initial_tweet_id_validate_regular_expression(cls, value):
62
63
  """Validates the regular expression"""
63
64
  if value is None:
64
65
  return value
65
66
 
66
- if not re.match(r"^[0-9]+$", value):
67
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
67
68
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
68
69
  return value
69
70
 
70
71
  model_config = ConfigDict(
71
- populate_by_name=True,
72
+ validate_by_name=True,
73
+ validate_by_alias=True,
72
74
  validate_assignment=True,
73
75
  protected_namespaces=(),
74
76
  )
@@ -80,8 +82,7 @@ class TweetEditControl(BaseModel):
80
82
 
81
83
  def to_json(self) -> str:
82
84
  """Returns the JSON representation of the model using alias"""
83
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
84
- return json.dumps(self.to_dict())
85
+ return json.dumps(to_jsonable_python(self.to_dict()))
85
86
 
86
87
  @classmethod
87
88
  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 TweetEditControlInitial(BaseModel):
28
29
  """
@@ -34,22 +35,23 @@ class TweetEditControlInitial(BaseModel):
34
35
  is_edit_eligible: StrictBool
35
36
  __properties: ClassVar[List[str]] = ["edit_tweet_ids", "editable_until_msecs", "edits_remaining", "is_edit_eligible"]
36
37
 
37
- @field_validator('editable_until_msecs')
38
+ @field_validator('editable_until_msecs', mode="before")
38
39
  def editable_until_msecs_validate_regular_expression(cls, value):
39
40
  """Validates the regular expression"""
40
- if not re.match(r"^[0-9]+$", value):
41
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
41
42
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
42
43
  return value
43
44
 
44
- @field_validator('edits_remaining')
45
+ @field_validator('edits_remaining', mode="before")
45
46
  def edits_remaining_validate_regular_expression(cls, value):
46
47
  """Validates the regular expression"""
47
- if not re.match(r"^[0-9]+$", value):
48
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
48
49
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
49
50
  return value
50
51
 
51
52
  model_config = ConfigDict(
52
- populate_by_name=True,
53
+ validate_by_name=True,
54
+ validate_by_alias=True,
53
55
  validate_assignment=True,
54
56
  protected_namespaces=(),
55
57
  )
@@ -61,8 +63,7 @@ class TweetEditControlInitial(BaseModel):
61
63
 
62
64
  def to_json(self) -> str:
63
65
  """Returns the JSON representation of the model using alias"""
64
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
65
- return json.dumps(self.to_dict())
66
+ return json.dumps(to_jsonable_python(self.to_dict()))
66
67
 
67
68
  @classmethod
68
69
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -22,6 +22,7 @@ from pydantic import BaseModel, ConfigDict, StrictBool
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 TweetEditPrespective(BaseModel):
27
28
  """
@@ -32,7 +33,8 @@ class TweetEditPrespective(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["favorited", "retweeted"]
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 TweetEditPrespective(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]:
@@ -24,6 +24,7 @@ from twitter_openapi_python_generated.models.error_response import ErrorResponse
24
24
  from twitter_openapi_python_generated.models.tweet_favoriters_response_data import TweetFavoritersResponseData
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 TweetFavoritersResponse(BaseModel):
29
30
  """
@@ -34,7 +35,8 @@ class TweetFavoritersResponse(BaseModel):
34
35
  __properties: ClassVar[List[str]] = ["data", "errors"]
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 TweetFavoritersResponse(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]:
@@ -79,8 +80,7 @@ class TweetFavoritersResponse(BaseModel):
79
80
  _items = []
80
81
  if self.errors:
81
82
  for _item_errors in self.errors:
82
- if _item_errors:
83
- _items.append(_item_errors.to_dict())
83
+ _items.append(_item_errors.to_dict() if _item_errors is not None else None)
84
84
  _dict['errors'] = _items
85
85
  return _dict
86
86
 
@@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional
23
23
  from twitter_openapi_python_generated.models.timeline_result import TimelineResult
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 TweetFavoritersResponseData(BaseModel):
28
29
  """
@@ -32,7 +33,8 @@ class TweetFavoritersResponseData(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["favoriters_timeline"]
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 TweetFavoritersResponseData(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]:
@@ -25,6 +25,7 @@ from twitter_openapi_python_generated.models.tweet_interstitial_text import Twee
25
25
  from twitter_openapi_python_generated.models.type_name import TypeName
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 TweetInterstitial(BaseModel):
30
31
  """
@@ -39,12 +40,13 @@ class TweetInterstitial(BaseModel):
39
40
  @field_validator('display_type')
40
41
  def display_type_validate_enum(cls, value):
41
42
  """Validates the enum"""
42
- if value not in set(['NonCompliant']):
43
- raise ValueError("must be one of enum values ('NonCompliant')")
43
+ if value not in set(['NonCompliant', 'EntireTweet']):
44
+ raise ValueError("must be one of enum values ('NonCompliant', 'EntireTweet')")
44
45
  return value
45
46
 
46
47
  model_config = ConfigDict(
47
- populate_by_name=True,
48
+ validate_by_name=True,
49
+ validate_by_alias=True,
48
50
  validate_assignment=True,
49
51
  protected_namespaces=(),
50
52
  )
@@ -56,8 +58,7 @@ class TweetInterstitial(BaseModel):
56
58
 
57
59
  def to_json(self) -> str:
58
60
  """Returns the JSON representation of the model using alias"""
59
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
60
- return json.dumps(self.to_dict())
61
+ return json.dumps(to_jsonable_python(self.to_dict()))
61
62
 
62
63
  @classmethod
63
64
  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_interstitial_text_entity import TweetInterstitialTextEntity
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 TweetInterstitialRevealText(BaseModel):
28
29
  """
@@ -34,7 +35,8 @@ class TweetInterstitialRevealText(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 TweetInterstitialRevealText(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 TweetInterstitialRevealText(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
 
@@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List
23
23
  from twitter_openapi_python_generated.models.tweet_interstitial_text_entity import TweetInterstitialTextEntity
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 TweetInterstitialText(BaseModel):
28
29
  """
@@ -34,7 +35,8 @@ class TweetInterstitialText(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 TweetInterstitialText(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 TweetInterstitialText(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
 
@@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List
23
23
  from twitter_openapi_python_generated.models.tweet_interstitial_text_entity_ref import TweetInterstitialTextEntityRef
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 TweetInterstitialTextEntity(BaseModel):
28
29
  """
@@ -34,7 +35,8 @@ class TweetInterstitialTextEntity(BaseModel):
34
35
  __properties: ClassVar[List[str]] = ["fromIndex", "ref", "toIndex"]
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 TweetInterstitialTextEntity(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, Field, 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 TweetInterstitialTextEntityRef(BaseModel):
27
28
  """
@@ -47,7 +48,8 @@ class TweetInterstitialTextEntityRef(BaseModel):
47
48
  return value
48
49
 
49
50
  model_config = ConfigDict(
50
- populate_by_name=True,
51
+ validate_by_name=True,
52
+ validate_by_alias=True,
51
53
  validate_assignment=True,
52
54
  protected_namespaces=(),
53
55
  )
@@ -59,8 +61,7 @@ class TweetInterstitialTextEntityRef(BaseModel):
59
61
 
60
62
  def to_json(self) -> str:
61
63
  """Returns the JSON representation of the model using alias"""
62
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
63
- return json.dumps(self.to_dict())
64
+ return json.dumps(to_jsonable_python(self.to_dict()))
64
65
 
65
66
  @classmethod
66
67
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -28,6 +28,7 @@ from twitter_openapi_python_generated.models.self_thread import SelfThread
28
28
  from twitter_openapi_python_generated.models.tweet_legacy_scopes import TweetLegacyScopes
29
29
  from typing import Optional, Set
30
30
  from typing_extensions import Self
31
+ from pydantic_core import to_jsonable_python
31
32
 
32
33
  class TweetLegacy(BaseModel):
33
34
  """
@@ -37,9 +38,9 @@ class TweetLegacy(BaseModel):
37
38
  bookmarked: StrictBool
38
39
  conversation_control: Optional[Dict[str, Any]] = None
39
40
  conversation_id_str: Annotated[str, Field(strict=True)]
40
- created_at: Annotated[str, Field(strict=True)]
41
+ created_at: Annotated[str, Field(strict=True)] = Field(json_schema_extra={"examples": ["Sat Dec 31 23:59:59 +0000 2023"]})
41
42
  display_text_range: List[StrictInt]
42
- entities: Entities
43
+ entities: Optional[Entities] = None
43
44
  extended_entities: Optional[ExtendedEntities] = None
44
45
  favorite_count: StrictInt
45
46
  favorited: StrictBool
@@ -66,44 +67,44 @@ class TweetLegacy(BaseModel):
66
67
  user_id_str: Annotated[str, Field(strict=True)]
67
68
  __properties: ClassVar[List[str]] = ["bookmark_count", "bookmarked", "conversation_control", "conversation_id_str", "created_at", "display_text_range", "entities", "extended_entities", "favorite_count", "favorited", "full_text", "id_str", "in_reply_to_screen_name", "in_reply_to_status_id_str", "in_reply_to_user_id_str", "is_quote_status", "lang", "limited_actions", "place", "possibly_sensitive", "possibly_sensitive_editable", "quote_count", "quoted_status_id_str", "quoted_status_permalink", "reply_count", "retweet_count", "retweeted", "retweeted_status_result", "scopes", "self_thread", "user_id_str"]
68
69
 
69
- @field_validator('conversation_id_str')
70
+ @field_validator('conversation_id_str', mode="before")
70
71
  def conversation_id_str_validate_regular_expression(cls, value):
71
72
  """Validates the regular expression"""
72
- if not re.match(r"^[0-9]+$", value):
73
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
73
74
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
74
75
  return value
75
76
 
76
- @field_validator('created_at')
77
+ @field_validator('created_at', mode="before")
77
78
  def created_at_validate_regular_expression(cls, value):
78
79
  """Validates the regular expression"""
79
- if not re.match(r"^(Sun|Mon|Tue|Wed|Thu|Fri|Sat) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (0[1-9]|[12][0-9]|3[01]) (0[0-9]|1[0-9]|2[0-3])(: ?)([0-5][0-9])(: ?)([0-5][0-9]) ([+-][0-9]{4}) ([0-9]{4})$", value):
80
+ if isinstance(value, str) and not re.match(r"^(Sun|Mon|Tue|Wed|Thu|Fri|Sat) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (0[1-9]|[12][0-9]|3[01]) (0[0-9]|1[0-9]|2[0-3])(: ?)([0-5][0-9])(: ?)([0-5][0-9]) ([+-][0-9]{4}) ([0-9]{4})$", value):
80
81
  raise ValueError(r"must validate the regular expression /^(Sun|Mon|Tue|Wed|Thu|Fri|Sat) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (0[1-9]|[12][0-9]|3[01]) (0[0-9]|1[0-9]|2[0-3])(: ?)([0-5][0-9])(: ?)([0-5][0-9]) ([+-][0-9]{4}) ([0-9]{4})$/")
81
82
  return value
82
83
 
83
- @field_validator('id_str')
84
+ @field_validator('id_str', mode="before")
84
85
  def id_str_validate_regular_expression(cls, value):
85
86
  """Validates the regular expression"""
86
- if not re.match(r"^[0-9]+$", value):
87
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
87
88
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
88
89
  return value
89
90
 
90
- @field_validator('in_reply_to_status_id_str')
91
+ @field_validator('in_reply_to_status_id_str', mode="before")
91
92
  def in_reply_to_status_id_str_validate_regular_expression(cls, value):
92
93
  """Validates the regular expression"""
93
94
  if value is None:
94
95
  return value
95
96
 
96
- if not re.match(r"^[0-9]+$", value):
97
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
97
98
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
98
99
  return value
99
100
 
100
- @field_validator('in_reply_to_user_id_str')
101
+ @field_validator('in_reply_to_user_id_str', mode="before")
101
102
  def in_reply_to_user_id_str_validate_regular_expression(cls, value):
102
103
  """Validates the regular expression"""
103
104
  if value is None:
104
105
  return value
105
106
 
106
- if not re.match(r"^[0-9]+$", value):
107
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
107
108
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
108
109
  return value
109
110
 
@@ -117,25 +118,26 @@ class TweetLegacy(BaseModel):
117
118
  raise ValueError("must be one of enum values ('limited_replies', 'non_compliant', 'dynamic_product_ad', 'stale_tweet', 'community_tweet_non_member_public_community', 'community_tweet_non_member_closed_community', 'blocked_viewer')")
118
119
  return value
119
120
 
120
- @field_validator('quoted_status_id_str')
121
+ @field_validator('quoted_status_id_str', mode="before")
121
122
  def quoted_status_id_str_validate_regular_expression(cls, value):
122
123
  """Validates the regular expression"""
123
124
  if value is None:
124
125
  return value
125
126
 
126
- if not re.match(r"^[0-9]+$", value):
127
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
127
128
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
128
129
  return value
129
130
 
130
- @field_validator('user_id_str')
131
+ @field_validator('user_id_str', mode="before")
131
132
  def user_id_str_validate_regular_expression(cls, value):
132
133
  """Validates the regular expression"""
133
- if not re.match(r"^[0-9]+$", value):
134
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
134
135
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
135
136
  return value
136
137
 
137
138
  model_config = ConfigDict(
138
- populate_by_name=True,
139
+ validate_by_name=True,
140
+ validate_by_alias=True,
139
141
  validate_assignment=True,
140
142
  protected_namespaces=(),
141
143
  )
@@ -147,8 +149,7 @@ class TweetLegacy(BaseModel):
147
149
 
148
150
  def to_json(self) -> str:
149
151
  """Returns the JSON representation of the model using alias"""
150
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
151
- return json.dumps(self.to_dict())
152
+ return json.dumps(to_jsonable_python(self.to_dict()))
152
153
 
153
154
  @classmethod
154
155
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -22,6 +22,7 @@ from pydantic import BaseModel, ConfigDict, StrictBool
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 TweetLegacyScopes(BaseModel):
27
28
  """
@@ -31,7 +32,8 @@ class TweetLegacyScopes(BaseModel):
31
32
  __properties: ClassVar[List[str]] = ["followers"]
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 TweetLegacyScopes(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]:
@@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List
23
23
  from twitter_openapi_python_generated.models.limited_action_results_data import LimitedActionResultsData
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 TweetLimitedActionResults(BaseModel):
28
29
  """
@@ -32,7 +33,8 @@ class TweetLimitedActionResults(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["limited_actions"]
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 TweetLimitedActionResults(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]:
@@ -74,8 +75,7 @@ class TweetLimitedActionResults(BaseModel):
74
75
  _items = []
75
76
  if self.limited_actions:
76
77
  for _item_limited_actions in self.limited_actions:
77
- if _item_limited_actions:
78
- _items.append(_item_limited_actions.to_dict())
78
+ _items.append(_item_limited_actions.to_dict() if _item_limited_actions is not None else None)
79
79
  _dict['limited_actions'] = _items
80
80
  return _dict
81
81