twitter-openapi-python-generated 0.0.9__py3-none-any.whl → 0.0.11__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 (281) hide show
  1. twitter_openapi_python_generated/__init__.py +59 -2
  2. twitter_openapi_python_generated/api/default_api.py +5 -13
  3. twitter_openapi_python_generated/api/other_api.py +4 -11
  4. twitter_openapi_python_generated/api/post_api.py +10 -19
  5. twitter_openapi_python_generated/api/tweet_api.py +14 -22
  6. twitter_openapi_python_generated/api/user_api.py +5 -13
  7. twitter_openapi_python_generated/api/user_list_api.py +8 -16
  8. twitter_openapi_python_generated/api/users_api.py +4 -12
  9. twitter_openapi_python_generated/api/v11_get_api.py +5 -13
  10. twitter_openapi_python_generated/api/v11_post_api.py +5 -13
  11. twitter_openapi_python_generated/api/v20_get_api.py +4 -12
  12. twitter_openapi_python_generated/api_client.py +45 -18
  13. twitter_openapi_python_generated/api_response.py +3 -3
  14. twitter_openapi_python_generated/configuration.py +5 -3
  15. twitter_openapi_python_generated/exceptions.py +0 -1
  16. twitter_openapi_python_generated/models/__init__.py +58 -1
  17. twitter_openapi_python_generated/models/additional_media_info.py +30 -13
  18. twitter_openapi_python_generated/models/additional_media_info_call_to_actions.py +92 -0
  19. twitter_openapi_python_generated/models/additional_media_info_call_to_actions_visit_site.py +88 -0
  20. twitter_openapi_python_generated/models/author_community_relationship.py +110 -0
  21. twitter_openapi_python_generated/models/birdwatch_entity.py +10 -12
  22. twitter_openapi_python_generated/models/birdwatch_entity_ref.py +11 -13
  23. twitter_openapi_python_generated/models/birdwatch_pivot.py +21 -17
  24. twitter_openapi_python_generated/models/birdwatch_pivot_call_to_action.py +92 -0
  25. twitter_openapi_python_generated/models/birdwatch_pivot_footer.py +10 -11
  26. twitter_openapi_python_generated/models/birdwatch_pivot_note.py +9 -11
  27. twitter_openapi_python_generated/models/birdwatch_pivot_subtitle.py +10 -11
  28. twitter_openapi_python_generated/models/bookmarks_response.py +10 -11
  29. twitter_openapi_python_generated/models/bookmarks_response_data.py +10 -11
  30. twitter_openapi_python_generated/models/bookmarks_timeline.py +10 -11
  31. twitter_openapi_python_generated/models/callback.py +9 -10
  32. twitter_openapi_python_generated/models/client_event_info.py +9 -10
  33. twitter_openapi_python_generated/models/communities_actions.py +9 -10
  34. twitter_openapi_python_generated/models/community.py +92 -0
  35. twitter_openapi_python_generated/models/community_actions.py +110 -0
  36. twitter_openapi_python_generated/models/community_data.py +210 -0
  37. twitter_openapi_python_generated/models/community_delete_action_result.py +98 -0
  38. twitter_openapi_python_generated/models/community_invites_result.py +100 -0
  39. twitter_openapi_python_generated/models/community_join_action_result.py +89 -0
  40. twitter_openapi_python_generated/models/community_join_requests_result.py +89 -0
  41. twitter_openapi_python_generated/models/community_leave_action_result.py +100 -0
  42. twitter_openapi_python_generated/models/community_pin_action_result.py +89 -0
  43. twitter_openapi_python_generated/models/community_rule.py +100 -0
  44. twitter_openapi_python_generated/models/community_urls.py +92 -0
  45. twitter_openapi_python_generated/models/community_urls_permalink.py +88 -0
  46. twitter_openapi_python_generated/models/content_entry_type.py +1 -9
  47. twitter_openapi_python_generated/models/content_item_type.py +1 -9
  48. twitter_openapi_python_generated/models/content_union.py +8 -17
  49. twitter_openapi_python_generated/models/cover_cta.py +13 -15
  50. twitter_openapi_python_generated/models/create_retweet.py +10 -11
  51. twitter_openapi_python_generated/models/create_retweet_response.py +10 -11
  52. twitter_openapi_python_generated/models/create_retweet_response_data.py +10 -11
  53. twitter_openapi_python_generated/models/create_retweet_response_result.py +10 -11
  54. twitter_openapi_python_generated/models/create_tweet.py +10 -11
  55. twitter_openapi_python_generated/models/create_tweet_response.py +10 -11
  56. twitter_openapi_python_generated/models/create_tweet_response_data.py +10 -11
  57. twitter_openapi_python_generated/models/create_tweet_response_result.py +10 -11
  58. twitter_openapi_python_generated/models/cta_client_event_info.py +10 -11
  59. twitter_openapi_python_generated/models/cursor_type.py +1 -9
  60. twitter_openapi_python_generated/models/delete_retweet.py +10 -11
  61. twitter_openapi_python_generated/models/delete_retweet_response.py +10 -11
  62. twitter_openapi_python_generated/models/delete_retweet_response_data.py +10 -11
  63. twitter_openapi_python_generated/models/delete_retweet_response_result.py +10 -11
  64. twitter_openapi_python_generated/models/delete_tweet_response.py +10 -11
  65. twitter_openapi_python_generated/models/delete_tweet_response_data.py +10 -11
  66. twitter_openapi_python_generated/models/delete_tweet_response_result.py +9 -10
  67. twitter_openapi_python_generated/models/display_treatment.py +88 -0
  68. twitter_openapi_python_generated/models/display_type.py +40 -0
  69. twitter_openapi_python_generated/models/entities.py +11 -12
  70. twitter_openapi_python_generated/models/error.py +12 -13
  71. twitter_openapi_python_generated/models/error_extensions.py +10 -11
  72. twitter_openapi_python_generated/models/error_response.py +10 -11
  73. twitter_openapi_python_generated/models/errors.py +10 -11
  74. twitter_openapi_python_generated/models/ext_media_availability.py +10 -11
  75. twitter_openapi_python_generated/models/extended_entities.py +10 -11
  76. twitter_openapi_python_generated/models/extensions.py +10 -11
  77. twitter_openapi_python_generated/models/favorite_tweet.py +9 -10
  78. twitter_openapi_python_generated/models/favorite_tweet_response_data.py +10 -11
  79. twitter_openapi_python_generated/models/{social_context.py → feedback_info.py} +17 -23
  80. twitter_openapi_python_generated/models/follow_response.py +10 -11
  81. twitter_openapi_python_generated/models/follow_response_data.py +10 -11
  82. twitter_openapi_python_generated/models/follow_response_result.py +10 -12
  83. twitter_openapi_python_generated/models/follow_response_user.py +10 -11
  84. twitter_openapi_python_generated/models/follow_timeline.py +10 -11
  85. twitter_openapi_python_generated/models/get_bookmarks200_response.py +8 -17
  86. twitter_openapi_python_generated/models/get_favoriters200_response.py +8 -17
  87. twitter_openapi_python_generated/models/get_followers200_response.py +8 -17
  88. twitter_openapi_python_generated/models/get_home_latest_timeline200_response.py +8 -17
  89. twitter_openapi_python_generated/models/get_likes200_response.py +8 -17
  90. twitter_openapi_python_generated/models/get_list_latest_tweets_timeline200_response.py +8 -17
  91. twitter_openapi_python_generated/models/get_profile_spotlights_query200_response.py +8 -17
  92. twitter_openapi_python_generated/models/get_retweeters200_response.py +8 -17
  93. twitter_openapi_python_generated/models/get_search_timeline200_response.py +8 -17
  94. twitter_openapi_python_generated/models/get_tweet_detail200_response.py +8 -17
  95. twitter_openapi_python_generated/models/get_tweet_result_by_rest_id200_response.py +8 -17
  96. twitter_openapi_python_generated/models/get_user_by_rest_id200_response.py +8 -17
  97. twitter_openapi_python_generated/models/get_user_highlights_tweets200_response.py +8 -17
  98. twitter_openapi_python_generated/models/get_users_by_rest_ids200_response.py +8 -17
  99. twitter_openapi_python_generated/models/highlight.py +96 -0
  100. twitter_openapi_python_generated/models/home_timeline_home.py +10 -11
  101. twitter_openapi_python_generated/models/home_timeline_response_data.py +10 -11
  102. twitter_openapi_python_generated/models/instruction_type.py +1 -9
  103. twitter_openapi_python_generated/models/instruction_union.py +8 -17
  104. twitter_openapi_python_generated/models/item_content_union.py +8 -17
  105. twitter_openapi_python_generated/models/item_result.py +10 -12
  106. twitter_openapi_python_generated/models/list_latest_tweets_timeline_response.py +10 -11
  107. twitter_openapi_python_generated/models/list_tweets_timeline.py +10 -11
  108. twitter_openapi_python_generated/models/list_tweets_timeline_data.py +10 -11
  109. twitter_openapi_python_generated/models/list_tweets_timeline_list.py +10 -11
  110. twitter_openapi_python_generated/models/location.py +9 -10
  111. twitter_openapi_python_generated/models/media.py +52 -16
  112. twitter_openapi_python_generated/models/media_extended.py +43 -19
  113. twitter_openapi_python_generated/models/media_original_info.py +10 -11
  114. twitter_openapi_python_generated/models/media_original_info_focus_rect.py +9 -10
  115. twitter_openapi_python_generated/models/media_size.py +10 -11
  116. twitter_openapi_python_generated/models/media_sizes.py +13 -14
  117. twitter_openapi_python_generated/models/media_stats.py +9 -11
  118. twitter_openapi_python_generated/models/media_video_info.py +10 -11
  119. twitter_openapi_python_generated/models/media_video_info_variant.py +9 -10
  120. twitter_openapi_python_generated/models/module_entry.py +11 -13
  121. twitter_openapi_python_generated/models/module_item.py +10 -12
  122. twitter_openapi_python_generated/models/note_tweet.py +10 -11
  123. twitter_openapi_python_generated/models/note_tweet_result.py +10 -11
  124. twitter_openapi_python_generated/models/note_tweet_result_data.py +12 -14
  125. twitter_openapi_python_generated/models/note_tweet_result_media.py +10 -11
  126. twitter_openapi_python_generated/models/note_tweet_result_media_inline_media.py +9 -11
  127. twitter_openapi_python_generated/models/note_tweet_result_rich_text.py +10 -11
  128. twitter_openapi_python_generated/models/note_tweet_result_rich_text_tag.py +10 -11
  129. twitter_openapi_python_generated/models/one_factor_login_eligibility.py +9 -11
  130. twitter_openapi_python_generated/models/other200_response.py +8 -17
  131. twitter_openapi_python_generated/models/other_response.py +10 -12
  132. twitter_openapi_python_generated/models/post_create_retweet200_response.py +8 -17
  133. twitter_openapi_python_generated/models/post_create_retweet_request.py +10 -12
  134. twitter_openapi_python_generated/models/post_create_retweet_request_variables.py +9 -10
  135. twitter_openapi_python_generated/models/post_create_tweet200_response.py +8 -17
  136. twitter_openapi_python_generated/models/post_create_tweet_request.py +12 -14
  137. twitter_openapi_python_generated/models/post_create_tweet_request_features.py +15 -12
  138. twitter_openapi_python_generated/models/post_create_tweet_request_variables.py +11 -12
  139. twitter_openapi_python_generated/models/post_create_tweet_request_variables_media.py +10 -11
  140. twitter_openapi_python_generated/models/post_create_tweet_request_variables_media_media_entities_inner.py +9 -10
  141. twitter_openapi_python_generated/models/post_create_tweet_request_variables_reply.py +9 -10
  142. twitter_openapi_python_generated/models/post_delete_retweet200_response.py +8 -17
  143. twitter_openapi_python_generated/models/post_delete_retweet_request.py +10 -12
  144. twitter_openapi_python_generated/models/post_delete_retweet_request_variables.py +9 -10
  145. twitter_openapi_python_generated/models/post_delete_tweet200_response.py +8 -17
  146. twitter_openapi_python_generated/models/post_delete_tweet_request.py +10 -12
  147. twitter_openapi_python_generated/models/post_favorite_tweet200_response.py +8 -17
  148. twitter_openapi_python_generated/models/post_favorite_tweet_request.py +10 -12
  149. twitter_openapi_python_generated/models/post_unfavorite_tweet200_response.py +8 -17
  150. twitter_openapi_python_generated/models/post_unfavorite_tweet_request.py +10 -12
  151. twitter_openapi_python_generated/models/primary_community_topic.py +98 -0
  152. twitter_openapi_python_generated/models/profile_response.py +10 -11
  153. twitter_openapi_python_generated/models/profile_response_data.py +10 -11
  154. twitter_openapi_python_generated/models/quoted_ref_result.py +92 -0
  155. twitter_openapi_python_generated/models/quoted_ref_result_data.py +99 -0
  156. twitter_openapi_python_generated/models/quoted_status_permalink.py +92 -0
  157. twitter_openapi_python_generated/models/retweet.py +10 -12
  158. twitter_openapi_python_generated/models/retweet_legacy.py +9 -10
  159. twitter_openapi_python_generated/models/search_by_raw_query.py +10 -11
  160. twitter_openapi_python_generated/models/search_timeline.py +10 -11
  161. twitter_openapi_python_generated/models/search_timeline_data.py +10 -11
  162. twitter_openapi_python_generated/models/search_timeline_response.py +10 -11
  163. twitter_openapi_python_generated/models/self_thread.py +9 -11
  164. twitter_openapi_python_generated/models/session.py +13 -15
  165. twitter_openapi_python_generated/models/social_context_landing_url.py +106 -0
  166. twitter_openapi_python_generated/models/social_context_union.py +156 -0
  167. twitter_openapi_python_generated/models/social_context_union_type.py +38 -0
  168. twitter_openapi_python_generated/models/super_follows_reply_user_result.py +92 -0
  169. twitter_openapi_python_generated/models/super_follows_reply_user_result_data.py +95 -0
  170. twitter_openapi_python_generated/models/super_follows_reply_user_result_legacy.py +88 -0
  171. twitter_openapi_python_generated/models/text.py +10 -11
  172. twitter_openapi_python_generated/models/text_entity.py +10 -12
  173. twitter_openapi_python_generated/models/text_entity_ref.py +11 -13
  174. twitter_openapi_python_generated/models/text_highlight.py +90 -0
  175. twitter_openapi_python_generated/models/timeline.py +10 -12
  176. twitter_openapi_python_generated/models/timeline_add_entries.py +10 -11
  177. twitter_openapi_python_generated/models/timeline_add_entry.py +10 -12
  178. twitter_openapi_python_generated/models/timeline_add_to_module.py +10 -12
  179. twitter_openapi_python_generated/models/timeline_clear_cache.py +9 -10
  180. twitter_openapi_python_generated/models/timeline_community.py +10 -12
  181. twitter_openapi_python_generated/models/timeline_cover_behavior.py +10 -11
  182. twitter_openapi_python_generated/models/timeline_general_context.py +109 -0
  183. twitter_openapi_python_generated/models/timeline_half_cover.py +15 -17
  184. twitter_openapi_python_generated/models/timeline_message_prompt.py +10 -12
  185. twitter_openapi_python_generated/models/timeline_pin_entry.py +10 -11
  186. twitter_openapi_python_generated/models/timeline_prompt.py +10 -12
  187. twitter_openapi_python_generated/models/timeline_replace_entry.py +10 -11
  188. twitter_openapi_python_generated/models/timeline_response.py +10 -11
  189. twitter_openapi_python_generated/models/timeline_show_alert.py +13 -15
  190. twitter_openapi_python_generated/models/timeline_show_alert_rich_text.py +9 -10
  191. twitter_openapi_python_generated/models/timeline_show_cover.py +11 -13
  192. twitter_openapi_python_generated/models/timeline_terminate_timeline.py +10 -11
  193. twitter_openapi_python_generated/models/timeline_timeline_cursor.py +18 -12
  194. twitter_openapi_python_generated/models/timeline_timeline_item.py +11 -13
  195. twitter_openapi_python_generated/models/timeline_timeline_module.py +21 -21
  196. twitter_openapi_python_generated/models/timeline_topic_context.py +107 -0
  197. twitter_openapi_python_generated/models/timeline_tweet.py +21 -17
  198. twitter_openapi_python_generated/models/timeline_user.py +16 -18
  199. twitter_openapi_python_generated/models/timeline_v2.py +10 -11
  200. twitter_openapi_python_generated/models/topic_context.py +100 -0
  201. twitter_openapi_python_generated/models/tracing.py +9 -11
  202. twitter_openapi_python_generated/models/tweet.py +51 -21
  203. twitter_openapi_python_generated/models/tweet_card.py +10 -11
  204. twitter_openapi_python_generated/models/tweet_card_legacy.py +28 -13
  205. twitter_openapi_python_generated/models/tweet_card_legacy_binding_value.py +10 -11
  206. twitter_openapi_python_generated/models/tweet_card_legacy_binding_value_data.py +25 -12
  207. twitter_openapi_python_generated/models/tweet_card_legacy_binding_value_data_image.py +94 -0
  208. twitter_openapi_python_generated/models/tweet_card_platform.py +98 -0
  209. twitter_openapi_python_generated/models/tweet_card_platform_audience.py +95 -0
  210. twitter_openapi_python_generated/models/tweet_card_platform_data.py +92 -0
  211. twitter_openapi_python_generated/models/tweet_card_platform_device.py +98 -0
  212. twitter_openapi_python_generated/models/tweet_detail_response.py +10 -11
  213. twitter_openapi_python_generated/models/tweet_detail_response_data.py +10 -11
  214. twitter_openapi_python_generated/models/tweet_edit_control.py +10 -12
  215. twitter_openapi_python_generated/models/tweet_edit_control_initial.py +9 -11
  216. twitter_openapi_python_generated/models/tweet_edit_prespective.py +9 -10
  217. twitter_openapi_python_generated/models/tweet_favoriters_response.py +10 -11
  218. twitter_openapi_python_generated/models/tweet_favoriters_response_data.py +10 -11
  219. twitter_openapi_python_generated/models/tweet_interstitial.py +110 -0
  220. twitter_openapi_python_generated/models/tweet_interstitial_reveal_text.py +100 -0
  221. twitter_openapi_python_generated/models/tweet_interstitial_text.py +100 -0
  222. twitter_openapi_python_generated/models/tweet_interstitial_text_entity.py +96 -0
  223. twitter_openapi_python_generated/models/tweet_interstitial_text_entity_ref.py +106 -0
  224. twitter_openapi_python_generated/models/tweet_legacy.py +80 -16
  225. twitter_openapi_python_generated/models/tweet_legacy_scopes.py +88 -0
  226. twitter_openapi_python_generated/models/tweet_previous_counts.py +96 -0
  227. twitter_openapi_python_generated/models/tweet_result_by_rest_id_data.py +10 -12
  228. twitter_openapi_python_generated/models/tweet_result_by_rest_id_response.py +10 -11
  229. twitter_openapi_python_generated/models/tweet_retweeters_response.py +10 -11
  230. twitter_openapi_python_generated/models/tweet_retweeters_response_data.py +10 -11
  231. twitter_openapi_python_generated/models/tweet_tombstone.py +10 -12
  232. twitter_openapi_python_generated/models/tweet_union.py +8 -17
  233. twitter_openapi_python_generated/models/tweet_view.py +10 -12
  234. twitter_openapi_python_generated/models/tweet_with_visibility_results.py +20 -14
  235. twitter_openapi_python_generated/models/type_name.py +9 -9
  236. twitter_openapi_python_generated/models/unfavorite_tweet.py +9 -10
  237. twitter_openapi_python_generated/models/unfavorite_tweet_response_data.py +10 -11
  238. twitter_openapi_python_generated/models/unified_card.py +95 -0
  239. twitter_openapi_python_generated/models/url.py +9 -10
  240. twitter_openapi_python_generated/models/urt_endpoint_options.py +98 -0
  241. twitter_openapi_python_generated/models/urt_endpoint_request_params.py +90 -0
  242. twitter_openapi_python_generated/models/user.py +45 -14
  243. twitter_openapi_python_generated/models/user_features.py +9 -10
  244. twitter_openapi_python_generated/models/user_highlights_info.py +90 -0
  245. twitter_openapi_python_generated/models/user_highlights_tweets_data.py +10 -11
  246. twitter_openapi_python_generated/models/user_highlights_tweets_response.py +10 -11
  247. twitter_openapi_python_generated/models/user_highlights_tweets_result.py +10 -12
  248. twitter_openapi_python_generated/models/user_highlights_tweets_timeline.py +10 -11
  249. twitter_openapi_python_generated/models/user_highlights_tweets_user.py +10 -11
  250. twitter_openapi_python_generated/models/user_legacy.py +25 -13
  251. twitter_openapi_python_generated/models/user_professional.py +115 -0
  252. twitter_openapi_python_generated/models/user_professional_category.py +92 -0
  253. twitter_openapi_python_generated/models/user_response.py +10 -11
  254. twitter_openapi_python_generated/models/user_response_data.py +10 -11
  255. twitter_openapi_python_generated/models/user_result_by_screen_name.py +10 -12
  256. twitter_openapi_python_generated/models/user_result_by_screen_name_legacy.py +9 -10
  257. twitter_openapi_python_generated/models/user_result_by_screen_name_result.py +10 -12
  258. twitter_openapi_python_generated/models/user_result_core.py +10 -11
  259. twitter_openapi_python_generated/models/user_results.py +10 -11
  260. twitter_openapi_python_generated/models/user_tweets_data.py +10 -11
  261. twitter_openapi_python_generated/models/user_tweets_response.py +10 -11
  262. twitter_openapi_python_generated/models/user_tweets_result.py +10 -12
  263. twitter_openapi_python_generated/models/user_tweets_user.py +10 -11
  264. twitter_openapi_python_generated/models/user_unavailable.py +9 -11
  265. twitter_openapi_python_generated/models/user_union.py +8 -17
  266. twitter_openapi_python_generated/models/user_value.py +96 -0
  267. twitter_openapi_python_generated/models/user_verification_info.py +94 -0
  268. twitter_openapi_python_generated/models/user_verification_info_reason.py +104 -0
  269. twitter_openapi_python_generated/models/user_verification_info_reason_description.py +98 -0
  270. twitter_openapi_python_generated/models/user_verification_info_reason_description_entities.py +96 -0
  271. twitter_openapi_python_generated/models/user_verification_info_reason_description_entities_ref.py +97 -0
  272. twitter_openapi_python_generated/models/users_response.py +10 -11
  273. twitter_openapi_python_generated/models/users_response_data.py +10 -11
  274. twitter_openapi_python_generated/rest.py +23 -35
  275. {twitter_openapi_python_generated-0.0.9.dist-info → twitter_openapi_python_generated-0.0.11.dist-info}/METADATA +1 -1
  276. twitter_openapi_python_generated-0.0.11.dist-info/RECORD +282 -0
  277. twitter_openapi_python_generated-0.0.9.dist-info/RECORD +0 -225
  278. {twitter_openapi_python_generated-0.0.9.dist-info → twitter_openapi_python_generated-0.0.11.dist-info}/LICENSE +0 -0
  279. {twitter_openapi_python_generated-0.0.9.dist-info → twitter_openapi_python_generated-0.0.11.dist-info}/LICENSE.AGPL +0 -0
  280. {twitter_openapi_python_generated-0.0.9.dist-info → twitter_openapi_python_generated-0.0.11.dist-info}/WHEEL +0 -0
  281. {twitter_openapi_python_generated-0.0.9.dist-info → twitter_openapi_python_generated-0.0.11.dist-info}/top_level.txt +0 -0
