twitter-openapi-python-generated 0.0.32__py3-none-any.whl → 0.0.34__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 (361) hide show
  1. twitter_openapi_python_generated/__init__.py +742 -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 +1 -2
  5. twitter_openapi_python_generated/api/tweet_api.py +1 -2
  6. twitter_openapi_python_generated/api/user_api.py +1 -2
  7. twitter_openapi_python_generated/api/user_list_api.py +318 -2
  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 +35 -28
  13. twitter_openapi_python_generated/configuration.py +47 -23
  14. twitter_openapi_python_generated/exceptions.py +7 -5
  15. twitter_openapi_python_generated/models/__init__.py +41 -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 +4 -3
  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 +7 -3
  26. twitter_openapi_python_generated/models/article_cover_media_color_info.py +4 -3
  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 +23 -6
  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/birdwatch_entity.py +4 -3
  37. twitter_openapi_python_generated/models/birdwatch_entity_ref.py +4 -3
  38. twitter_openapi_python_generated/models/birdwatch_pivot.py +19 -6
  39. twitter_openapi_python_generated/models/birdwatch_pivot_call_to_action.py +4 -3
  40. twitter_openapi_python_generated/models/birdwatch_pivot_footer.py +4 -3
  41. twitter_openapi_python_generated/models/birdwatch_pivot_note.py +20 -6
  42. twitter_openapi_python_generated/models/birdwatch_pivot_subtitle.py +4 -3
  43. twitter_openapi_python_generated/models/bookmarks_response.py +4 -3
  44. twitter_openapi_python_generated/models/bookmarks_response_data.py +4 -3
  45. twitter_openapi_python_generated/models/bookmarks_timeline.py +4 -3
  46. twitter_openapi_python_generated/models/callback.py +4 -3
  47. twitter_openapi_python_generated/models/client_event_info.py +4 -3
  48. twitter_openapi_python_generated/models/communities_actions.py +4 -3
  49. twitter_openapi_python_generated/models/community.py +146 -12
  50. twitter_openapi_python_generated/models/community_about_timeline_response.py +4 -3
  51. twitter_openapi_python_generated/models/community_actions.py +4 -3
  52. twitter_openapi_python_generated/models/community_delete_action_result.py +4 -3
  53. twitter_openapi_python_generated/models/community_invites_result.py +4 -3
  54. twitter_openapi_python_generated/models/community_join_action.py +4 -3
  55. twitter_openapi_python_generated/models/community_join_action_unavailable.py +4 -3
  56. twitter_openapi_python_generated/models/community_join_requests_result.py +4 -3
  57. twitter_openapi_python_generated/models/community_leave_action_result.py +4 -3
  58. twitter_openapi_python_generated/models/community_media_timeline_response.py +4 -3
  59. twitter_openapi_python_generated/models/community_pin_action_result.py +4 -3
  60. twitter_openapi_python_generated/models/community_relationship.py +7 -3
  61. twitter_openapi_python_generated/models/community_result.py +93 -0
  62. twitter_openapi_python_generated/models/community_rule.py +7 -3
  63. twitter_openapi_python_generated/models/community_tweets_timeline_response.py +4 -3
  64. twitter_openapi_python_generated/models/community_unavailable.py +90 -0
  65. twitter_openapi_python_generated/models/community_union.py +156 -0
  66. twitter_openapi_python_generated/models/community_unpin_action_result.py +4 -3
  67. twitter_openapi_python_generated/models/community_urls.py +4 -3
  68. twitter_openapi_python_generated/models/community_urls_permalink.py +4 -3
  69. twitter_openapi_python_generated/models/content_disclosure.py +99 -0
  70. twitter_openapi_python_generated/models/content_disclosure_advertising_disclosure.py +89 -0
  71. twitter_openapi_python_generated/models/content_disclosure_ai_generated_disclosure.py +103 -0
  72. twitter_openapi_python_generated/models/conversation_control.py +4 -3
  73. twitter_openapi_python_generated/models/cover_cta.py +4 -3
  74. twitter_openapi_python_generated/models/create_bookmark_response.py +4 -3
  75. twitter_openapi_python_generated/models/create_bookmark_response_data.py +4 -3
  76. twitter_openapi_python_generated/models/create_retweet.py +4 -3
  77. twitter_openapi_python_generated/models/create_retweet_response.py +4 -3
  78. twitter_openapi_python_generated/models/create_retweet_response_data.py +4 -3
  79. twitter_openapi_python_generated/models/create_retweet_response_result.py +4 -3
  80. twitter_openapi_python_generated/models/create_tweet.py +4 -3
  81. twitter_openapi_python_generated/models/create_tweet_response.py +4 -3
  82. twitter_openapi_python_generated/models/create_tweet_response_data.py +4 -3
  83. twitter_openapi_python_generated/models/create_tweet_response_result.py +4 -3
  84. twitter_openapi_python_generated/models/cta_client_event_info.py +4 -3
  85. twitter_openapi_python_generated/models/delete_bookmark_response.py +4 -3
  86. twitter_openapi_python_generated/models/delete_bookmark_response_data.py +4 -3
  87. twitter_openapi_python_generated/models/delete_retweet.py +4 -3
  88. twitter_openapi_python_generated/models/delete_retweet_response.py +4 -3
  89. twitter_openapi_python_generated/models/delete_retweet_response_data.py +4 -3
  90. twitter_openapi_python_generated/models/delete_retweet_response_result.py +4 -3
  91. twitter_openapi_python_generated/models/delete_tweet_response.py +4 -3
  92. twitter_openapi_python_generated/models/delete_tweet_response_data.py +4 -3
  93. twitter_openapi_python_generated/models/delete_tweet_response_result.py +4 -3
  94. twitter_openapi_python_generated/models/display_treatment.py +4 -3
  95. twitter_openapi_python_generated/models/entities.py +19 -8
  96. twitter_openapi_python_generated/models/error_extensions.py +4 -3
  97. twitter_openapi_python_generated/models/error_response.py +14 -5
  98. twitter_openapi_python_generated/models/error_response_path_inner.py +144 -0
  99. twitter_openapi_python_generated/models/ext_media_availability.py +4 -3
  100. twitter_openapi_python_generated/models/extended_entities.py +4 -3
  101. twitter_openapi_python_generated/models/favorite_tweet.py +4 -3
  102. twitter_openapi_python_generated/models/favorite_tweet_response.py +4 -3
  103. twitter_openapi_python_generated/models/feedback_info.py +4 -3
  104. twitter_openapi_python_generated/models/follow_response.py +4 -3
  105. twitter_openapi_python_generated/models/follow_response_data.py +4 -3
  106. twitter_openapi_python_generated/models/follow_response_result.py +4 -3
  107. twitter_openapi_python_generated/models/follow_response_user.py +4 -3
  108. twitter_openapi_python_generated/models/follow_timeline.py +4 -3
  109. twitter_openapi_python_generated/models/grok_annotation.py +89 -0
  110. twitter_openapi_python_generated/models/grok_entity.py +97 -0
  111. twitter_openapi_python_generated/models/grok_entity_ref.py +116 -0
  112. twitter_openapi_python_generated/models/grok_image_annotation.py +4 -3
  113. twitter_openapi_python_generated/models/grok_share_attachment.py +4 -3
  114. twitter_openapi_python_generated/models/grok_share_attachment_item.py +7 -4
  115. twitter_openapi_python_generated/models/grok_translated_community_note.py +105 -0
  116. twitter_openapi_python_generated/models/grok_translated_community_note_with_availability.py +95 -0
  117. twitter_openapi_python_generated/models/grok_translated_post.py +103 -0
  118. twitter_openapi_python_generated/models/grok_translated_post_with_availability.py +95 -0
  119. twitter_openapi_python_generated/models/highlight.py +4 -3
  120. twitter_openapi_python_generated/models/home_timeline_home.py +4 -3
  121. twitter_openapi_python_generated/models/home_timeline_response_data.py +4 -3
  122. twitter_openapi_python_generated/models/item_result.py +4 -3
  123. twitter_openapi_python_generated/models/limited_action_results_data.py +4 -3
  124. twitter_openapi_python_generated/models/list_latest_tweets_timeline_response.py +4 -3
  125. twitter_openapi_python_generated/models/list_tweets_timeline_data.py +4 -3
  126. twitter_openapi_python_generated/models/list_tweets_timeline_list.py +4 -3
  127. twitter_openapi_python_generated/models/location.py +4 -3
  128. twitter_openapi_python_generated/models/media.py +17 -4
  129. twitter_openapi_python_generated/models/media_community_result.py +4 -3
  130. twitter_openapi_python_generated/models/media_community_results.py +4 -3
  131. twitter_openapi_python_generated/models/media_community_tweet_data.py +4 -3
  132. twitter_openapi_python_generated/models/media_extended.py +17 -4
  133. twitter_openapi_python_generated/models/media_original_info.py +4 -3
  134. twitter_openapi_python_generated/models/media_original_info_focus_rect.py +4 -3
  135. twitter_openapi_python_generated/models/media_result.py +4 -3
  136. twitter_openapi_python_generated/models/media_results.py +4 -3
  137. twitter_openapi_python_generated/models/media_size.py +4 -3
  138. twitter_openapi_python_generated/models/media_sizes.py +4 -3
  139. twitter_openapi_python_generated/models/media_stats.py +4 -3
  140. twitter_openapi_python_generated/models/media_video_info.py +4 -3
  141. twitter_openapi_python_generated/models/media_video_info_variant.py +4 -3
  142. twitter_openapi_python_generated/models/media_visibility_results.py +4 -3
  143. twitter_openapi_python_generated/models/media_visibility_results_blurred_image_interstitial.py +4 -3
  144. twitter_openapi_python_generated/models/module_entry.py +4 -3
  145. twitter_openapi_python_generated/models/module_item.py +7 -3
  146. twitter_openapi_python_generated/models/note_tweet.py +6 -5
  147. twitter_openapi_python_generated/models/note_tweet_result.py +4 -3
  148. twitter_openapi_python_generated/models/note_tweet_result_data.py +7 -3
  149. twitter_openapi_python_generated/models/note_tweet_result_media.py +4 -3
  150. twitter_openapi_python_generated/models/note_tweet_result_media_inline_media.py +7 -3
  151. twitter_openapi_python_generated/models/note_tweet_result_rich_text.py +4 -3
  152. twitter_openapi_python_generated/models/note_tweet_result_rich_text_tag.py +4 -3
  153. twitter_openapi_python_generated/models/notification_template.py +4 -3
  154. twitter_openapi_python_generated/models/notifications_result.py +7 -3
  155. twitter_openapi_python_generated/models/notifications_timeline_data.py +4 -3
  156. twitter_openapi_python_generated/models/notifications_timeline_response.py +4 -3
  157. twitter_openapi_python_generated/models/notifications_user_results.py +4 -3
  158. twitter_openapi_python_generated/models/notifications_viewer_v2.py +4 -3
  159. twitter_openapi_python_generated/models/one_factor_login_eligibility.py +4 -3
  160. twitter_openapi_python_generated/models/other_object_all.py +4 -3
  161. twitter_openapi_python_generated/models/post_create_bookmark_request.py +5 -8
  162. twitter_openapi_python_generated/models/post_create_bookmark_request_variables.py +4 -3
  163. twitter_openapi_python_generated/models/post_create_retweet_request.py +6 -9
  164. twitter_openapi_python_generated/models/post_create_retweet_request_variables.py +4 -3
  165. twitter_openapi_python_generated/models/post_create_tweet_request.py +6 -9
  166. twitter_openapi_python_generated/models/post_create_tweet_request_features.py +30 -15
  167. twitter_openapi_python_generated/models/post_create_tweet_request_variables.py +4 -3
  168. twitter_openapi_python_generated/models/post_create_tweet_request_variables_conversation_control.py +4 -3
  169. twitter_openapi_python_generated/models/post_create_tweet_request_variables_media.py +4 -3
  170. twitter_openapi_python_generated/models/post_create_tweet_request_variables_media_media_entities_inner.py +4 -3
  171. twitter_openapi_python_generated/models/post_create_tweet_request_variables_reply.py +4 -3
  172. twitter_openapi_python_generated/models/post_cta.py +101 -0
  173. twitter_openapi_python_generated/models/post_cta_title_text.py +99 -0
  174. twitter_openapi_python_generated/models/post_cta_title_text_entity.py +97 -0
  175. twitter_openapi_python_generated/models/post_cta_title_text_entity_ref.py +96 -0
  176. twitter_openapi_python_generated/models/post_cta_user_results.py +93 -0
  177. twitter_openapi_python_generated/models/post_cta_user_results_avatar.py +89 -0
  178. twitter_openapi_python_generated/models/post_cta_user_results_result.py +96 -0
  179. twitter_openapi_python_generated/models/post_delete_bookmark_request.py +5 -8
  180. twitter_openapi_python_generated/models/post_delete_retweet_request.py +6 -9
  181. twitter_openapi_python_generated/models/post_delete_retweet_request_variables.py +4 -3
  182. twitter_openapi_python_generated/models/post_delete_tweet_request.py +5 -8
  183. twitter_openapi_python_generated/models/post_favorite_tweet_request.py +5 -8
  184. twitter_openapi_python_generated/models/post_unfavorite_tweet_request.py +5 -8
  185. twitter_openapi_python_generated/models/primary_community_topic.py +7 -3
  186. twitter_openapi_python_generated/models/profile_bio.py +89 -0
  187. twitter_openapi_python_generated/models/profile_response.py +4 -3
  188. twitter_openapi_python_generated/models/profile_response_data.py +4 -3
  189. twitter_openapi_python_generated/models/quoted_ref_result.py +4 -3
  190. twitter_openapi_python_generated/models/quoted_status_permalink.py +4 -3
  191. twitter_openapi_python_generated/models/ranked_community_result.py +4 -3
  192. twitter_openapi_python_generated/models/ranked_community_results.py +4 -3
  193. twitter_openapi_python_generated/models/ranked_community_tweet_data.py +4 -3
  194. twitter_openapi_python_generated/models/retweet.py +7 -3
  195. twitter_openapi_python_generated/models/retweet_legacy.py +4 -3
  196. twitter_openapi_python_generated/models/rich_message.py +4 -3
  197. twitter_openapi_python_generated/models/search_by_raw_query.py +4 -3
  198. twitter_openapi_python_generated/models/search_timeline.py +4 -3
  199. twitter_openapi_python_generated/models/search_timeline_data.py +4 -3
  200. twitter_openapi_python_generated/models/search_timeline_response.py +4 -3
  201. twitter_openapi_python_generated/models/self_thread.py +7 -3
  202. twitter_openapi_python_generated/models/sensitive_media_warning.py +4 -3
  203. twitter_openapi_python_generated/models/session.py +16 -3
  204. twitter_openapi_python_generated/models/smarttag.py +97 -0
  205. twitter_openapi_python_generated/models/smarttag_tag.py +89 -0
  206. twitter_openapi_python_generated/models/social_context_landing_url.py +4 -3
  207. twitter_openapi_python_generated/models/super_follow_user_profile.py +89 -0
  208. twitter_openapi_python_generated/models/super_follows_reply_user_result.py +4 -3
  209. twitter_openapi_python_generated/models/super_follows_reply_user_result_core.py +89 -0
  210. twitter_openapi_python_generated/models/super_follows_reply_user_result_data.py +12 -11
  211. twitter_openapi_python_generated/models/super_follows_reply_user_result_legacy.py +4 -3
  212. twitter_openapi_python_generated/models/text.py +4 -3
  213. twitter_openapi_python_generated/models/text_entity.py +4 -3
  214. twitter_openapi_python_generated/models/text_entity_ref.py +4 -3
  215. twitter_openapi_python_generated/models/text_highlight.py +4 -3
  216. twitter_openapi_python_generated/models/thumbnail_image.py +4 -3
  217. twitter_openapi_python_generated/models/timeline.py +4 -3
  218. twitter_openapi_python_generated/models/timeline_add_entries.py +4 -3
  219. twitter_openapi_python_generated/models/timeline_add_entry.py +10 -3
  220. twitter_openapi_python_generated/models/timeline_add_to_module.py +4 -3
  221. twitter_openapi_python_generated/models/timeline_clear_cache.py +4 -3
  222. twitter_openapi_python_generated/models/timeline_clear_entries_unread_state.py +4 -3
  223. twitter_openapi_python_generated/models/timeline_community.py +4 -3
  224. twitter_openapi_python_generated/models/timeline_cover_behavior.py +4 -3
  225. twitter_openapi_python_generated/models/timeline_cover_behavior_url.py +4 -3
  226. twitter_openapi_python_generated/models/timeline_general_context.py +4 -3
  227. twitter_openapi_python_generated/models/timeline_half_cover.py +4 -3
  228. twitter_openapi_python_generated/models/timeline_mark_entries_unread_greater_than_sort_index.py +7 -3
  229. twitter_openapi_python_generated/models/timeline_message_prompt.py +4 -3
  230. twitter_openapi_python_generated/models/timeline_notification.py +4 -3
  231. twitter_openapi_python_generated/models/timeline_pin_entry.py +4 -3
  232. twitter_openapi_python_generated/models/timeline_prompt.py +4 -3
  233. twitter_openapi_python_generated/models/timeline_replace_entry.py +4 -3
  234. twitter_openapi_python_generated/models/timeline_response.py +4 -3
  235. twitter_openapi_python_generated/models/timeline_result.py +4 -3
  236. twitter_openapi_python_generated/models/timeline_show_alert.py +11 -4
  237. twitter_openapi_python_generated/models/timeline_show_alert_rich_text.py +4 -3
  238. twitter_openapi_python_generated/models/timeline_show_cover.py +4 -3
  239. twitter_openapi_python_generated/models/timeline_terminate_timeline.py +4 -3
  240. twitter_openapi_python_generated/models/timeline_timeline_cursor.py +4 -3
  241. twitter_openapi_python_generated/models/timeline_timeline_item.py +4 -3
  242. twitter_openapi_python_generated/models/timeline_timeline_module.py +4 -3
  243. twitter_openapi_python_generated/models/timeline_tombstone.py +4 -3
  244. twitter_openapi_python_generated/models/timeline_topic_context.py +4 -3
  245. twitter_openapi_python_generated/models/timeline_trend.py +4 -3
  246. twitter_openapi_python_generated/models/timeline_tweet.py +4 -3
  247. twitter_openapi_python_generated/models/timeline_user.py +4 -3
  248. twitter_openapi_python_generated/models/timestamp.py +4 -3
  249. twitter_openapi_python_generated/models/tombstone_entity.py +4 -3
  250. twitter_openapi_python_generated/models/tombstone_info.py +4 -3
  251. twitter_openapi_python_generated/models/tombstone_ref.py +4 -3
  252. twitter_openapi_python_generated/models/tombstone_rich_text.py +4 -3
  253. twitter_openapi_python_generated/models/topic_context.py +4 -3
  254. twitter_openapi_python_generated/models/tracing.py +7 -3
  255. twitter_openapi_python_generated/models/trend_image.py +4 -3
  256. twitter_openapi_python_generated/models/trend_metadata.py +4 -3
  257. twitter_openapi_python_generated/models/trend_results.py +7 -3
  258. twitter_openapi_python_generated/models/tweet.py +39 -7
  259. twitter_openapi_python_generated/models/tweet_card.py +4 -3
  260. twitter_openapi_python_generated/models/tweet_card_legacy.py +4 -3
  261. twitter_openapi_python_generated/models/tweet_card_legacy_binding_value.py +4 -3
  262. twitter_openapi_python_generated/models/tweet_card_legacy_binding_value_data.py +4 -3
  263. twitter_openapi_python_generated/models/tweet_card_legacy_binding_value_data_image.py +4 -3
  264. twitter_openapi_python_generated/models/tweet_card_platform.py +4 -3
  265. twitter_openapi_python_generated/models/tweet_card_platform_audience.py +4 -3
  266. twitter_openapi_python_generated/models/tweet_card_platform_data.py +4 -3
  267. twitter_openapi_python_generated/models/tweet_card_platform_device.py +7 -3
  268. twitter_openapi_python_generated/models/tweet_detail_response.py +4 -3
  269. twitter_openapi_python_generated/models/tweet_detail_response_data.py +4 -3
  270. twitter_openapi_python_generated/models/tweet_edit_control.py +13 -3
  271. twitter_openapi_python_generated/models/tweet_edit_control_initial.py +10 -3
  272. twitter_openapi_python_generated/models/tweet_edit_prespective.py +4 -3
  273. twitter_openapi_python_generated/models/tweet_favoriters_response.py +4 -3
  274. twitter_openapi_python_generated/models/tweet_favoriters_response_data.py +4 -3
  275. twitter_openapi_python_generated/models/tweet_interstitial.py +6 -5
  276. twitter_openapi_python_generated/models/tweet_interstitial_reveal_text.py +4 -3
  277. twitter_openapi_python_generated/models/tweet_interstitial_text.py +4 -3
  278. twitter_openapi_python_generated/models/tweet_interstitial_text_entity.py +4 -3
  279. twitter_openapi_python_generated/models/tweet_interstitial_text_entity_ref.py +4 -3
  280. twitter_openapi_python_generated/models/tweet_legacy.py +26 -4
  281. twitter_openapi_python_generated/models/tweet_legacy_scopes.py +4 -3
  282. twitter_openapi_python_generated/models/tweet_limited_action_results.py +4 -3
  283. twitter_openapi_python_generated/models/tweet_post_cta.py +105 -0
  284. twitter_openapi_python_generated/models/tweet_preview_display.py +4 -3
  285. twitter_openapi_python_generated/models/tweet_preview_display_cta.py +4 -3
  286. twitter_openapi_python_generated/models/tweet_preview_display_cta_url.py +4 -3
  287. twitter_openapi_python_generated/models/tweet_preview_display_tweet.py +18 -5
  288. twitter_openapi_python_generated/models/tweet_preview_display_tweet_view_count.py +7 -3
  289. twitter_openapi_python_generated/models/tweet_previous_counts.py +4 -3
  290. twitter_openapi_python_generated/models/tweet_result_by_rest_id_data.py +4 -3
  291. twitter_openapi_python_generated/models/tweet_result_by_rest_id_response.py +4 -3
  292. twitter_openapi_python_generated/models/tweet_retweeters_response.py +4 -3
  293. twitter_openapi_python_generated/models/tweet_retweeters_response_data.py +4 -3
  294. twitter_openapi_python_generated/models/tweet_tombstone.py +4 -3
  295. twitter_openapi_python_generated/models/tweet_unavailable.py +4 -3
  296. twitter_openapi_python_generated/models/tweet_view.py +7 -3
  297. twitter_openapi_python_generated/models/tweet_with_visibility_results.py +4 -3
  298. twitter_openapi_python_generated/models/type_name.py +2 -0
  299. twitter_openapi_python_generated/models/unfavorite_tweet.py +4 -3
  300. twitter_openapi_python_generated/models/unfavorite_tweet_response.py +4 -3
  301. twitter_openapi_python_generated/models/unified_card.py +4 -3
  302. twitter_openapi_python_generated/models/url.py +4 -3
  303. twitter_openapi_python_generated/models/urt_endpoint_options.py +4 -3
  304. twitter_openapi_python_generated/models/urt_endpoint_request_params.py +4 -3
  305. twitter_openapi_python_generated/models/user.py +83 -7
  306. twitter_openapi_python_generated/models/user_avatar.py +89 -0
  307. twitter_openapi_python_generated/models/user_core.py +104 -0
  308. twitter_openapi_python_generated/models/user_dm_permissions.py +89 -0
  309. twitter_openapi_python_generated/models/user_features.py +4 -3
  310. twitter_openapi_python_generated/models/user_highlights_info.py +4 -3
  311. twitter_openapi_python_generated/models/user_highlights_tweets_data.py +4 -3
  312. twitter_openapi_python_generated/models/user_highlights_tweets_response.py +4 -3
  313. twitter_openapi_python_generated/models/user_highlights_tweets_result.py +4 -3
  314. twitter_openapi_python_generated/models/user_highlights_tweets_timeline.py +4 -3
  315. twitter_openapi_python_generated/models/user_highlights_tweets_user.py +4 -3
  316. twitter_openapi_python_generated/models/user_legacy.py +27 -12
  317. twitter_openapi_python_generated/models/user_legacy_extended_profile.py +4 -3
  318. twitter_openapi_python_generated/models/user_legacy_extended_profile_birthdate.py +4 -3
  319. twitter_openapi_python_generated/models/user_location.py +89 -0
  320. twitter_openapi_python_generated/models/user_media_permissions.py +89 -0
  321. twitter_openapi_python_generated/models/user_privacy.py +89 -0
  322. twitter_openapi_python_generated/models/user_professional.py +9 -5
  323. twitter_openapi_python_generated/models/user_professional_category.py +4 -3
  324. twitter_openapi_python_generated/models/user_profile.py +93 -0
  325. twitter_openapi_python_generated/models/user_relationship_perspectives.py +95 -0
  326. twitter_openapi_python_generated/models/user_response.py +4 -3
  327. twitter_openapi_python_generated/models/user_response_data.py +4 -3
  328. twitter_openapi_python_generated/models/user_result_by_screen_name.py +7 -3
  329. twitter_openapi_python_generated/models/user_result_by_screen_name_core.py +91 -0
  330. twitter_openapi_python_generated/models/user_result_by_screen_name_legacy.py +4 -3
  331. twitter_openapi_python_generated/models/user_result_by_screen_name_result.py +31 -6
  332. twitter_openapi_python_generated/models/user_result_core.py +4 -3
  333. twitter_openapi_python_generated/models/user_result_privacy.py +89 -0
  334. twitter_openapi_python_generated/models/user_result_relationship_perspectives.py +95 -0
  335. twitter_openapi_python_generated/models/user_results.py +4 -3
  336. twitter_openapi_python_generated/models/user_tip_jar_settings.py +4 -3
  337. twitter_openapi_python_generated/models/user_tweets_data.py +4 -3
  338. twitter_openapi_python_generated/models/user_tweets_response.py +4 -3
  339. twitter_openapi_python_generated/models/user_tweets_result_v1.py +4 -3
  340. twitter_openapi_python_generated/models/user_tweets_result_v2.py +4 -3
  341. twitter_openapi_python_generated/models/user_tweets_user.py +4 -3
  342. twitter_openapi_python_generated/models/user_unavailable.py +4 -3
  343. twitter_openapi_python_generated/models/user_value.py +7 -3
  344. twitter_openapi_python_generated/models/user_verification.py +101 -0
  345. twitter_openapi_python_generated/models/user_verification_info.py +4 -3
  346. twitter_openapi_python_generated/models/user_verification_info_reason.py +7 -3
  347. twitter_openapi_python_generated/models/user_verification_info_reason_description.py +4 -3
  348. twitter_openapi_python_generated/models/user_verification_info_reason_description_entities.py +4 -3
  349. twitter_openapi_python_generated/models/user_verification_info_reason_description_entities_ref.py +4 -3
  350. twitter_openapi_python_generated/models/users_response.py +4 -3
  351. twitter_openapi_python_generated/models/users_response_data.py +4 -3
  352. twitter_openapi_python_generated/rest.py +7 -2
  353. twitter_openapi_python_generated-0.0.34.dist-info/METADATA +816 -0
  354. twitter_openapi_python_generated-0.0.34.dist-info/RECORD +374 -0
  355. {twitter_openapi_python_generated-0.0.32.dist-info → twitter_openapi_python_generated-0.0.34.dist-info}/WHEEL +1 -1
  356. twitter_openapi_python_generated/models/community_data.py +0 -219
  357. twitter_openapi_python_generated-0.0.32.dist-info/METADATA +0 -29
  358. twitter_openapi_python_generated-0.0.32.dist-info/RECORD +0 -335
  359. {twitter_openapi_python_generated-0.0.32.dist-info → twitter_openapi_python_generated-0.0.34.dist-info}/licenses/LICENSE +0 -0
  360. {twitter_openapi_python_generated-0.0.32.dist-info → twitter_openapi_python_generated-0.0.34.dist-info}/licenses/LICENSE.AGPL +0 -0
  361. {twitter_openapi_python_generated-0.0.32.dist-info → twitter_openapi_python_generated-0.0.34.dist-info}/top_level.txt +0 -0
