twitter-openapi-python-generated 0.0.34__py3-none-any.whl → 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. twitter_openapi_python_generated/__init__.py +279 -7
  2. twitter_openapi_python_generated/api/post_api.py +2079 -203
  3. twitter_openapi_python_generated/api/tweet_api.py +3207 -231
  4. twitter_openapi_python_generated/api/user_api.py +969 -66
  5. twitter_openapi_python_generated/api/user_list_api.py +1907 -0
  6. twitter_openapi_python_generated/api_client.py +47 -9
  7. twitter_openapi_python_generated/configuration.py +55 -6
  8. twitter_openapi_python_generated/models/__init__.py +139 -3
  9. twitter_openapi_python_generated/models/ad_metadata_container.py +104 -0
  10. twitter_openapi_python_generated/models/additional_media_info.py +3 -1
  11. twitter_openapi_python_generated/models/affiliates_highlighted_label.py +93 -0
  12. twitter_openapi_python_generated/models/api_image.py +108 -0
  13. twitter_openapi_python_generated/models/api_media.py +110 -0
  14. twitter_openapi_python_generated/models/article_cover_media.py +2 -5
  15. twitter_openapi_python_generated/models/article_cover_media_info.py +3 -3
  16. twitter_openapi_python_generated/models/article_result.py +3 -7
  17. twitter_openapi_python_generated/models/badge_counts.py +97 -0
  18. twitter_openapi_python_generated/models/birdwatch_entity_ref.py +3 -1
  19. twitter_openapi_python_generated/models/birdwatch_pivot.py +2 -2
  20. twitter_openapi_python_generated/models/birdwatch_pivot_footer.py +1 -2
  21. twitter_openapi_python_generated/models/birdwatch_pivot_note.py +2 -5
  22. twitter_openapi_python_generated/models/birdwatch_pivot_subtitle.py +1 -2
  23. twitter_openapi_python_generated/models/bookmarks_response.py +1 -2
  24. twitter_openapi_python_generated/models/cashtag_attachment.py +89 -0
  25. twitter_openapi_python_generated/models/cashtag_info.py +93 -0
  26. twitter_openapi_python_generated/models/click_tracking_info.py +96 -0
  27. twitter_openapi_python_generated/models/client_event_info.py +6 -2
  28. twitter_openapi_python_generated/models/client_event_info_details.py +99 -0
  29. twitter_openapi_python_generated/models/community.py +21 -15
  30. twitter_openapi_python_generated/models/community_about_timeline_response.py +1 -2
  31. twitter_openapi_python_generated/models/community_banner_media.py +95 -0
  32. twitter_openapi_python_generated/models/community_banner_media_info.py +108 -0
  33. twitter_openapi_python_generated/models/community_discovery_timeline_response.py +102 -0
  34. twitter_openapi_python_generated/models/community_discovery_timeline_response_data.py +93 -0
  35. twitter_openapi_python_generated/models/community_discovery_timeline_viewer.py +93 -0
  36. twitter_openapi_python_generated/models/community_join_action_result_union.py +3 -2
  37. twitter_openapi_python_generated/models/community_media_timeline_response.py +1 -2
  38. twitter_openapi_python_generated/models/community_moderation_state.py +90 -0
  39. twitter_openapi_python_generated/models/community_relationship.py +8 -7
  40. twitter_openapi_python_generated/models/community_rule.py +2 -5
  41. twitter_openapi_python_generated/models/community_tweets_timeline_response.py +1 -2
  42. twitter_openapi_python_generated/models/community_union.py +3 -2
  43. twitter_openapi_python_generated/models/community_viewer_relationship.py +95 -0
  44. twitter_openapi_python_generated/models/connect_tab_timeline_response.py +102 -0
  45. twitter_openapi_python_generated/models/connect_tab_timeline_response_data.py +93 -0
  46. twitter_openapi_python_generated/models/content_disclosure_ai_generated_disclosure.py +2 -2
  47. twitter_openapi_python_generated/models/content_item_type.py +3 -0
  48. twitter_openapi_python_generated/models/content_union.py +3 -2
  49. twitter_openapi_python_generated/models/conversation_control.py +10 -11
  50. twitter_openapi_python_generated/models/conversation_details.py +96 -0
  51. twitter_openapi_python_generated/models/conversation_metadata.py +92 -0
  52. twitter_openapi_python_generated/models/conversation_owner.py +96 -0
  53. twitter_openapi_python_generated/models/conversation_owner_core.py +89 -0
  54. twitter_openapi_python_generated/models/conversation_owner_results.py +93 -0
  55. twitter_openapi_python_generated/models/cover_cta.py +1 -2
  56. twitter_openapi_python_generated/models/create_bookmark_response.py +1 -2
  57. twitter_openapi_python_generated/models/create_draft_tweet_response.py +102 -0
  58. twitter_openapi_python_generated/models/create_draft_tweet_response_data.py +93 -0
  59. twitter_openapi_python_generated/models/create_draft_tweet_response_tweet.py +97 -0
  60. twitter_openapi_python_generated/models/create_retweet_response.py +1 -2
  61. twitter_openapi_python_generated/models/create_tweet_response.py +1 -2
  62. twitter_openapi_python_generated/models/cta_limited_action_prompt.py +110 -0
  63. twitter_openapi_python_generated/models/cta_limited_action_prompt_text.py +91 -0
  64. twitter_openapi_python_generated/models/deepsearch_header.py +96 -0
  65. twitter_openapi_python_generated/models/deepsearch_step.py +99 -0
  66. twitter_openapi_python_generated/models/deepsearch_web_result.py +89 -0
  67. twitter_openapi_python_generated/models/delete_bookmark_response.py +1 -2
  68. twitter_openapi_python_generated/models/delete_draft_tweets_response.py +102 -0
  69. twitter_openapi_python_generated/models/delete_draft_tweets_response_data.py +89 -0
  70. twitter_openapi_python_generated/models/delete_list_response.py +102 -0
  71. twitter_openapi_python_generated/models/delete_list_response_data.py +89 -0
  72. twitter_openapi_python_generated/models/delete_retweet.py +1 -2
  73. twitter_openapi_python_generated/models/delete_retweet_response.py +1 -2
  74. twitter_openapi_python_generated/models/delete_tweet_response.py +1 -2
  75. twitter_openapi_python_generated/models/draft_list.py +96 -0
  76. twitter_openapi_python_generated/models/draft_tweet.py +109 -0
  77. twitter_openapi_python_generated/models/draft_tweet_create_request.py +99 -0
  78. twitter_openapi_python_generated/models/draft_tweet_user.py +100 -0
  79. twitter_openapi_python_generated/models/draft_tweet_user_results.py +93 -0
  80. twitter_openapi_python_generated/models/draft_tweets_viewer.py +93 -0
  81. twitter_openapi_python_generated/models/entities.py +34 -15
  82. twitter_openapi_python_generated/models/error_extensions.py +1 -1
  83. twitter_openapi_python_generated/models/error_response.py +3 -5
  84. twitter_openapi_python_generated/models/explore_page.py +95 -0
  85. twitter_openapi_python_generated/models/explore_page_body.py +104 -0
  86. twitter_openapi_python_generated/models/explore_page_response.py +102 -0
  87. twitter_openapi_python_generated/models/explore_page_response_data.py +93 -0
  88. twitter_openapi_python_generated/models/explore_timeline.py +105 -0
  89. twitter_openapi_python_generated/models/explore_timeline_scribe_config.py +91 -0
  90. twitter_openapi_python_generated/models/extended_entities.py +1 -2
  91. twitter_openapi_python_generated/models/favorite_tweet_response.py +1 -2
  92. twitter_openapi_python_generated/models/feedback_action.py +136 -0
  93. twitter_openapi_python_generated/models/feedback_action_entry.py +95 -0
  94. twitter_openapi_python_generated/models/feedback_client_event_info.py +93 -0
  95. twitter_openapi_python_generated/models/feedback_info.py +8 -6
  96. twitter_openapi_python_generated/models/fetch_draft_tweets_response.py +102 -0
  97. twitter_openapi_python_generated/models/fetch_draft_tweets_response_data.py +93 -0
  98. twitter_openapi_python_generated/models/fetch_scheduled_tweets_response.py +102 -0
  99. twitter_openapi_python_generated/models/fetch_scheduled_tweets_response_data.py +93 -0
  100. twitter_openapi_python_generated/models/follow_response.py +1 -2
  101. twitter_openapi_python_generated/models/generic_timeline_by_id_response.py +102 -0
  102. twitter_openapi_python_generated/models/generic_timeline_by_id_response_data.py +93 -0
  103. twitter_openapi_python_generated/models/grok_share_attachment.py +1 -2
  104. twitter_openapi_python_generated/models/grok_share_attachment_item.py +9 -2
  105. twitter_openapi_python_generated/models/grok_translated_bio.py +101 -0
  106. twitter_openapi_python_generated/models/grok_translated_bio_with_availability.py +97 -0
  107. twitter_openapi_python_generated/models/grok_translated_community_note.py +1 -2
  108. twitter_openapi_python_generated/models/hashtag.py +91 -0
  109. twitter_openapi_python_generated/models/highlight.py +1 -2
  110. twitter_openapi_python_generated/models/instruction_union.py +3 -2
  111. twitter_openapi_python_generated/models/item_content_union.py +68 -10
  112. twitter_openapi_python_generated/models/jetfuel_attachment.py +91 -0
  113. twitter_openapi_python_generated/models/key_value.py +91 -0
  114. twitter_openapi_python_generated/models/landing_url.py +98 -0
  115. twitter_openapi_python_generated/models/limited_action.py +95 -0
  116. twitter_openapi_python_generated/models/limited_action_results.py +96 -0
  117. twitter_openapi_python_generated/models/limited_action_results_data.py +1 -8
  118. twitter_openapi_python_generated/models/list_banner_media.py +93 -0
  119. twitter_openapi_python_generated/models/list_banner_media_info.py +99 -0
  120. twitter_openapi_python_generated/models/list_banner_media_results.py +93 -0
  121. twitter_openapi_python_generated/models/list_latest_tweets_timeline_response.py +1 -2
  122. twitter_openapi_python_generated/models/list_members_list.py +93 -0
  123. twitter_openapi_python_generated/models/list_members_response.py +102 -0
  124. twitter_openapi_python_generated/models/list_members_response_data.py +93 -0
  125. twitter_openapi_python_generated/models/list_recommended_users_list.py +93 -0
  126. twitter_openapi_python_generated/models/list_recommended_users_response.py +102 -0
  127. twitter_openapi_python_generated/models/list_recommended_users_response_data.py +93 -0
  128. twitter_openapi_python_generated/models/list_response.py +102 -0
  129. twitter_openapi_python_generated/models/list_response_data.py +93 -0
  130. twitter_openapi_python_generated/models/list_subscribers_list.py +93 -0
  131. twitter_openapi_python_generated/models/list_subscribers_response.py +102 -0
  132. twitter_openapi_python_generated/models/list_subscribers_response_data.py +93 -0
  133. twitter_openapi_python_generated/models/media.py +16 -17
  134. twitter_openapi_python_generated/models/{article_cover_media_color_info.py → media_color_info.py} +8 -9
  135. twitter_openapi_python_generated/models/{article_cover_media_color_info_palette.py → media_color_info_palette.py} +7 -7
  136. twitter_openapi_python_generated/models/{article_cover_media_color_info_palette_rgb.py → media_color_info_palette_rgb.py} +4 -4
  137. twitter_openapi_python_generated/models/media_extended.py +13 -16
  138. twitter_openapi_python_generated/models/media_original_info.py +1 -2
  139. twitter_openapi_python_generated/models/media_salient_rect.py +95 -0
  140. twitter_openapi_python_generated/models/media_video_info.py +1 -2
  141. twitter_openapi_python_generated/models/module_footer.py +104 -0
  142. twitter_openapi_python_generated/models/module_header.py +100 -0
  143. twitter_openapi_python_generated/models/module_item.py +2 -5
  144. twitter_openapi_python_generated/models/module_metadata.py +93 -0
  145. twitter_openapi_python_generated/models/note_tweet_result_data.py +2 -5
  146. twitter_openapi_python_generated/models/note_tweet_result_media.py +1 -2
  147. twitter_openapi_python_generated/models/note_tweet_result_media_inline_media.py +2 -5
  148. twitter_openapi_python_generated/models/note_tweet_result_rich_text.py +1 -2
  149. twitter_openapi_python_generated/models/notifications_result.py +2 -5
  150. twitter_openapi_python_generated/models/notifications_timeline_response.py +1 -2
  151. twitter_openapi_python_generated/models/post_create_bookmark_request.py +1 -1
  152. twitter_openapi_python_generated/models/post_create_bookmark_request_variables.py +2 -2
  153. twitter_openapi_python_generated/models/post_create_draft_tweet_request.py +95 -0
  154. twitter_openapi_python_generated/models/post_create_draft_tweet_request_variables.py +93 -0
  155. twitter_openapi_python_generated/models/post_create_draft_tweet_request_variables_post_tweet_request.py +97 -0
  156. twitter_openapi_python_generated/models/post_create_list_request.py +101 -0
  157. twitter_openapi_python_generated/models/post_create_list_request_features.py +97 -0
  158. twitter_openapi_python_generated/models/post_create_list_request_variables.py +93 -0
  159. twitter_openapi_python_generated/models/post_create_retweet_request.py +1 -1
  160. twitter_openapi_python_generated/models/post_create_retweet_request_variables.py +3 -3
  161. twitter_openapi_python_generated/models/post_create_tweet_request.py +2 -2
  162. twitter_openapi_python_generated/models/post_create_tweet_request_features.py +43 -41
  163. twitter_openapi_python_generated/models/post_create_tweet_request_variables.py +4 -4
  164. twitter_openapi_python_generated/models/post_create_tweet_request_variables_conversation_control.py +2 -2
  165. twitter_openapi_python_generated/models/post_create_tweet_request_variables_media.py +3 -4
  166. twitter_openapi_python_generated/models/post_create_tweet_request_variables_media_media_entities_inner.py +2 -2
  167. twitter_openapi_python_generated/models/post_create_tweet_request_variables_reply.py +2 -2
  168. twitter_openapi_python_generated/models/post_cta_title_text.py +1 -2
  169. twitter_openapi_python_generated/models/post_delete_bookmark_request.py +1 -1
  170. twitter_openapi_python_generated/models/post_delete_draft_tweets_request.py +95 -0
  171. twitter_openapi_python_generated/models/post_delete_draft_tweets_request_variables.py +89 -0
  172. twitter_openapi_python_generated/models/post_delete_list_request.py +95 -0
  173. twitter_openapi_python_generated/models/post_delete_list_request_variables.py +89 -0
  174. twitter_openapi_python_generated/models/post_delete_retweet_request.py +1 -1
  175. twitter_openapi_python_generated/models/post_delete_retweet_request_variables.py +3 -3
  176. twitter_openapi_python_generated/models/post_delete_tweet_request.py +2 -2
  177. twitter_openapi_python_generated/models/post_favorite_tweet_request.py +1 -1
  178. twitter_openapi_python_generated/models/post_list_add_member_request.py +101 -0
  179. twitter_openapi_python_generated/models/post_list_add_member_request_variables.py +91 -0
  180. twitter_openapi_python_generated/models/post_list_remove_member_request.py +101 -0
  181. twitter_openapi_python_generated/models/post_unfavorite_tweet_request.py +1 -1
  182. twitter_openapi_python_generated/models/primary_community_topic.py +2 -5
  183. twitter_openapi_python_generated/models/profile_bio.py +11 -3
  184. twitter_openapi_python_generated/models/profile_bio_entities.py +98 -0
  185. twitter_openapi_python_generated/models/profile_bio_entities_urls.py +96 -0
  186. twitter_openapi_python_generated/models/profile_response.py +1 -2
  187. twitter_openapi_python_generated/models/promoted_metadata.py +109 -0
  188. twitter_openapi_python_generated/models/reader_mode_config.py +89 -0
  189. twitter_openapi_python_generated/models/retweet.py +4 -7
  190. twitter_openapi_python_generated/models/scheduled_tweets_viewer.py +89 -0
  191. twitter_openapi_python_generated/models/scribe_config.py +89 -0
  192. twitter_openapi_python_generated/models/search_timeline_response.py +1 -2
  193. twitter_openapi_python_generated/models/self_thread.py +2 -5
  194. twitter_openapi_python_generated/models/session.py +8 -20
  195. twitter_openapi_python_generated/models/smarttag_tag.py +6 -2
  196. twitter_openapi_python_generated/models/smarttag_tag_info.py +93 -0
  197. twitter_openapi_python_generated/models/social_context_union.py +3 -2
  198. twitter_openapi_python_generated/models/symbol.py +97 -0
  199. twitter_openapi_python_generated/models/text.py +1 -2
  200. twitter_openapi_python_generated/models/timeline.py +13 -6
  201. twitter_openapi_python_generated/models/timeline_add_entries.py +1 -2
  202. twitter_openapi_python_generated/models/timeline_add_entry.py +4 -10
  203. twitter_openapi_python_generated/models/timeline_add_to_module.py +1 -2
  204. twitter_openapi_python_generated/models/timeline_frame.py +97 -0
  205. twitter_openapi_python_generated/models/timeline_half_cover.py +1 -2
  206. twitter_openapi_python_generated/models/timeline_label.py +101 -0
  207. twitter_openapi_python_generated/models/timeline_mark_entries_unread_greater_than_sort_index.py +2 -5
  208. twitter_openapi_python_generated/models/timeline_metadata.py +99 -0
  209. twitter_openapi_python_generated/models/timeline_response.py +1 -2
  210. twitter_openapi_python_generated/models/timeline_response_objects.py +96 -0
  211. twitter_openapi_python_generated/models/timeline_show_alert.py +19 -18
  212. twitter_openapi_python_generated/models/timeline_show_alert_color_config.py +93 -0
  213. twitter_openapi_python_generated/models/timeline_show_alert_icon_display_info.py +91 -0
  214. twitter_openapi_python_generated/models/timeline_show_alert_rich_text.py +3 -3
  215. twitter_openapi_python_generated/models/timeline_timeline_item.py +6 -2
  216. twitter_openapi_python_generated/models/timeline_timeline_module.py +19 -8
  217. twitter_openapi_python_generated/models/timeline_trend.py +16 -4
  218. twitter_openapi_python_generated/models/timeline_tweet.py +6 -2
  219. twitter_openapi_python_generated/models/timeline_twitter_list.py +101 -0
  220. twitter_openapi_python_generated/models/timelines_details.py +93 -0
  221. twitter_openapi_python_generated/models/tombstone_rich_text.py +1 -2
  222. twitter_openapi_python_generated/models/tracing.py +2 -5
  223. twitter_openapi_python_generated/models/trend_metadata.py +4 -2
  224. twitter_openapi_python_generated/models/trend_results.py +2 -5
  225. twitter_openapi_python_generated/models/tweet.py +23 -6
  226. twitter_openapi_python_generated/models/tweet_card_legacy.py +2 -4
  227. twitter_openapi_python_generated/models/tweet_card_legacy_binding_value_data.py +6 -2
  228. twitter_openapi_python_generated/models/tweet_card_platform_device.py +2 -5
  229. twitter_openapi_python_generated/models/tweet_detail_response.py +1 -2
  230. twitter_openapi_python_generated/models/tweet_edit_control.py +6 -15
  231. twitter_openapi_python_generated/models/tweet_edit_control_initial.py +4 -10
  232. twitter_openapi_python_generated/models/tweet_favoriters_response.py +1 -2
  233. twitter_openapi_python_generated/models/tweet_interstitial_reveal_text.py +1 -2
  234. twitter_openapi_python_generated/models/tweet_interstitial_text.py +1 -2
  235. twitter_openapi_python_generated/models/tweet_legacy.py +21 -38
  236. twitter_openapi_python_generated/models/tweet_limited_action_results.py +1 -2
  237. twitter_openapi_python_generated/models/tweet_preview_display_tweet.py +5 -11
  238. twitter_openapi_python_generated/models/tweet_preview_display_tweet_view_count.py +2 -5
  239. twitter_openapi_python_generated/models/tweet_result_by_rest_id_response.py +1 -2
  240. twitter_openapi_python_generated/models/tweet_retweeters_response.py +1 -2
  241. twitter_openapi_python_generated/models/tweet_union.py +3 -2
  242. twitter_openapi_python_generated/models/tweet_view.py +2 -5
  243. twitter_openapi_python_generated/models/tweet_with_visibility_results.py +6 -2
  244. twitter_openapi_python_generated/models/twitter_list.py +160 -0
  245. twitter_openapi_python_generated/models/type_name.py +7 -0
  246. twitter_openapi_python_generated/models/unfavorite_tweet_response.py +1 -2
  247. twitter_openapi_python_generated/models/urt_endpoint_options.py +3 -4
  248. twitter_openapi_python_generated/models/user.py +81 -15
  249. twitter_openapi_python_generated/models/user_action_counts.py +89 -0
  250. twitter_openapi_python_generated/models/user_banner.py +89 -0
  251. twitter_openapi_python_generated/models/user_core.py +3 -6
  252. twitter_openapi_python_generated/models/user_highlights_tweets_response.py +1 -2
  253. twitter_openapi_python_generated/models/user_label.py +128 -0
  254. twitter_openapi_python_generated/models/user_label_badge.py +89 -0
  255. twitter_openapi_python_generated/models/user_label_mention_results.py +93 -0
  256. twitter_openapi_python_generated/models/user_label_mention_user.py +106 -0
  257. twitter_openapi_python_generated/models/user_label_mention_user_core.py +89 -0
  258. twitter_openapi_python_generated/models/user_label_text.py +98 -0
  259. twitter_openapi_python_generated/models/user_label_text_entity.py +97 -0
  260. twitter_openapi_python_generated/models/user_label_text_entity_ref.py +104 -0
  261. twitter_openapi_python_generated/models/user_label_url.py +98 -0
  262. twitter_openapi_python_generated/models/user_legacy.py +9 -8
  263. twitter_openapi_python_generated/models/user_mention.py +115 -0
  264. twitter_openapi_python_generated/models/user_notifications_settings.py +89 -0
  265. twitter_openapi_python_generated/models/user_pinned_items.py +90 -0
  266. twitter_openapi_python_generated/models/user_professional.py +10 -9
  267. twitter_openapi_python_generated/models/user_profile_metadata.py +89 -0
  268. twitter_openapi_python_generated/models/user_profile_translation.py +89 -0
  269. twitter_openapi_python_generated/models/user_relationship_counts.py +91 -0
  270. twitter_openapi_python_generated/models/user_relationship_perspectives.py +6 -2
  271. twitter_openapi_python_generated/models/user_response.py +1 -2
  272. twitter_openapi_python_generated/models/user_result_by_screen_name.py +2 -5
  273. twitter_openapi_python_generated/models/user_result_by_screen_name_result.py +8 -12
  274. twitter_openapi_python_generated/models/user_result_core.py +3 -1
  275. twitter_openapi_python_generated/models/user_results.py +3 -1
  276. twitter_openapi_python_generated/models/user_tweet_counts.py +91 -0
  277. twitter_openapi_python_generated/models/user_tweets_response.py +1 -2
  278. twitter_openapi_python_generated/models/user_union.py +6 -3
  279. twitter_openapi_python_generated/models/user_value.py +8 -9
  280. twitter_openapi_python_generated/models/user_verification_info_reason.py +2 -5
  281. twitter_openapi_python_generated/models/user_verification_info_reason_description.py +1 -2
  282. twitter_openapi_python_generated/models/user_website.py +89 -0
  283. twitter_openapi_python_generated/models/users_response.py +1 -2
  284. twitter_openapi_python_generated/models/users_response_data.py +1 -2
  285. twitter_openapi_python_generated/models/viewer_badge_counts_response.py +102 -0
  286. twitter_openapi_python_generated/models/viewer_badge_counts_response_data.py +93 -0
  287. twitter_openapi_python_generated/models/viewer_badge_counts_result.py +96 -0
  288. twitter_openapi_python_generated/models/viewer_badge_counts_user_results.py +93 -0
  289. twitter_openapi_python_generated/models/viewer_badge_counts_viewer.py +93 -0
  290. twitter_openapi_python_generated/rest.py +79 -8
  291. {twitter_openapi_python_generated-0.0.34.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/METADATA +980 -816
  292. {twitter_openapi_python_generated-0.0.34.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/RECORD +296 -160
  293. {twitter_openapi_python_generated-0.0.34.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/WHEEL +1 -1
  294. {twitter_openapi_python_generated-0.0.34.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/licenses/LICENSE +31 -31
  295. {twitter_openapi_python_generated-0.0.34.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/licenses/LICENSE.AGPL +660 -660
  296. {twitter_openapi_python_generated-0.0.34.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,97 @@
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, StrictBool
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+ from pydantic_core import to_jsonable_python
26
+
27
+ class GrokTranslatedBioWithAvailability(BaseModel):
28
+ """
29
+ GrokTranslatedBioWithAvailability
30
+ """ # noqa: E501
31
+ data: Optional[GrokTranslatedBio] = None
32
+ is_available: StrictBool
33
+ __properties: ClassVar[List[str]] = ["data", "is_available"]
34
+
35
+ model_config = ConfigDict(
36
+ validate_by_name=True,
37
+ validate_by_alias=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ return json.dumps(to_jsonable_python(self.to_dict()))
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of GrokTranslatedBioWithAvailability from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ # override the default output from pydantic by calling `to_dict()` of data
75
+ if self.data:
76
+ _dict['data'] = self.data.to_dict()
77
+ return _dict
78
+
79
+ @classmethod
80
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
+ """Create an instance of GrokTranslatedBioWithAvailability from a dict"""
82
+ if obj is None:
83
+ return None
84
+
85
+ if not isinstance(obj, dict):
86
+ return cls.model_validate(obj)
87
+
88
+ _obj = cls.model_validate({
89
+ "data": GrokTranslatedBio.from_dict(obj["data"]) if obj.get("data") is not None else None,
90
+ "is_available": obj.get("is_available")
91
+ })
92
+ return _obj
93
+
94
+ from twitter_openapi_python_generated.models.grok_translated_bio import GrokTranslatedBio
95
+ # TODO: Rewrite to not use raise_errors
96
+ GrokTranslatedBioWithAvailability.model_rebuild(raise_errors=False)
97
+
@@ -79,8 +79,7 @@ class GrokTranslatedCommunityNote(BaseModel):
79
79
  _items = []
80
80
  if self.rich_text_entities:
81
81
  for _item_rich_text_entities in self.rich_text_entities:
82
- if _item_rich_text_entities:
83
- _items.append(_item_rich_text_entities.to_dict())
82
+ _items.append(_item_rich_text_entities.to_dict() if _item_rich_text_entities is not None else None)
84
83
  _dict['rich_text_entities'] = _items
85
84
  return _dict
86
85
 
@@ -0,0 +1,91 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Twitter OpenAPI
5
+
6
+ Twitter OpenAPI(Swagger) specification
7
+
8
+ The version of the OpenAPI document: 0.0.1
9
+ Contact: yuki@yuki0311.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+ from pydantic_core import to_jsonable_python
26
+
27
+ class Hashtag(BaseModel):
28
+ """
29
+ Hashtag
30
+ """ # noqa: E501
31
+ indices: List[StrictInt]
32
+ text: StrictStr
33
+ __properties: ClassVar[List[str]] = ["indices", "text"]
34
+
35
+ model_config = ConfigDict(
36
+ validate_by_name=True,
37
+ validate_by_alias=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ return json.dumps(to_jsonable_python(self.to_dict()))
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of Hashtag from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ return _dict
75
+
76
+ @classmethod
77
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78
+ """Create an instance of Hashtag from a dict"""
79
+ if obj is None:
80
+ return None
81
+
82
+ if not isinstance(obj, dict):
83
+ return cls.model_validate(obj)
84
+
85
+ _obj = cls.model_validate({
86
+ "indices": obj.get("indices"),
87
+ "text": obj.get("text")
88
+ })
89
+ return _obj
90
+
91
+
@@ -75,8 +75,7 @@ class Highlight(BaseModel):
75
75
  _items = []
76
76
  if self.text_highlights:
77
77
  for _item_text_highlights in self.text_highlights:
78
- if _item_text_highlights:
79
- _items.append(_item_text_highlights.to_dict())
78
+ _items.append(_item_text_highlights.to_dict() if _item_text_highlights is not None else None)
80
79
  _dict['textHighlights'] = _items
81
80
  return _dict
82
81
 
@@ -156,9 +156,10 @@ class InstructionUnion(BaseModel):
156
156
  match = 0
157
157
 
158
158
  # use oneOf discriminator to lookup the data type
159
- _data_type = json.loads(json_str).get("type")
159
+ _discriminator_property = "type"
160
+ _data_type = json.loads(json_str).get(_discriminator_property)
160
161
  if not _data_type:
161
- raise ValueError("Failed to lookup data type from the field `type` in the input.")
162
+ raise ValueError(f"Failed to lookup data type from the field `{_discriminator_property}` in the input.")
162
163
 
163
164
  # check if data type is `TimelineAddEntries`
164
165
  if _data_type == "TimelineAddEntries":
@@ -19,6 +19,8 @@ import pprint
19
19
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
20
20
  from typing import Any, List, Optional
21
21
  from twitter_openapi_python_generated.models.timeline_community import TimelineCommunity
22
+ from twitter_openapi_python_generated.models.timeline_frame import TimelineFrame
23
+ from twitter_openapi_python_generated.models.timeline_label import TimelineLabel
22
24
  from twitter_openapi_python_generated.models.timeline_message_prompt import TimelineMessagePrompt
23
25
  from twitter_openapi_python_generated.models.timeline_notification import TimelineNotification
24
26
  from twitter_openapi_python_generated.models.timeline_prompt import TimelinePrompt
@@ -26,12 +28,13 @@ from twitter_openapi_python_generated.models.timeline_timeline_cursor import Tim
26
28
  from twitter_openapi_python_generated.models.timeline_tombstone import TimelineTombstone
27
29
  from twitter_openapi_python_generated.models.timeline_trend import TimelineTrend
28
30
  from twitter_openapi_python_generated.models.timeline_tweet import TimelineTweet
31
+ from twitter_openapi_python_generated.models.timeline_twitter_list import TimelineTwitterList
29
32
  from twitter_openapi_python_generated.models.timeline_user import TimelineUser
30
33
  from pydantic import StrictStr, Field
31
34
  from typing import Union, List, Set, Optional, Dict
32
35
  from typing_extensions import Literal, Self
33
36
 
34
- ITEMCONTENTUNION_ONE_OF_SCHEMAS = ["TimelineCommunity", "TimelineMessagePrompt", "TimelineNotification", "TimelinePrompt", "TimelineTimelineCursor", "TimelineTombstone", "TimelineTrend", "TimelineTweet", "TimelineUser"]
37
+ ITEMCONTENTUNION_ONE_OF_SCHEMAS = ["TimelineCommunity", "TimelineFrame", "TimelineLabel", "TimelineMessagePrompt", "TimelineNotification", "TimelinePrompt", "TimelineTimelineCursor", "TimelineTombstone", "TimelineTrend", "TimelineTweet", "TimelineTwitterList", "TimelineUser"]
35
38
 
36
39
  class ItemContentUnion(BaseModel):
37
40
  """
@@ -55,8 +58,14 @@ class ItemContentUnion(BaseModel):
55
58
  oneof_schema_8_validator: Optional[TimelineTrend] = None
56
59
  # data type: TimelineNotification
57
60
  oneof_schema_9_validator: Optional[TimelineNotification] = None
58
- actual_instance: Optional[Union[TimelineCommunity, TimelineMessagePrompt, TimelineNotification, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTrend, TimelineTweet, TimelineUser]] = None
59
- one_of_schemas: Set[str] = { "TimelineCommunity", "TimelineMessagePrompt", "TimelineNotification", "TimelinePrompt", "TimelineTimelineCursor", "TimelineTombstone", "TimelineTrend", "TimelineTweet", "TimelineUser" }
61
+ # data type: TimelineFrame
62
+ oneof_schema_10_validator: Optional[TimelineFrame] = None
63
+ # data type: TimelineTwitterList
64
+ oneof_schema_11_validator: Optional[TimelineTwitterList] = None
65
+ # data type: TimelineLabel
66
+ oneof_schema_12_validator: Optional[TimelineLabel] = None
67
+ actual_instance: Optional[Union[TimelineCommunity, TimelineFrame, TimelineLabel, TimelineMessagePrompt, TimelineNotification, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTrend, TimelineTweet, TimelineTwitterList, TimelineUser]] = None
68
+ one_of_schemas: Set[str] = { "TimelineCommunity", "TimelineFrame", "TimelineLabel", "TimelineMessagePrompt", "TimelineNotification", "TimelinePrompt", "TimelineTimelineCursor", "TimelineTombstone", "TimelineTrend", "TimelineTweet", "TimelineTwitterList", "TimelineUser" }
60
69
 
61
70
  model_config = ConfigDict(
62
71
  validate_assignment=True,
@@ -127,12 +136,27 @@ class ItemContentUnion(BaseModel):
127
136
  error_messages.append(f"Error! Input type `{type(v)}` is not `TimelineNotification`")
128
137
  else:
129
138
  match += 1
139
+ # validate data type: TimelineFrame
140
+ if not isinstance(v, TimelineFrame):
141
+ error_messages.append(f"Error! Input type `{type(v)}` is not `TimelineFrame`")
142
+ else:
143
+ match += 1
144
+ # validate data type: TimelineTwitterList
145
+ if not isinstance(v, TimelineTwitterList):
146
+ error_messages.append(f"Error! Input type `{type(v)}` is not `TimelineTwitterList`")
147
+ else:
148
+ match += 1
149
+ # validate data type: TimelineLabel
150
+ if not isinstance(v, TimelineLabel):
151
+ error_messages.append(f"Error! Input type `{type(v)}` is not `TimelineLabel`")
152
+ else:
153
+ match += 1
130
154
  if match > 1:
131
155
  # more than 1 match
132
- raise ValueError("Multiple matches found when setting `actual_instance` in ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineMessagePrompt, TimelineNotification, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTrend, TimelineTweet, TimelineUser. Details: " + ", ".join(error_messages))
156
+ raise ValueError("Multiple matches found when setting `actual_instance` in ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineFrame, TimelineLabel, TimelineMessagePrompt, TimelineNotification, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTrend, TimelineTweet, TimelineTwitterList, TimelineUser. Details: " + ", ".join(error_messages))
133
157
  elif match == 0:
134
158
  # no match
135
- raise ValueError("No match found when setting `actual_instance` in ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineMessagePrompt, TimelineNotification, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTrend, TimelineTweet, TimelineUser. Details: " + ", ".join(error_messages))
159
+ raise ValueError("No match found when setting `actual_instance` in ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineFrame, TimelineLabel, TimelineMessagePrompt, TimelineNotification, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTrend, TimelineTweet, TimelineTwitterList, TimelineUser. Details: " + ", ".join(error_messages))
136
160
  else:
137
161
  return v
138
162
 
@@ -148,15 +172,26 @@ class ItemContentUnion(BaseModel):
148
172
  match = 0
149
173
 
150
174
  # use oneOf discriminator to lookup the data type
151
- _data_type = json.loads(json_str).get("__typename")
175
+ _discriminator_property = "__typename"
176
+ _data_type = json.loads(json_str).get(_discriminator_property)
152
177
  if not _data_type:
153
- raise ValueError("Failed to lookup data type from the field `__typename` in the input.")
178
+ raise ValueError(f"Failed to lookup data type from the field `{_discriminator_property}` in the input.")
154
179
 
155
180
  # check if data type is `TimelineCommunity`
156
181
  if _data_type == "TimelineCommunity":
157
182
  instance.actual_instance = TimelineCommunity.from_json(json_str)
158
183
  return instance
159
184
 
185
+ # check if data type is `TimelineFrame`
186
+ if _data_type == "TimelineFrame":
187
+ instance.actual_instance = TimelineFrame.from_json(json_str)
188
+ return instance
189
+
190
+ # check if data type is `TimelineLabel`
191
+ if _data_type == "TimelineLabel":
192
+ instance.actual_instance = TimelineLabel.from_json(json_str)
193
+ return instance
194
+
160
195
  # check if data type is `TimelineMessagePrompt`
161
196
  if _data_type == "TimelineMessagePrompt":
162
197
  instance.actual_instance = TimelineMessagePrompt.from_json(json_str)
@@ -192,6 +227,11 @@ class ItemContentUnion(BaseModel):
192
227
  instance.actual_instance = TimelineTweet.from_json(json_str)
193
228
  return instance
194
229
 
230
+ # check if data type is `TimelineTwitterList`
231
+ if _data_type == "TimelineTwitterList":
232
+ instance.actual_instance = TimelineTwitterList.from_json(json_str)
233
+ return instance
234
+
195
235
  # check if data type is `TimelineUser`
196
236
  if _data_type == "TimelineUser":
197
237
  instance.actual_instance = TimelineUser.from_json(json_str)
@@ -251,13 +291,31 @@ class ItemContentUnion(BaseModel):
251
291
  match += 1
252
292
  except (ValidationError, ValueError) as e:
253
293
  error_messages.append(str(e))
294
+ # deserialize data into TimelineFrame
295
+ try:
296
+ instance.actual_instance = TimelineFrame.from_json(json_str)
297
+ match += 1
298
+ except (ValidationError, ValueError) as e:
299
+ error_messages.append(str(e))
300
+ # deserialize data into TimelineTwitterList
301
+ try:
302
+ instance.actual_instance = TimelineTwitterList.from_json(json_str)
303
+ match += 1
304
+ except (ValidationError, ValueError) as e:
305
+ error_messages.append(str(e))
306
+ # deserialize data into TimelineLabel
307
+ try:
308
+ instance.actual_instance = TimelineLabel.from_json(json_str)
309
+ match += 1
310
+ except (ValidationError, ValueError) as e:
311
+ error_messages.append(str(e))
254
312
 
255
313
  if match > 1:
256
314
  # more than 1 match
257
- raise ValueError("Multiple matches found when deserializing the JSON string into ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineMessagePrompt, TimelineNotification, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTrend, TimelineTweet, TimelineUser. Details: " + ", ".join(error_messages))
315
+ raise ValueError("Multiple matches found when deserializing the JSON string into ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineFrame, TimelineLabel, TimelineMessagePrompt, TimelineNotification, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTrend, TimelineTweet, TimelineTwitterList, TimelineUser. Details: " + ", ".join(error_messages))
258
316
  elif match == 0:
259
317
  # no match
260
- raise ValueError("No match found when deserializing the JSON string into ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineMessagePrompt, TimelineNotification, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTrend, TimelineTweet, TimelineUser. Details: " + ", ".join(error_messages))
318
+ raise ValueError("No match found when deserializing the JSON string into ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineFrame, TimelineLabel, TimelineMessagePrompt, TimelineNotification, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTrend, TimelineTweet, TimelineTwitterList, TimelineUser. Details: " + ", ".join(error_messages))
261
319
  else:
262
320
  return instance
263
321
 
@@ -271,7 +329,7 @@ class ItemContentUnion(BaseModel):
271
329
  else:
272
330
  return json.dumps(self.actual_instance)
273
331
 
274
- def to_dict(self) -> Optional[Union[Dict[str, Any], TimelineCommunity, TimelineMessagePrompt, TimelineNotification, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTrend, TimelineTweet, TimelineUser]]:
332
+ def to_dict(self) -> Optional[Union[Dict[str, Any], TimelineCommunity, TimelineFrame, TimelineLabel, TimelineMessagePrompt, TimelineNotification, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTrend, TimelineTweet, TimelineTwitterList, TimelineUser]]:
275
333
  """Returns the dict representation of the actual instance"""
276
334
  if self.actual_instance is None:
277
335
  return None
@@ -0,0 +1,91 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Twitter OpenAPI
5
+
6
+ Twitter OpenAPI(Swagger) specification
7
+
8
+ The version of the OpenAPI document: 0.0.1
9
+ Contact: yuki@yuki0311.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+ from pydantic_core import to_jsonable_python
26
+
27
+ class JetfuelAttachment(BaseModel):
28
+ """
29
+ JetfuelAttachment
30
+ """ # noqa: E501
31
+ height: StrictInt
32
+ payload: StrictStr
33
+ __properties: ClassVar[List[str]] = ["height", "payload"]
34
+
35
+ model_config = ConfigDict(
36
+ validate_by_name=True,
37
+ validate_by_alias=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ return json.dumps(to_jsonable_python(self.to_dict()))
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of JetfuelAttachment from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ return _dict
75
+
76
+ @classmethod
77
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78
+ """Create an instance of JetfuelAttachment from a dict"""
79
+ if obj is None:
80
+ return None
81
+
82
+ if not isinstance(obj, dict):
83
+ return cls.model_validate(obj)
84
+
85
+ _obj = cls.model_validate({
86
+ "height": obj.get("height"),
87
+ "payload": obj.get("payload")
88
+ })
89
+ return _obj
90
+
91
+
@@ -0,0 +1,91 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Twitter OpenAPI
5
+
6
+ Twitter OpenAPI(Swagger) specification
7
+
8
+ The version of the OpenAPI document: 0.0.1
9
+ Contact: yuki@yuki0311.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, StrictStr
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+ from pydantic_core import to_jsonable_python
26
+
27
+ class KeyValue(BaseModel):
28
+ """
29
+ KeyValue
30
+ """ # noqa: E501
31
+ key: StrictStr
32
+ value: StrictStr
33
+ __properties: ClassVar[List[str]] = ["key", "value"]
34
+
35
+ model_config = ConfigDict(
36
+ validate_by_name=True,
37
+ validate_by_alias=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ return json.dumps(to_jsonable_python(self.to_dict()))
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of KeyValue from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ return _dict
75
+
76
+ @classmethod
77
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78
+ """Create an instance of KeyValue from a dict"""
79
+ if obj is None:
80
+ return None
81
+
82
+ if not isinstance(obj, dict):
83
+ return cls.model_validate(obj)
84
+
85
+ _obj = cls.model_validate({
86
+ "key": obj.get("key"),
87
+ "value": obj.get("value")
88
+ })
89
+ return _obj
90
+
91
+
@@ -0,0 +1,98 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Twitter OpenAPI
5
+
6
+ Twitter OpenAPI(Swagger) specification
7
+
8
+ The version of the OpenAPI document: 0.0.1
9
+ Contact: yuki@yuki0311.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+ from pydantic_core import to_jsonable_python
26
+
27
+ class LandingUrl(BaseModel):
28
+ """
29
+ LandingUrl
30
+ """ # noqa: E501
31
+ url: StrictStr
32
+ url_type: StrictStr = Field(alias="urlType")
33
+ __properties: ClassVar[List[str]] = ["url", "urlType"]
34
+
35
+ @field_validator('url_type')
36
+ def url_type_validate_enum(cls, value):
37
+ """Validates the enum"""
38
+ if value not in set(['DeepLink', 'ExternalUrl']):
39
+ raise ValueError("must be one of enum values ('DeepLink', 'ExternalUrl')")
40
+ return value
41
+
42
+ model_config = ConfigDict(
43
+ validate_by_name=True,
44
+ validate_by_alias=True,
45
+ validate_assignment=True,
46
+ protected_namespaces=(),
47
+ )
48
+
49
+
50
+ def to_str(self) -> str:
51
+ """Returns the string representation of the model using alias"""
52
+ return pprint.pformat(self.model_dump(by_alias=True))
53
+
54
+ def to_json(self) -> str:
55
+ """Returns the JSON representation of the model using alias"""
56
+ return json.dumps(to_jsonable_python(self.to_dict()))
57
+
58
+ @classmethod
59
+ def from_json(cls, json_str: str) -> Optional[Self]:
60
+ """Create an instance of LandingUrl from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self) -> Dict[str, Any]:
64
+ """Return the dictionary representation of the model using alias.
65
+
66
+ This has the following differences from calling pydantic's
67
+ `self.model_dump(by_alias=True)`:
68
+
69
+ * `None` is only added to the output dict for nullable fields that
70
+ were set at model initialization. Other fields with value `None`
71
+ are ignored.
72
+ """
73
+ excluded_fields: Set[str] = set([
74
+ ])
75
+
76
+ _dict = self.model_dump(
77
+ by_alias=True,
78
+ exclude=excluded_fields,
79
+ exclude_none=True,
80
+ )
81
+ return _dict
82
+
83
+ @classmethod
84
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
85
+ """Create an instance of LandingUrl from a dict"""
86
+ if obj is None:
87
+ return None
88
+
89
+ if not isinstance(obj, dict):
90
+ return cls.model_validate(obj)
91
+
92
+ _obj = cls.model_validate({
93
+ "url": obj.get("url"),
94
+ "urlType": obj.get("urlType")
95
+ })
96
+ return _obj
97
+
98
+