@@ -12,22 +12,14 @@
12
12
  Do not edit the class manually.
13
13
  """ # noqa: E501
14
14
 
15
-
16
- import io
17
15
  import warnings
18
-
19
16
  from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
20
- from typing import Dict, List, Optional, Tuple, Union, Any
21
-
22
- try:
23
- from typing import Annotated
24
- except ImportError:
25
- from typing_extensions import Annotated
17
+ from typing import Any, Dict, List, Optional, Tuple, Union
18
+ from typing_extensions import Annotated
26
19
 
27
20
  from pydantic import StrictInt, StrictStr
28
21
 
29
-
30
- from twitter_openapi_python_generated.api_client import ApiClient
22
+ from twitter_openapi_python_generated.api_client import ApiClient, RequestSerialized
31
23
  from twitter_openapi_python_generated.api_response import ApiResponse
32
24
  from twitter_openapi_python_generated.rest import RESTResponseType
33
25
 
@@ -418,7 +410,7 @@ class V11PostApi:
418
410
  _content_type,
419
411
  _headers,
420
412
  _host_index,
421
- ) -> Tuple:
413
+ ) -> RequestSerialized:
422
414
 
423
415
  _host = None
424
416
 
@@ -897,7 +889,7 @@ class V11PostApi:
897
889
  _content_type,
898
890
  _headers,
899
891
  _host_index,
900
- ) -> Tuple:
892
+ ) -> RequestSerialized:
901
893
 
902
894
  _host = None
903
895
 
@@ -12,22 +12,14 @@
12
12
  Do not edit the class manually.
13
13
  """ # noqa: E501