@@ -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
  """
@@ -39,7 +40,7 @@ class TweetLegacy(BaseModel):
39
40
  conversation_id_str: Annotated[str, Field(strict=True)]
40
41
  created_at: Annotated[str, Field(strict=True)]
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
@@ -69,6 +70,9 @@ class TweetLegacy(BaseModel):
69
70
  @field_validator('conversation_id_str')
70
71
  def conversation_id_str_validate_regular_expression(cls, value):
71
72
  """Validates the regular expression"""
73
+ if not isinstance(value, str):
74
+ value = str(value)
75
+
72
76
  if not re.match(r"^[0-9]+$", value):
73
77
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
74
78
  return value
@@ -76,6 +80,9 @@ class TweetLegacy(BaseModel):
76
80
  @field_validator('created_at')
77
81
  def created_at_validate_regular_expression(cls, value):
78
82
  """Validates the regular expression"""
83
+ if not isinstance(value, str):
84
+ value = str(value)
85
+
79
86
  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
87
  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
88
  return value
@@ -83,6 +90,9 @@ class TweetLegacy(BaseModel):
83
90
  @field_validator('id_str')
84
91
  def id_str_validate_regular_expression(cls, value):
85
92
  """Validates the regular expression"""
93
+ if not isinstance(value, str):
94
+ value = str(value)
95
+
86
96
  if not re.match(r"^[0-9]+$", value):
87
97
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
88
98
  return value
@@ -93,6 +103,9 @@ class TweetLegacy(BaseModel):
93
103
  if value is None:
94
104
  return value
95
105
 
106
+ if not isinstance(value, str):
107
+ value = str(value)
108
+
96
109
  if not re.match(r"^[0-9]+$", value):
97
110
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
98
111
  return value
@@ -103,6 +116,9 @@ class TweetLegacy(BaseModel):
103
116
  if value is None:
104
117
  return value
105
118
 
119
+ if not isinstance(value, str):
120
+ value = str(value)
121
+
106
122
  if not re.match(r"^[0-9]+$", value):
107
123
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
108
124
  return value
@@ -123,6 +139,9 @@ class TweetLegacy(BaseModel):
123
139
  if value is None:
124
140
  return value
125
141
 
142
+ if not isinstance(value, str):
143
+ value = str(value)
144
+
126
145
  if not re.match(r"^[0-9]+$", value):
127
146
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
128
147
  return value
@@ -130,12 +149,16 @@ class TweetLegacy(BaseModel):
130
149
  @field_validator('user_id_str')
131
150
  def user_id_str_validate_regular_expression(cls, value):
132
151
  """Validates the regular expression"""
152
+ if not isinstance(value, str):
153
+ value = str(value)
154
+
133
155
  if not re.match(r"^[0-9]+$", value):
134
156
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
135
157
  return value
136
158
 
137
159
  model_config = ConfigDict(
138
- populate_by_name=True,
160
+ validate_by_name=True,
161
+ validate_by_alias=True,
139
162
  validate_assignment=True,
140
163
  protected_namespaces=(),
141
164
  )
@@ -147,8 +170,7 @@ class TweetLegacy(BaseModel):
147
170
 
148
171
  def to_json(self) -> str:
149
172
  """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())