14
14
 
15
-
16
- import io
17
15
  import warnings
18
-
19
16
  from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
20
- from typing import Dict, List, Optional, Tuple, Union, Any
21
-
22
- try:
23
- from typing import Annotated
24
- except ImportError:
25
- from typing_extensions import Annotated
17
+ from typing import Any, Dict, List, Optional, Tuple, Union
18
+ from typing_extensions import Annotated
26
19
 
27
20
  from pydantic import StrictBool, StrictInt, StrictStr
28
21
 
29
-
30
- from twitter_openapi_python_generated.api_client import ApiClient
22
+ from twitter_openapi_python_generated.api_client import ApiClient, RequestSerialized
31
23
  from twitter_openapi_python_generated.api_response import ApiResponse
32
24
  from twitter_openapi_python_generated.rest import RESTResponseType
33
25
 
@@ -717,7 +709,7 @@ class V20GetApi:
717
709
  _content_type,
718
710
  _headers,
719
711
  _host_index,
720
- ) -> Tuple:
712
+ ) -> RequestSerialized:
721
713
 
722
714
  _host = None
723
715
 
@@ -13,9 +13,9 @@
13
13
  """ # noqa: E501
14
14
 
15
15
 
16
- import atexit
17
16
  import datetime
18
17
  from dateutil.parser import parse
18
+ from enum import Enum
19
19
  import json
20
20
  import mimetypes
21
21
  import os
@@ -23,10 +23,10 @@ import re
23
23
  import tempfile
24
24
 
25
25
  from urllib.parse import quote
26
- from typing import Tuple, Optional, List
26
+ from typing import Tuple, Optional, List, Dict
27
27
 
28
28
  from twitter_openapi_python_generated.configuration import Configuration
29
- from twitter_openapi_python_generated.api_response import ApiResponse
29
+ from twitter_openapi_python_generated.api_response import ApiResponse, T as ApiResponseT
30
30
  import twitter_openapi_python_generated.models
31
31
  from twitter_openapi_python_generated import rest
32
32
  from twitter_openapi_python_generated.exceptions import (
@@ -39,6 +39,7 @@ from twitter_openapi_python_generated.exceptions import (
39
39
  ServiceException
40
40
  )
41
41
 
42
+ RequestSerialized = Tuple[str, str, Dict[str, str], Optional[str], List[str]]
42
43
 
43
44
  class ApiClient:
44
45
  """Generic API client for OpenAPI client library builds.
@@ -87,7 +88,7 @@ class ApiClient:
87
88
  self.default_headers[header_name] = header_value
88
89
  self.cookie = cookie
89
90
  # Set default User-Agent.
90
- self.user_agent = 'OpenAPI-Generator/0.0.9/python'
91
+ self.user_agent = 'OpenAPI-Generator/0.0.11/python'
91
92
  self.client_side_validation = configuration.client_side_validation
92
93
 
93
94
  def __enter__(self):
@@ -148,7 +149,7 @@ class ApiClient:
148
149
  collection_formats=None,
149
150
  _host=None,
150
151
  _request_auth=None
151
- ) -> Tuple:
152
+ ) -> RequestSerialized:
152
153
 
153
154
  """Builds the HTTP request params needed by the request.
154
155
  :param method: Method to call.
@@ -274,23 +275,23 @@ class ApiClient:
274
275
  )
275
276
 
276
277
  except ApiException as e:
277
- if e.body:
278
- e.body = e.body.decode('utf-8')
279
278
  raise e
280
279
 
281
280
  return response_data
282
281
 
283
282
  def response_deserialize(
284
283
  self,
285
- response_data: rest.RESTResponse = None,
286
- response_types_map=None
287
- ) -> ApiResponse:
284
+ response_data: rest.RESTResponse,
285
+ response_types_map: Optional[Dict[str, ApiResponseT]]=None
286
+ ) -> ApiResponse[ApiResponseT]:
288
287
  """Deserializes response into an object.