173
+ return json.dumps(to_jsonable_python(self.to_dict()))
152
174
 
153
175
  @classmethod
154
176
  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]:
@@ -0,0 +1,105 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Twitter OpenAPI
5
+
6
+ Twitter OpenAPI(Swagger) specification
7
+
8
+ The version of the OpenAPI document: 0.0.1
9
+ Contact: yuki@yuki0311.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from twitter_openapi_python_generated.models.post_cta import PostCta
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+ from pydantic_core import to_jsonable_python
27
+
28
+ class TweetPostCta(BaseModel):
29
+ """
30
+ TweetPostCta
31
+ """ # noqa: E501
32
+ display_locations: List[StrictStr]
33
+ post_cta: PostCta
34
+ scribe_id: Optional[StrictStr] = None
35
+ __properties: ClassVar[List[str]] = ["display_locations", "post_cta", "scribe_id"]
36
+
37
+ @field_validator('display_locations')
38
+ def display_locations_validate_enum(cls, value):
39
+ """Validates the enum"""
40
+ for i in value:
41
+ if i not in set(['TweetDetails', 'ForYouTimeline', 'RepliesTimeline']):
42
+ raise ValueError("each list item must be one of ('TweetDetails', 'ForYouTimeline', 'RepliesTimeline')")
43
+ return value
44
+
45
+ model_config = ConfigDict(
46
+ validate_by_name=True,
47
+ validate_by_alias=True,
48
+ validate_assignment=True,
49
+ protected_namespaces=(),
50
+ )
51
+
52
+
53
+ def to_str(self) -> str:
54
+ """Returns the string representation of the model using alias"""
55
+ return pprint.pformat(self.model_dump(by_alias=True))
56
+
57
+ def to_json(self) -> str:
58
+ """Returns the JSON representation of the model using alias"""
59
+ return json.dumps(to_jsonable_python(self.to_dict()))
60
+
61
+ @classmethod
62
+ def from_json(cls, json_str: str) -> Optional[Self]:
63
+ """Create an instance of TweetPostCta from a JSON string"""
64
+ return cls.from_dict(json.loads(json_str))
65
+
66
+ def to_dict(self) -> Dict[str, Any]:
67
+ """Return the dictionary representation of the model using alias.
68
+
69
+ This has the following differences from calling pydantic's
70
+ `self.model_dump(by_alias=True)`:
71
+
72
+ * `None` is only added to the output dict for nullable fields that
73
+ were set at model initialization. Other fields with value `None`
74
+ are ignored.
75
+ """
76
+ excluded_fields: Set[str] = set([
77
+ ])
78
+
79
+ _dict = self.model_dump(
80
+ by_alias=True,
81
+ exclude=excluded_fields,
82
+ exclude_none=True,
83
+ )
84
+ # override the default output from pydantic by calling `to_dict()` of post_cta
85
+ if self.post_cta:
86
+ _dict['post_cta'] = self.post_cta.to_dict()
87
+ return _dict
88
+
89
+ @classmethod
90
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
91
+ """Create an instance of TweetPostCta from a dict"""
92
+ if obj is None:
93
+ return None
94
+
95
+ if not isinstance(obj, dict):
96
+ return cls.model_validate(obj)
97
+
98
+ _obj = cls.model_validate({
99
+ "display_locations": obj.get("display_locations"),
100
+ "post_cta": PostCta.from_dict(obj["post_cta"]) if obj.get("post_cta") is not None else None,
101
+ "scribe_id": obj.get("scribe_id")
102
+ })
103
+ return _obj
104
+
105
+
@@ -26,6 +26,7 @@ from twitter_openapi_python_generated.models.tweet_preview_display_tweet import
26
26
  from twitter_openapi_python_generated.models.type_name import TypeName