289
288
  :param response_data: RESTResponse object to be deserialized.
290
289
  :param response_types_map: dict of response types.
291
290
  :return: ApiResponse
292
291
  """
293
292
 
293
+ msg = "RESTResponse.read() must be called before passing it to response_deserialize()"
294
+ assert response_data.data is not None, msg
294
295
 
295
296
  response_type = response_types_map.get(str(response_data.status), None)
296
297
  if not response_type and isinstance(response_data.status, int) and 100 <= response_data.status <= 599:
@@ -403,12 +404,16 @@ class ApiClient:
403
404
 
404
405
  if isinstance(klass, str):
405
406
  if klass.startswith('List['):
406
- sub_kls = re.match(r'List\[(.*)]', klass).group(1)
407
+ m = re.match(r'List\[(.*)]', klass)
408
+ assert m is not None, "Malformed List type definition"
409
+ sub_kls = m.group(1)
407
410
  return [self.__deserialize(sub_data, sub_kls)
408
411
  for sub_data in data]
409
412
 
410
413
  if klass.startswith('Dict['):
411
- sub_kls = re.match(r'Dict\[([^,]*), (.*)]', klass).group(2)
414
+ m = re.match(r'Dict\[([^,]*), (.*)]', klass)
415
+ assert m is not None, "Malformed Dict type definition"
416
+ sub_kls = m.group(2)
412
417
  return {k: self.__deserialize(v, sub_kls)
413
418
  for k, v in data.items()}
414
419
 
@@ -426,6 +431,8 @@ class ApiClient:
426
431
  return self.__deserialize_date(data)
427
432
  elif klass == datetime.datetime:
428
433
  return self.__deserialize_datetime(data)
434
+ elif issubclass(klass, Enum):
435
+ return self.__deserialize_enum(data, klass)
429
436
  else:
430
437
  return self.__deserialize_model(data, klass)
431
438
 
@@ -436,7 +443,7 @@ class ApiClient:
436
443
  :param dict collection_formats: Parameter collection formats
437
444
  :return: Parameters as list of tuples, collections formatted
438
445
  """
439
- new_params = []
446
+ new_params: List[Tuple[str, str]] = []
440
447
  if collection_formats is None:
441
448
  collection_formats = {}
442
449
  for k, v in params.items() if isinstance(params, dict) else params:
@@ -466,7 +473,7 @@ class ApiClient:
466
473
  :param dict collection_formats: Parameter collection formats
467
474
  :return: URL query string (e.g. a=Hello%20World&b=123)
468
475
  """
469
- new_params = []
476
+ new_params: List[Tuple[str, str]] = []
470
477
  if collection_formats is None:
471
478
  collection_formats = {}
472
479
  for k, v in params.items() if isinstance(params, dict) else params:
@@ -480,7 +487,7 @@ class ApiClient:
480
487
  if k in collection_formats:
481
488
  collection_format = collection_formats[k]
482
489
  if collection_format == 'multi':
483
- new_params.extend((k, value) for value in v)
490
+ new_params.extend((k, str(value)) for value in v)
484
491
  else:
485
492
  if collection_format == 'ssv':
486
493
  delimiter = ' '
@@ -496,7 +503,7 @@ class ApiClient:
496
503
  else:
497
504
  new_params.append((k, quote(str(v))))
498
505
 
499
- return "&".join(["=".join(item) for item in new_params])
506
+ return "&".join(["=".join(map(str, item)) for item in new_params])
500
507
 
501
508
  def files_parameters(self, files=None):
502
509
  """Builds form parameters.
@@ -651,10 +658,12 @@ class ApiClient:
651
658
 
652
659
  content_disposition = response.getheader("Content-Disposition")
653
660
  if content_disposition:
654
- filename = re.search(
661
+ m = re.search(
655
662
  r'filename=[\'"]?([^\'"\s]+)[\'"]?',
656
663
  content_disposition
657
- ).group(1)
664
+ )
665
+ assert m is not None, "Unexpected 'content-disposition' header value"
666
+ filename = m.group(1)
658
667
  path = os.path.join(os.path.dirname(path), filename)
659
668
 
660
669
  with open(path, "wb") as f:
@@ -721,6 +730,24 @@ class ApiClient:
721
730
  )
722
731
  )
723
732
 
733
+ def __deserialize_enum(self, data, klass):
734
+ """Deserializes primitive type to enum.
735
+
736
+ :param data: primitive type.
737
+ :param klass: class literal.
738
+ :return: enum value.
739
+ """
740
+ try:
741
+ return klass(data)
742
+ except ValueError:
743
+ raise rest.ApiException(
744
+ status=0,
745
+ reason=(
746
+ "Failed to parse `{0}` as `{1}`"
747
+ .format(data, klass)
748
+ )
749
+ )
750
+
724
751
  def __deserialize_model(self, data, klass):
725
752
  """Deserializes list or dict to model.
726
753
 
@@ -1,8 +1,8 @@
1
1
  """API response object."""
2
2
 
3
3
  from __future__ import annotations
4
- from typing import Any, Dict, Optional, Generic, TypeVar
5
- from pydantic import Field, StrictInt, StrictStr, StrictBytes, BaseModel
4
+ from typing import Optional, Generic, Mapping, TypeVar
5
+ from pydantic import Field, StrictInt, StrictBytes, BaseModel
6
6
 
7
7
  T = TypeVar("T")
8
8
 
@@ -12,7 +12,7 @@ class ApiResponse(BaseModel, Generic[T]):
12
12
  """
13
13
 
14
14
  status_code: StrictInt = Field(description="HTTP status code")
15
- headers: Optional[Dict[StrictStr, StrictStr]] = Field(None, description="HTTP headers")
15
+ headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers")
16
16
  data: T = Field(description="Deserialized data given the data type")
17
17
  raw_data: StrictBytes = Field(description="Raw data (HTTP response body)")
18
18
 
@@ -15,8 +15,10 @@
15
15
 
16
16
  import copy
17
17
  import logging
18
+ from logging import FileHandler
18
19
  import multiprocessing
19
20
  import sys
21
+ from typing import Optional
20
22
  import urllib3
21
23
 
22
24
  import http.client as httplib
@@ -136,7 +138,7 @@ conf = twitter_openapi_python_generated.Configuration(
136
138
  self.logger_stream_handler = None
137
139
  """Log stream handler
138
140
  """
139
- self.logger_file_handler = None
141
+ self.logger_file_handler: Optional[FileHandler] = None
140
142
  """Log file handler
141
143
  """
142
144
  self.logger_file = None
@@ -176,7 +178,7 @@ conf = twitter_openapi_python_generated.Configuration(
176
178
  cpu_count * 5 is used as default value to increase performance.
177
179
  """
178
180
 
179
- self.proxy = None
181
+ self.proxy: Optional[str] = None
180
182
  """Proxy URL
181
183
  """
182
184
  self.proxy_headers = None
@@ -567,7 +569,7 @@ conf = twitter_openapi_python_generated.Configuration(
567
569
  "OS: {env}\n"\
568
570
  "Python Version: {pyversion}\n"\
569
571
  "Version of the API: 0.0.1\n"\
570
- "SDK Package Version: 0.0.9".\
572
+ "SDK Package Version: 0.0.11".\
571
573
  format(env=sys.platform, pyversion=sys.version)
572
574
 
573
575
  def get_host_settings(self):
@@ -13,7 +13,6 @@
13
13
  """ # noqa: E501
14
14
 
15
15
  from typing import Any, Optional
16
-
17
16
  from typing_extensions import Self
18
17
 
19
18
  class OpenApiException(Exception):
@@ -16,9 +16,13 @@
16
16
 
17
17
  # import models into model package
18
18
  from twitter_openapi_python_generated.models.additional_media_info import AdditionalMediaInfo
19
+ from twitter_openapi_python_generated.models.additional_media_info_call_to_actions import AdditionalMediaInfoCallToActions
20
+ from twitter_openapi_python_generated.models.additional_media_info_call_to_actions_visit_site import AdditionalMediaInfoCallToActionsVisitSite
21
+ from twitter_openapi_python_generated.models.author_community_relationship import AuthorCommunityRelationship
19
22
  from twitter_openapi_python_generated.models.birdwatch_entity import BirdwatchEntity
20
23
  from twitter_openapi_python_generated.models.birdwatch_entity_ref import BirdwatchEntityRef
21
24
  from twitter_openapi_python_generated.models.birdwatch_pivot import BirdwatchPivot
25
+ from twitter_openapi_python_generated.models.birdwatch_pivot_call_to_action import BirdwatchPivotCallToAction
22
26
  from twitter_openapi_python_generated.models.birdwatch_pivot_footer import BirdwatchPivotFooter
23
27
  from twitter_openapi_python_generated.models.birdwatch_pivot_note import BirdwatchPivotNote
24
28
  from twitter_openapi_python_generated.models.birdwatch_pivot_subtitle import BirdwatchPivotSubtitle
@@ -28,6 +32,18 @@ from twitter_openapi_python_generated.models.bookmarks_timeline import Bookmarks
28
32
  from twitter_openapi_python_generated.models.callback import Callback
29
33
  from twitter_openapi_python_generated.models.client_event_info import ClientEventInfo
30
34
  from twitter_openapi_python_generated.models.communities_actions import CommunitiesActions
35
+ from twitter_openapi_python_generated.models.community import Community
36
+ from twitter_openapi_python_generated.models.community_actions import CommunityActions
37
+ from twitter_openapi_python_generated.models.community_data import CommunityData
38
+ from twitter_openapi_python_generated.models.community_delete_action_result import CommunityDeleteActionResult
39
+ from twitter_openapi_python_generated.models.community_invites_result import CommunityInvitesResult
40
+ from twitter_openapi_python_generated.models.community_join_action_result import CommunityJoinActionResult
41
+ from twitter_openapi_python_generated.models.community_join_requests_result import CommunityJoinRequestsResult
42
+ from twitter_openapi_python_generated.models.community_leave_action_result import CommunityLeaveActionResult
43
+ from twitter_openapi_python_generated.models.community_pin_action_result import CommunityPinActionResult
44
+ from twitter_openapi_python_generated.models.community_rule import CommunityRule
45
+ from twitter_openapi_python_generated.models.community_urls import CommunityUrls
46
+ from twitter_openapi_python_generated.models.community_urls_permalink import CommunityUrlsPermalink
31
47
  from twitter_openapi_python_generated.models.content_entry_type import ContentEntryType
32
48
  from twitter_openapi_python_generated.models.content_item_type import ContentItemType
33
49
  from twitter_openapi_python_generated.models.content_union import ContentUnion
@@ -49,6 +65,8 @@ from twitter_openapi_python_generated.models.delete_retweet_response_result impo
49
65
  from twitter_openapi_python_generated.models.delete_tweet_response import DeleteTweetResponse
50
66
  from twitter_openapi_python_generated.models.delete_tweet_response_data import DeleteTweetResponseData
51
67
  from twitter_openapi_python_generated.models.delete_tweet_response_result import DeleteTweetResponseResult
68
+ from twitter_openapi_python_generated.models.display_treatment import DisplayTreatment
69
+ from twitter_openapi_python_generated.models.display_type import DisplayType
52
70
  from twitter_openapi_python_generated.models.entities import Entities
53
71
  from twitter_openapi_python_generated.models.error import Error
54
72
  from twitter_openapi_python_generated.models.error_extensions import ErrorExtensions
@@ -59,6 +77,7 @@ from twitter_openapi_python_generated.models.extended_entities import ExtendedEn
59
77
  from twitter_openapi_python_generated.models.extensions import Extensions
60
78
  from twitter_openapi_python_generated.models.favorite_tweet import FavoriteTweet
61
79
  from twitter_openapi_python_generated.models.favorite_tweet_response_data import FavoriteTweetResponseData
80
+ from twitter_openapi_python_generated.models.feedback_info import FeedbackInfo
62
81
  from twitter_openapi_python_generated.models.follow_response import FollowResponse
63
82
  from twitter_openapi_python_generated.models.follow_response_data import FollowResponseData
64
83
  from twitter_openapi_python_generated.models.follow_response_result import FollowResponseResult
@@ -78,6 +97,7 @@ from twitter_openapi_python_generated.models.get_tweet_result_by_rest_id200_resp
78
97
  from twitter_openapi_python_generated.models.get_user_by_rest_id200_response import GetUserByRestId200Response
79
98
  from twitter_openapi_python_generated.models.get_user_highlights_tweets200_response import GetUserHighlightsTweets200Response
80
99
  from twitter_openapi_python_generated.models.get_users_by_rest_ids200_response import GetUsersByRestIds200Response
100
+ from twitter_openapi_python_generated.models.highlight import Highlight
81
101
  from twitter_openapi_python_generated.models.home_timeline_home import HomeTimelineHome
82
102
  from twitter_openapi_python_generated.models.home_timeline_response_data import HomeTimelineResponseData
83
103
  from twitter_openapi_python_generated.models.instruction_type import InstructionType
@@ -129,8 +149,12 @@ from twitter_openapi_python_generated.models.post_favorite_tweet200_response imp
129
149
  from twitter_openapi_python_generated.models.post_favorite_tweet_request import PostFavoriteTweetRequest
130
150
  from twitter_openapi_python_generated.models.post_unfavorite_tweet200_response import PostUnfavoriteTweet200Response
131
151
  from twitter_openapi_python_generated.models.post_unfavorite_tweet_request import PostUnfavoriteTweetRequest
152
+ from twitter_openapi_python_generated.models.primary_community_topic import PrimaryCommunityTopic
132
153
  from twitter_openapi_python_generated.models.profile_response import ProfileResponse
133
154
  from twitter_openapi_python_generated.models.profile_response_data import ProfileResponseData
155
+ from twitter_openapi_python_generated.models.quoted_ref_result import QuotedRefResult
156
+ from twitter_openapi_python_generated.models.quoted_ref_result_data import QuotedRefResultData
157
+ from twitter_openapi_python_generated.models.quoted_status_permalink import QuotedStatusPermalink
134
158
  from twitter_openapi_python_generated.models.retweet import Retweet
135
159
  from twitter_openapi_python_generated.models.retweet_legacy import RetweetLegacy
136
160
  from twitter_openapi_python_generated.models.search_by_raw_query import SearchByRawQuery
@@ -139,10 +163,16 @@ from twitter_openapi_python_generated.models.search_timeline_data import SearchT
139
163
  from twitter_openapi_python_generated.models.search_timeline_response import SearchTimelineResponse
140
164
  from twitter_openapi_python_generated.models.self_thread import SelfThread
141
165
  from twitter_openapi_python_generated.models.session import Session
142
- from twitter_openapi_python_generated.models.social_context import SocialContext
166
+ from twitter_openapi_python_generated.models.social_context_landing_url import SocialContextLandingUrl
167
+ from twitter_openapi_python_generated.models.social_context_union import SocialContextUnion
168
+ from twitter_openapi_python_generated.models.social_context_union_type import SocialContextUnionType
169
+ from twitter_openapi_python_generated.models.super_follows_reply_user_result import SuperFollowsReplyUserResult
170
+ from twitter_openapi_python_generated.models.super_follows_reply_user_result_data import SuperFollowsReplyUserResultData
171
+ from twitter_openapi_python_generated.models.super_follows_reply_user_result_legacy import SuperFollowsReplyUserResultLegacy
143
172
  from twitter_openapi_python_generated.models.text import Text
144
173
  from twitter_openapi_python_generated.models.text_entity import TextEntity
145
174
  from twitter_openapi_python_generated.models.text_entity_ref import TextEntityRef
175
+ from twitter_openapi_python_generated.models.text_highlight import TextHighlight
146
176
  from twitter_openapi_python_generated.models.timeline import Timeline
147
177
  from twitter_openapi_python_generated.models.timeline_add_entries import TimelineAddEntries
148
178
  from twitter_openapi_python_generated.models.timeline_add_entry import TimelineAddEntry
@@ -150,6 +180,7 @@ from twitter_openapi_python_generated.models.timeline_add_to_module import Timel
150
180
  from twitter_openapi_python_generated.models.timeline_clear_cache import TimelineClearCache
151
181
  from twitter_openapi_python_generated.models.timeline_community import TimelineCommunity
152
182
  from twitter_openapi_python_generated.models.timeline_cover_behavior import TimelineCoverBehavior
183
+ from twitter_openapi_python_generated.models.timeline_general_context import TimelineGeneralContext
153
184
  from twitter_openapi_python_generated.models.timeline_half_cover import TimelineHalfCover
154
185
  from twitter_openapi_python_generated.models.timeline_message_prompt import TimelineMessagePrompt
155
186
  from twitter_openapi_python_generated.models.timeline_pin_entry import TimelinePinEntry
@@ -163,15 +194,22 @@ from twitter_openapi_python_generated.models.timeline_terminate_timeline import
163
194
  from twitter_openapi_python_generated.models.timeline_timeline_cursor import TimelineTimelineCursor
164
195
  from twitter_openapi_python_generated.models.timeline_timeline_item import TimelineTimelineItem
165
196
  from twitter_openapi_python_generated.models.timeline_timeline_module import TimelineTimelineModule
197
+ from twitter_openapi_python_generated.models.timeline_topic_context import TimelineTopicContext
166
198
  from twitter_openapi_python_generated.models.timeline_tweet import TimelineTweet
167
199
  from twitter_openapi_python_generated.models.timeline_user import TimelineUser
168
200
  from twitter_openapi_python_generated.models.timeline_v2 import TimelineV2
201
+ from twitter_openapi_python_generated.models.topic_context import TopicContext
169
202
  from twitter_openapi_python_generated.models.tracing import Tracing
170
203
  from twitter_openapi_python_generated.models.tweet import Tweet
171
204
  from twitter_openapi_python_generated.models.tweet_card import TweetCard
172
205
  from twitter_openapi_python_generated.models.tweet_card_legacy import TweetCardLegacy
173
206
  from twitter_openapi_python_generated.models.tweet_card_legacy_binding_value import TweetCardLegacyBindingValue
174
207
  from twitter_openapi_python_generated.models.tweet_card_legacy_binding_value_data import TweetCardLegacyBindingValueData
208
+ from twitter_openapi_python_generated.models.tweet_card_legacy_binding_value_data_image import TweetCardLegacyBindingValueDataImage
209
+ from twitter_openapi_python_generated.models.tweet_card_platform import TweetCardPlatform
210
+ from twitter_openapi_python_generated.models.tweet_card_platform_audience import TweetCardPlatformAudience
211
+ from twitter_openapi_python_generated.models.tweet_card_platform_data import TweetCardPlatformData
212
+ from twitter_openapi_python_generated.models.tweet_card_platform_device import TweetCardPlatformDevice
175
213
  from twitter_openapi_python_generated.models.tweet_detail_response import TweetDetailResponse
176
214
  from twitter_openapi_python_generated.models.tweet_detail_response_data import TweetDetailResponseData
177
215
  from twitter_openapi_python_generated.models.tweet_edit_control import TweetEditControl
@@ -179,7 +217,14 @@ from twitter_openapi_python_generated.models.tweet_edit_control_initial import T
179
217
  from twitter_openapi_python_generated.models.tweet_edit_prespective import TweetEditPrespective
180
218
  from twitter_openapi_python_generated.models.tweet_favoriters_response import TweetFavoritersResponse
181
219
  from twitter_openapi_python_generated.models.tweet_favoriters_response_data import TweetFavoritersResponseData
220
+ from twitter_openapi_python_generated.models.tweet_interstitial import TweetInterstitial
221
+ from twitter_openapi_python_generated.models.tweet_interstitial_reveal_text import TweetInterstitialRevealText
222
+ from twitter_openapi_python_generated.models.tweet_interstitial_text import TweetInterstitialText
223
+ from twitter_openapi_python_generated.models.tweet_interstitial_text_entity import TweetInterstitialTextEntity
224
+ from twitter_openapi_python_generated.models.tweet_interstitial_text_entity_ref import TweetInterstitialTextEntityRef
182
225
  from twitter_openapi_python_generated.models.tweet_legacy import TweetLegacy
226
+ from twitter_openapi_python_generated.models.tweet_legacy_scopes import TweetLegacyScopes
227
+ from twitter_openapi_python_generated.models.tweet_previous_counts import TweetPreviousCounts
183
228
  from twitter_openapi_python_generated.models.tweet_result_by_rest_id_data import TweetResultByRestIdData
184
229
  from twitter_openapi_python_generated.models.tweet_result_by_rest_id_response import TweetResultByRestIdResponse
185
230
  from twitter_openapi_python_generated.models.tweet_retweeters_response import TweetRetweetersResponse
@@ -191,15 +236,21 @@ from twitter_openapi_python_generated.models.tweet_with_visibility_results impor
191
236
  from twitter_openapi_python_generated.models.type_name import TypeName
192
237
  from twitter_openapi_python_generated.models.unfavorite_tweet import UnfavoriteTweet
193
238
  from twitter_openapi_python_generated.models.unfavorite_tweet_response_data import UnfavoriteTweetResponseData
239
+ from twitter_openapi_python_generated.models.unified_card import UnifiedCard
194
240
  from twitter_openapi_python_generated.models.url import Url
241
+ from twitter_openapi_python_generated.models.urt_endpoint_options import UrtEndpointOptions
242
+ from twitter_openapi_python_generated.models.urt_endpoint_request_params import UrtEndpointRequestParams
195
243
  from twitter_openapi_python_generated.models.user import User
196
244
  from twitter_openapi_python_generated.models.user_features import UserFeatures
245
+ from twitter_openapi_python_generated.models.user_highlights_info import UserHighlightsInfo
197
246
  from twitter_openapi_python_generated.models.user_highlights_tweets_data import UserHighlightsTweetsData
198
247
  from twitter_openapi_python_generated.models.user_highlights_tweets_response import UserHighlightsTweetsResponse
199
248
  from twitter_openapi_python_generated.models.user_highlights_tweets_result import UserHighlightsTweetsResult
200
249
  from twitter_openapi_python_generated.models.user_highlights_tweets_timeline import UserHighlightsTweetsTimeline
201
250
  from twitter_openapi_python_generated.models.user_highlights_tweets_user import UserHighlightsTweetsUser
202
251
  from twitter_openapi_python_generated.models.user_legacy import UserLegacy
252
+ from twitter_openapi_python_generated.models.user_professional import UserProfessional
253
+ from twitter_openapi_python_generated.models.user_professional_category import UserProfessionalCategory
203
254
  from twitter_openapi_python_generated.models.user_response import UserResponse
204
255
  from twitter_openapi_python_generated.models.user_response_data import UserResponseData
205
256
  from twitter_openapi_python_generated.models.user_result_by_screen_name import UserResultByScreenName
@@ -213,5 +264,11 @@ from twitter_openapi_python_generated.models.user_tweets_result import UserTweet
213
264
  from twitter_openapi_python_generated.models.user_tweets_user import UserTweetsUser
214
265
  from twitter_openapi_python_generated.models.user_unavailable import UserUnavailable
215
266
  from twitter_openapi_python_generated.models.user_union import UserUnion
267
+ from twitter_openapi_python_generated.models.user_value import UserValue
268
+ from twitter_openapi_python_generated.models.user_verification_info import UserVerificationInfo
269
+ from twitter_openapi_python_generated.models.user_verification_info_reason import UserVerificationInfoReason
270
+ from twitter_openapi_python_generated.models.user_verification_info_reason_description import UserVerificationInfoReasonDescription
271
+ from twitter_openapi_python_generated.models.user_verification_info_reason_description_entities import UserVerificationInfoReasonDescriptionEntities
272
+ from twitter_openapi_python_generated.models.user_verification_info_reason_description_entities_ref import UserVerificationInfoReasonDescriptionEntitiesRef
216
273
  from twitter_openapi_python_generated.models.users_response import UsersResponse
217
274
  from twitter_openapi_python_generated.models.users_response_data import UsersResponseData
@@ -18,20 +18,24 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
-
22
- from typing import Any, ClassVar, Dict, List
23
- from pydantic import BaseModel, StrictBool
24
- try:
25
- from typing import Self
26
- except ImportError:
27
- from typing_extensions import Self
21
+ from pydantic import BaseModel, StrictBool, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from twitter_openapi_python_generated.models.additional_media_info_call_to_actions import AdditionalMediaInfoCallToActions
24
+ from twitter_openapi_python_generated.models.user_result_core import UserResultCore
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
28
27
 
29
28
  class AdditionalMediaInfo(BaseModel):
30
29
  """
31
30
  AdditionalMediaInfo
32
31
  """ # noqa: E501
32
+ call_to_actions: Optional[AdditionalMediaInfoCallToActions] = None
33
+ description: Optional[StrictStr] = None
34
+ embeddable: Optional[StrictBool] = None
33
35
  monetizable: StrictBool
34
- __properties: ClassVar[List[str]] = ["monetizable"]
36
+ source_user: Optional[UserResultCore] = None
37
+ title: Optional[StrictStr] = None
38
+ __properties: ClassVar[List[str]] = ["call_to_actions", "description", "embeddable", "monetizable", "source_user", "title"]
35
39
 
36
40
  model_config = {
37
41
  "populate_by_name": True,
@@ -50,7 +54,7 @@ class AdditionalMediaInfo(BaseModel):
50
54
  return json.dumps(self.to_dict())
51
55
 
52
56
  @classmethod
53
- def from_json(cls, json_str: str) -> Self:
57
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
58
  """Create an instance of AdditionalMediaInfo from a JSON string"""
55
59
  return cls.from_dict(json.loads(json_str))
56
60
 
@@ -64,16 +68,24 @@ class AdditionalMediaInfo(BaseModel):
64
68
  were set at model initialization. Other fields with value `None`
65
69
  are ignored.
66
70
  """
71
+ excluded_fields: Set[str] = set([
72
+ ])
73
+
67
74
  _dict = self.model_dump(
68
75
  by_alias=True,
69
- exclude={
70
- },
76
+ exclude=excluded_fields,
71
77
  exclude_none=True,
72
78
  )
79
+ # override the default output from pydantic by calling `to_dict()` of call_to_actions
80
+ if self.call_to_actions:
81
+ _dict['call_to_actions'] = self.call_to_actions.to_dict()
82
+ # override the default output from pydantic by calling `to_dict()` of source_user
83
+ if self.source_user:
84
+ _dict['source_user'] = self.source_user.to_dict()
73
85
  return _dict
74
86
 
75
87
  @classmethod
76
- def from_dict(cls, obj: Dict) -> Self:
88
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
89
  """Create an instance of AdditionalMediaInfo from a dict"""
78
90
  if obj is None:
79
91
  return None
@@ -82,7 +94,12 @@ class AdditionalMediaInfo(BaseModel):
82
94
  return cls.model_validate(obj)
83
95
 
84
96
  _obj = cls.model_validate({
85
- "monetizable": obj.get("monetizable")
97
+ "call_to_actions": AdditionalMediaInfoCallToActions.from_dict(obj["call_to_actions"]) if obj.get("call_to_actions") is not None else None,
98
+ "description": obj.get("description"),
99
+ "embeddable": obj.get("embeddable"),
100
+ "monetizable": obj.get("monetizable"),
101
+ "source_user": UserResultCore.from_dict(obj["source_user"]) if obj.get("source_user") is not None else None,
102
+ "title": obj.get("title")
86
103
  })
87
104
  return _obj
88
105
 
@@ -0,0 +1,92 @@
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
22
+ from typing import Any, ClassVar, Dict, List
23
+ from twitter_openapi_python_generated.models.additional_media_info_call_to_actions_visit_site import AdditionalMediaInfoCallToActionsVisitSite
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class AdditionalMediaInfoCallToActions(BaseModel):
28
+ """
29
+ AdditionalMediaInfoCallToActions
30
+ """ # noqa: E501
31
+ visit_site: AdditionalMediaInfoCallToActionsVisitSite
32
+ __properties: ClassVar[List[str]] = ["visit_site"]
33
+
34
+ model_config = {
35
+ "populate_by_name": True,
36
+ "validate_assignment": True,
37
+ "protected_namespaces": (),
38
+ }
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """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
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of AdditionalMediaInfoCallToActions from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ # override the default output from pydantic by calling `to_dict()` of visit_site
74
+ if self.visit_site:
75
+ _dict['visit_site'] = self.visit_site.to_dict()
76
+ return _dict
77
+
78
+ @classmethod
79
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
80
+ """Create an instance of AdditionalMediaInfoCallToActions from a dict"""
81
+ if obj is None:
82
+ return None
83
+
84
+ if not isinstance(obj, dict):
85
+ return cls.model_validate(obj)
86
+
87
+ _obj = cls.model_validate({
88
+ "visit_site": AdditionalMediaInfoCallToActionsVisitSite.from_dict(obj["visit_site"]) if obj.get("visit_site") is not None else None
89
+ })
90
+ return _obj
91
+
92
+