27
27
  from typing import Optional, Set
28
28
  from typing_extensions import Self
29
+ from pydantic_core import to_jsonable_python
29
30
 
30
31
  class TweetPreviewDisplay(BaseModel):
31
32
  """
@@ -38,7 +39,8 @@ class TweetPreviewDisplay(BaseModel):
38
39
  __properties: ClassVar[List[str]] = ["__typename", "cta", "limited_action_results", "tweet"]
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 TweetPreviewDisplay(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_preview_display_cta_url import TweetPreviewDisplayCtaUrl
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 TweetPreviewDisplayCta(BaseModel):
28
29
  """
@@ -33,7 +34,8 @@ class TweetPreviewDisplayCta(BaseModel):
33
34
  __properties: ClassVar[List[str]] = ["title", "url"]
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 TweetPreviewDisplayCta(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]:
@@ -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 TweetPreviewDisplayCtaUrl(BaseModel):
27
28
  """
@@ -39,7 +40,8 @@ class TweetPreviewDisplayCtaUrl(BaseModel):
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 TweetPreviewDisplayCtaUrl(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]:
@@ -19,17 +19,20 @@ import re # noqa: F401
19
19
  import json
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator
22
- from typing import Any, ClassVar, Dict, List
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
23
  from typing_extensions import Annotated
24
+ from twitter_openapi_python_generated.models.article_preview import ArticlePreview
24
25
  from twitter_openapi_python_generated.models.tweet_preview_display_tweet_view_count import TweetPreviewDisplayTweetViewCount
25
26
  from twitter_openapi_python_generated.models.user_result_core import UserResultCore
26
27
  from typing import Optional, Set
27
28
  from typing_extensions import Self
29
+ from pydantic_core import to_jsonable_python
28
30
 
29
31
  class TweetPreviewDisplayTweet(BaseModel):
30
32
  """
31
33
  TweetPreviewDisplayTweet
32
34
  """ # noqa: E501
35
+ article_preview: Optional[ArticlePreview] = None
33
36
  bookmark_count: StrictInt
34
37
  core: UserResultCore
35
38
  created_at: Annotated[str, Field(strict=True)]
@@ -41,11 +44,14 @@ class TweetPreviewDisplayTweet(BaseModel):
41
44
  retweet_count: StrictInt
42
45
  text: StrictStr
43
46
  view_count: TweetPreviewDisplayTweetViewCount
44
- __properties: ClassVar[List[str]] = ["bookmark_count", "core", "created_at", "entities", "favorite_count", "quote_count", "reply_count", "rest_id", "retweet_count", "text", "view_count"]
47
+ __properties: ClassVar[List[str]] = ["article_preview", "bookmark_count", "core", "created_at", "entities", "favorite_count", "quote_count", "reply_count", "rest_id", "retweet_count", "text", "view_count"]
45
48
 
46
49
  @field_validator('created_at')
47
50
  def created_at_validate_regular_expression(cls, value):
48
51
  """Validates the regular expression"""
52
+ if not isinstance(value, str):
53
+ value = str(value)
54
+
49
55
  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):
50
56
  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})$/")
51
57
  return value
@@ -53,12 +59,16 @@ class TweetPreviewDisplayTweet(BaseModel):
53
59
  @field_validator('rest_id')
54
60
  def rest_id_validate_regular_expression(cls, value):
55
61
  """Validates the regular expression"""
62
+ if not isinstance(value, str):
63
+ value = str(value)
64
+
56
65
  if not re.match(r"^[0-9]+$", value):
57
66
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
58
67
  return value
59
68
 
60
69
  model_config = ConfigDict(
61
- populate_by_name=True,
70
+ validate_by_name=True,
71
+ validate_by_alias=True,
62
72
  validate_assignment=True,
63
73
  protected_namespaces=(),
64
74
  )
@@ -70,8 +80,7 @@ class TweetPreviewDisplayTweet(BaseModel):
70
80
 
71
81
  def to_json(self) -> str:
72
82
  """Returns the JSON representation of the model using alias"""
73
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
74
- return json.dumps(self.to_dict())
83
+ return json.dumps(to_jsonable_python(self.to_dict()))
75
84
 
76
85
  @classmethod
77
86
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -96,6 +105,9 @@ class TweetPreviewDisplayTweet(BaseModel):
96
105
  exclude=excluded_fields,
97
106
  exclude_none=True,
98
107
  )
108
+ # override the default output from pydantic by calling `to_dict()` of article_preview
109
+ if self.article_preview:
110
+ _dict['article_preview'] = self.article_preview.to_dict()
99
111
  # override the default output from pydantic by calling `to_dict()` of core
100
112
  if self.core:
101
113
  _dict['core'] = self.core.to_dict()
@@ -114,6 +126,7 @@ class TweetPreviewDisplayTweet(BaseModel):
114
126
  return cls.model_validate(obj)
115
127
 
116
128
  _obj = cls.model_validate({
129
+ "article_preview": ArticlePreview.from_dict(obj["article_preview"]) if obj.get("article_preview") is not None else None,
117
130
  "bookmark_count": obj.get("bookmark_count"),
118
131
  "core": UserResultCore.from_dict(obj["core"]) if obj.get("core") is not None else None,
119
132
  "created_at": obj.get("created_at"),
@@ -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 TweetPreviewDisplayTweetViewCount(BaseModel):
28
29
  """
@@ -34,12 +35,16 @@ class TweetPreviewDisplayTweetViewCount(BaseModel):
34
35
  @field_validator('count')
35
36
  def count_validate_regular_expression(cls, value):
36
37
  """Validates the regular expression"""
38
+ if not isinstance(value, str):
39
+ value = str(value)
40
+
37
41
  if not re.match(r"^[0-9]+$", value):
38
42
  raise ValueError(r"must validate the regular expression /^[0-9]+$/")
39
43
  return value
40
44
 
41
45
  model_config = ConfigDict(
42
- populate_by_name=True,
46
+ validate_by_name=True,
47
+ validate_by_alias=True,
43
48
  validate_assignment=True,
44
49
  protected_namespaces=(),
45
50
  )
@@ -51,8 +56,7 @@ class TweetPreviewDisplayTweetViewCount(BaseModel):
51
56
 
52
57
  def to_json(self) -> str:
53
58
  """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())
59
+ return json.dumps(to_jsonable_python(self.to_dict()))
56
60
 
57
61
  @classmethod
58
62
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -22,6 +22,7 @@ from pydantic import BaseModel, ConfigDict, StrictInt
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 TweetPreviousCounts(BaseModel):
27
28
  """
@@ -35,7 +36,8 @@ class TweetPreviousCounts(BaseModel):
35
36
  __properties: ClassVar[List[str]] = ["bookmark_count", "favorite_count", "quote_count", "reply_count", "retweet_count"]
36
37
 
37
38
  model_config = ConfigDict(
38
- populate_by_name=True,
39
+ validate_by_name=True,
40
+ validate_by_alias=True,
39
41
  validate_assignment=True,
40
42
  protected_namespaces=(),
41
43
  )
@@ -47,8 +49,7 @@ class TweetPreviousCounts(BaseModel):
47
49
 
48
50
  def to_json(self) -> str:
49
51
  """Returns the JSON representation of the model using alias"""
50
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51
- return json.dumps(self.to_dict())
52
+ return json.dumps(to_jsonable_python(self.to_dict()))
52
53
 
53
54
  @classmethod
54
55
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional
23
23
  from twitter_openapi_python_generated.models.item_result import ItemResult
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 TweetResultByRestIdData(BaseModel):
28
29
  """
@@ -32,7 +33,8 @@ class TweetResultByRestIdData(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["tweetResult"]
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 TweetResultByRestIdData(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_result_by_rest_id_data import TweetResultByRestIdData
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 TweetResultByRestIdResponse(BaseModel):
29
30
  """
@@ -34,7 +35,8 @@ class TweetResultByRestIdResponse(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 TweetResultByRestIdResponse(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.error_response import ErrorResponse
24
24
  from twitter_openapi_python_generated.models.tweet_retweeters_response_data import TweetRetweetersResponseData
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 TweetRetweetersResponse(BaseModel):
29
30
  """
@@ -34,7 +35,8 @@ class TweetRetweetersResponse(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 TweetRetweetersResponse(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]:
@@ -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 TweetRetweetersResponseData(BaseModel):
28
29
  """
@@ -32,7 +33,8 @@ class TweetRetweetersResponseData(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["retweeters_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 TweetRetweetersResponseData(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]:
@@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional
23
23
  from twitter_openapi_python_generated.models.type_name import TypeName
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 TweetTombstone(BaseModel):
28
29
  """
@@ -33,7 +34,8 @@ class TweetTombstone(BaseModel):
33
34
  __properties: ClassVar[List[str]] = ["__typename"]
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 TweetTombstone(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]:
@@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional
23
23
  from twitter_openapi_python_generated.models.type_name import TypeName
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 TweetUnavailable(BaseModel):
28
29
  """
@@ -33,7 +34,8 @@ class TweetUnavailable(BaseModel):
33
34
  __properties: ClassVar[List[str]] = ["__typename", "reason"]
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 TweetUnavailable(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]: