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
@@ -0,0 +1,99 @@
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, Field, field_validator
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing_extensions import Annotated
24
+ from twitter_openapi_python_generated.models.type_name import TypeName
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
27
+
28
+ class QuotedRefResultData(BaseModel):
29
+ """
30
+ QuotedRefResultData
31
+ """ # noqa: E501
32
+ typename: TypeName = Field(alias="__typename")
33
+ rest_id: Annotated[str, Field(strict=True)]
34
+ __properties: ClassVar[List[str]] = ["__typename", "rest_id"]
35
+
36
+ @field_validator('rest_id')
37
+ def rest_id_validate_regular_expression(cls, value):
38
+ """Validates the regular expression"""
39
+ if not re.match(r"^[0-9]+$", value):
40
+ raise ValueError(r"must validate the regular expression /^[0-9]+$/")
41
+ return value
42
+
43
+ model_config = {
44
+ "populate_by_name": 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
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
57
+ return json.dumps(self.to_dict())
58
+
59
+ @classmethod
60
+ def from_json(cls, json_str: str) -> Optional[Self]:
61
+ """Create an instance of QuotedRefResultData from a JSON string"""
62
+ return cls.from_dict(json.loads(json_str))
63
+
64
+ def to_dict(self) -> Dict[str, Any]:
65
+ """Return the dictionary representation of the model using alias.
66
+
67
+ This has the following differences from calling pydantic's
68
+ `self.model_dump(by_alias=True)`:
69
+
70
+ * `None` is only added to the output dict for nullable fields that
71
+ were set at model initialization. Other fields with value `None`
72
+ are ignored.
73
+ """
74
+ excluded_fields: Set[str] = set([
75
+ ])
76
+
77
+ _dict = self.model_dump(
78
+ by_alias=True,
79
+ exclude=excluded_fields,
80
+ exclude_none=True,
81
+ )
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of QuotedRefResultData from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate({
94
+ "__typename": obj.get("__typename"),
95
+ "rest_id": obj.get("rest_id")
96
+ })
97
+ return _obj
98
+
99
+
@@ -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, StrictStr
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class QuotedStatusPermalink(BaseModel):
27
+ """
28
+ QuotedStatusPermalink
29
+ """ # noqa: E501
30
+ display: StrictStr
31
+ expanded: StrictStr
32
+ url: StrictStr
33
+ __properties: ClassVar[List[str]] = ["display", "expanded", "url"]
34
+
35
+ model_config = {
36
+ "populate_by_name": True,
37
+ "validate_assignment": True,
38
+ "protected_namespaces": (),
39
+ }
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of QuotedStatusPermalink 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 QuotedStatusPermalink 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
+ "display": obj.get("display"),
87
+ "expanded": obj.get("expanded"),
88
+ "url": obj.get("url")
89
+ })
90
+ return _obj
91
+
92
+
@@ -18,16 +18,12 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
-
21
+ from pydantic import BaseModel, Field, field_validator
22
22
  from typing import Any, ClassVar, Dict, List
23
- from pydantic import BaseModel, field_validator
24
- from pydantic import Field
25
23
  from typing_extensions import Annotated
26
24
  from twitter_openapi_python_generated.models.retweet_legacy import RetweetLegacy
27
- try:
28
- from typing import Self
29
- except ImportError:
30
- from typing_extensions import Self
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
31
27
 
32
28
  class Retweet(BaseModel):
33
29
  """
@@ -61,7 +57,7 @@ class Retweet(BaseModel):
61
57
  return json.dumps(self.to_dict())
62
58
 
63
59
  @classmethod
64
- def from_json(cls, json_str: str) -> Self:
60
+ def from_json(cls, json_str: str) -> Optional[Self]:
65
61
  """Create an instance of Retweet from a JSON string"""
66
62
  return cls.from_dict(json.loads(json_str))
67
63
 
@@ -75,10 +71,12 @@ class Retweet(BaseModel):
75
71
  were set at model initialization. Other fields with value `None`
76
72
  are ignored.
77
73
  """
74
+ excluded_fields: Set[str] = set([
75
+ ])
76
+
78
77
  _dict = self.model_dump(
79
78
  by_alias=True,
80
- exclude={
81
- },
79
+ exclude=excluded_fields,
82
80
  exclude_none=True,
83
81
  )
84
82
  # override the default output from pydantic by calling `to_dict()` of legacy
@@ -87,7 +85,7 @@ class Retweet(BaseModel):
87
85
  return _dict
88
86
 
89
87
  @classmethod
90
- def from_dict(cls, obj: Dict) -> Self:
88
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
91
89
  """Create an instance of Retweet from a dict"""
92
90
  if obj is None:
93
91
  return None
@@ -96,7 +94,7 @@ class Retweet(BaseModel):
96
94
  return cls.model_validate(obj)
97
95
 
98
96
  _obj = cls.model_validate({
99
- "legacy": RetweetLegacy.from_dict(obj.get("legacy")) if obj.get("legacy") is not None else None,
97
+ "legacy": RetweetLegacy.from_dict(obj["legacy"]) if obj.get("legacy") is not None else None,
100
98
  "rest_id": obj.get("rest_id")
101
99
  })
102
100
  return _obj
@@ -18,13 +18,10 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
-
22
- from typing import Any, ClassVar, Dict, List
23
21
  from pydantic import BaseModel, StrictStr
24
- try:
25
- from typing import Self
26
- except ImportError:
27
- from typing_extensions import Self
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
28
25
 
29
26
  class RetweetLegacy(BaseModel):
30
27
  """
@@ -50,7 +47,7 @@ class RetweetLegacy(BaseModel):
50
47
  return json.dumps(self.to_dict())
51
48
 
52
49
  @classmethod
53
- def from_json(cls, json_str: str) -> Self:
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
51
  """Create an instance of RetweetLegacy from a JSON string"""
55
52
  return cls.from_dict(json.loads(json_str))
56
53
 
@@ -64,16 +61,18 @@ class RetweetLegacy(BaseModel):
64
61
  were set at model initialization. Other fields with value `None`
65
62
  are ignored.
66
63
  """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
67
  _dict = self.model_dump(
68
68
  by_alias=True,
69
- exclude={
70
- },
69
+ exclude=excluded_fields,
71
70
  exclude_none=True,
72
71
  )
73
72
  return _dict
74
73
 
75
74
  @classmethod
76
- def from_dict(cls, obj: Dict) -> Self:
75
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
76
  """Create an instance of RetweetLegacy from a dict"""
78
77
  if obj is None:
79
78
  return None
@@ -18,14 +18,11 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
-
22
- from typing import Any, ClassVar, Dict, List
23
21
  from pydantic import BaseModel
22
+ from typing import Any, ClassVar, Dict, List
24
23
  from twitter_openapi_python_generated.models.search_timeline import SearchTimeline
25
- try:
26
- from typing import Self
27
- except ImportError:
28
- from typing_extensions import Self
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
29
26
 
30
27
  class SearchByRawQuery(BaseModel):
31
28
  """
@@ -51,7 +48,7 @@ class SearchByRawQuery(BaseModel):
51
48
  return json.dumps(self.to_dict())
52
49
 
53
50
  @classmethod
54
- def from_json(cls, json_str: str) -> Self:
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
52
  """Create an instance of SearchByRawQuery from a JSON string"""
56
53
  return cls.from_dict(json.loads(json_str))
57
54
 
@@ -65,10 +62,12 @@ class SearchByRawQuery(BaseModel):
65
62
  were set at model initialization. Other fields with value `None`
66
63
  are ignored.
67
64
  """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
68
  _dict = self.model_dump(
69
69
  by_alias=True,
70
- exclude={
71
- },
70
+ exclude=excluded_fields,
72
71
  exclude_none=True,
73
72
  )
74
73
  # override the default output from pydantic by calling `to_dict()` of search_timeline
@@ -77,7 +76,7 @@ class SearchByRawQuery(BaseModel):
77
76
  return _dict
78
77
 
79
78
  @classmethod
80
- def from_dict(cls, obj: Dict) -> Self:
79
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
80
  """Create an instance of SearchByRawQuery from a dict"""
82
81
  if obj is None:
83
82
  return None
@@ -86,7 +85,7 @@ class SearchByRawQuery(BaseModel):
86
85
  return cls.model_validate(obj)
87
86
 
88
87
  _obj = cls.model_validate({
89
- "search_timeline": SearchTimeline.from_dict(obj.get("search_timeline")) if obj.get("search_timeline") is not None else None
88
+ "search_timeline": SearchTimeline.from_dict(obj["search_timeline"]) if obj.get("search_timeline") is not None else None
90
89
  })
91
90
  return _obj
92
91
 
@@ -18,14 +18,11 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
-
22
- from typing import Any, ClassVar, Dict, List
23
21
  from pydantic import BaseModel
22
+ from typing import Any, ClassVar, Dict, List
24
23
  from twitter_openapi_python_generated.models.timeline import Timeline
25
- try:
26
- from typing import Self
27
- except ImportError:
28
- from typing_extensions import Self
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
29
26
 
30
27
  class SearchTimeline(BaseModel):
31
28
  """
@@ -51,7 +48,7 @@ class SearchTimeline(BaseModel):
51
48
  return json.dumps(self.to_dict())
52
49
 
53
50
  @classmethod
54
- def from_json(cls, json_str: str) -> Self:
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
52
  """Create an instance of SearchTimeline from a JSON string"""
56
53
  return cls.from_dict(json.loads(json_str))
57
54
 
@@ -65,10 +62,12 @@ class SearchTimeline(BaseModel):
65
62
  were set at model initialization. Other fields with value `None`
66
63
  are ignored.
67
64
  """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
68
  _dict = self.model_dump(
69
69
  by_alias=True,
70
- exclude={
71
- },
70
+ exclude=excluded_fields,
72
71
  exclude_none=True,
73
72
  )
74
73
  # override the default output from pydantic by calling `to_dict()` of timeline
@@ -77,7 +76,7 @@ class SearchTimeline(BaseModel):
77
76
  return _dict
78
77
 
79
78
  @classmethod
80
- def from_dict(cls, obj: Dict) -> Self:
79
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
80
  """Create an instance of SearchTimeline from a dict"""
82
81
  if obj is None:
83
82
  return None
@@ -86,7 +85,7 @@ class SearchTimeline(BaseModel):
86
85
  return cls.model_validate(obj)
87
86
 
88
87
  _obj = cls.model_validate({
89
- "timeline": Timeline.from_dict(obj.get("timeline")) if obj.get("timeline") is not None else None
88
+ "timeline": Timeline.from_dict(obj["timeline"]) if obj.get("timeline") is not None else None
90
89
  })
91
90
  return _obj
92
91
 
@@ -18,14 +18,11 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
-
22
- from typing import Any, ClassVar, Dict, List
23
21
  from pydantic import BaseModel
22
+ from typing import Any, ClassVar, Dict, List
24
23
  from twitter_openapi_python_generated.models.search_by_raw_query import SearchByRawQuery
25
- try:
26
- from typing import Self
27
- except ImportError:
28
- from typing_extensions import Self
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
29
26
 
30
27
  class SearchTimelineData(BaseModel):
31
28
  """
@@ -51,7 +48,7 @@ class SearchTimelineData(BaseModel):
51
48
  return json.dumps(self.to_dict())
52
49
 
53
50
  @classmethod
54
- def from_json(cls, json_str: str) -> Self:
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
52
  """Create an instance of SearchTimelineData from a JSON string"""
56
53
  return cls.from_dict(json.loads(json_str))
57
54
 
@@ -65,10 +62,12 @@ class SearchTimelineData(BaseModel):
65
62
  were set at model initialization. Other fields with value `None`
66
63
  are ignored.
67
64
  """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
68
  _dict = self.model_dump(
69
69
  by_alias=True,
70
- exclude={
71
- },
70
+ exclude=excluded_fields,
72
71
  exclude_none=True,
73
72
  )
74
73
  # override the default output from pydantic by calling `to_dict()` of search_by_raw_query
@@ -77,7 +76,7 @@ class SearchTimelineData(BaseModel):
77
76
  return _dict
78
77
 
79
78
  @classmethod
80
- def from_dict(cls, obj: Dict) -> Self:
79
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
80
  """Create an instance of SearchTimelineData from a dict"""
82
81
  if obj is None:
83
82
  return None
@@ -86,7 +85,7 @@ class SearchTimelineData(BaseModel):
86
85
  return cls.model_validate(obj)
87
86
 
88
87
  _obj = cls.model_validate({
89
- "search_by_raw_query": SearchByRawQuery.from_dict(obj.get("search_by_raw_query")) if obj.get("search_by_raw_query") is not None else None
88
+ "search_by_raw_query": SearchByRawQuery.from_dict(obj["search_by_raw_query"]) if obj.get("search_by_raw_query") is not None else None
90
89
  })
91
90
  return _obj
92
91
 
@@ -18,14 +18,11 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
-
22
- from typing import Any, ClassVar, Dict, List
23
21
  from pydantic import BaseModel
22
+ from typing import Any, ClassVar, Dict, List
24
23
  from twitter_openapi_python_generated.models.search_timeline_data import SearchTimelineData
25
- try:
26
- from typing import Self
27
- except ImportError:
28
- from typing_extensions import Self
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
29
26
 
30
27
  class SearchTimelineResponse(BaseModel):
31
28
  """
@@ -51,7 +48,7 @@ class SearchTimelineResponse(BaseModel):
51
48
  return json.dumps(self.to_dict())
52
49
 
53
50
  @classmethod
54
- def from_json(cls, json_str: str) -> Self:
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
52
  """Create an instance of SearchTimelineResponse from a JSON string"""
56
53
  return cls.from_dict(json.loads(json_str))
57
54
 
@@ -65,10 +62,12 @@ class SearchTimelineResponse(BaseModel):
65
62
  were set at model initialization. Other fields with value `None`
66
63
  are ignored.
67
64
  """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
68
  _dict = self.model_dump(
69
69
  by_alias=True,
70
- exclude={
71
- },
70
+ exclude=excluded_fields,
72
71
  exclude_none=True,
73
72
  )
74
73
  # override the default output from pydantic by calling `to_dict()` of data
@@ -77,7 +76,7 @@ class SearchTimelineResponse(BaseModel):
77
76
  return _dict
78
77
 
79
78
  @classmethod
80
- def from_dict(cls, obj: Dict) -> Self:
79
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
80
  """Create an instance of SearchTimelineResponse from a dict"""
82
81
  if obj is None:
83
82
  return None
@@ -86,7 +85,7 @@ class SearchTimelineResponse(BaseModel):
86
85
  return cls.model_validate(obj)
87
86
 
88
87
  _obj = cls.model_validate({
89
- "data": SearchTimelineData.from_dict(obj.get("data")) if obj.get("data") is not None else None
88
+ "data": SearchTimelineData.from_dict(obj["data"]) if obj.get("data") is not None else None
90
89
  })
91
90
  return _obj
92
91
 
@@ -18,15 +18,11 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
-
21
+ from pydantic import BaseModel, Field, field_validator
22
22
  from typing import Any, ClassVar, Dict, List
23
- from pydantic import BaseModel, field_validator
24
- from pydantic import Field
25
23
  from typing_extensions import Annotated
26
- try:
27
- from typing import Self
28
- except ImportError:
29
- from typing_extensions import Self
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
30
26
 
31
27
  class SelfThread(BaseModel):
32
28
  """
@@ -59,7 +55,7 @@ class SelfThread(BaseModel):
59
55
  return json.dumps(self.to_dict())
60
56
 
61
57
  @classmethod
62
- def from_json(cls, json_str: str) -> Self:
58
+ def from_json(cls, json_str: str) -> Optional[Self]:
63
59
  """Create an instance of SelfThread from a JSON string"""
64
60
  return cls.from_dict(json.loads(json_str))
65
61
 
@@ -73,16 +69,18 @@ class SelfThread(BaseModel):
73
69
  were set at model initialization. Other fields with value `None`
74
70
  are ignored.
75
71
  """
72
+ excluded_fields: Set[str] = set([
73
+ ])
74
+
76
75
  _dict = self.model_dump(
77
76
  by_alias=True,
78
- exclude={
79
- },
77
+ exclude=excluded_fields,
80
78
  exclude_none=True,
81
79
  )
82
80
  return _dict
83
81
 
84
82
  @classmethod
85
- def from_dict(cls, obj: Dict) -> Self:
83
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
84
  """Create an instance of SelfThread from a dict"""
87
85
  if obj is None:
88
86
  return None
@@ -18,18 +18,14 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
-
21
+ from pydantic import BaseModel, Field, StrictBool, StrictInt, StrictStr, field_validator
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
- from pydantic import BaseModel, StrictBool, StrictInt, StrictStr, field_validator
24
- from pydantic import Field
25
23
  from typing_extensions import Annotated
26
24
  from twitter_openapi_python_generated.models.communities_actions import CommunitiesActions
27
25
  from twitter_openapi_python_generated.models.one_factor_login_eligibility import OneFactorLoginEligibility
28
26
  from twitter_openapi_python_generated.models.user_features import UserFeatures
29
- try:
30
- from typing import Self
31
- except ImportError:
32
- from typing_extensions import Self
27
+ from typing import Optional, Set
28
+ from typing_extensions import Self
33
29
 
34
30
  class Session(BaseModel):
35
31
  """
@@ -75,7 +71,7 @@ class Session(BaseModel):
75
71
  @field_validator('super_follows_application_status')
76
72
  def super_follows_application_status_validate_enum(cls, value):
77
73
  """Validates the enum"""
78
- if value not in ('NotStarted'):
74
+ if value not in set(['NotStarted']):
79
75
  raise ValueError("must be one of enum values ('NotStarted')")
80
76
  return value
81
77
 
@@ -103,7 +99,7 @@ class Session(BaseModel):
103
99
  return json.dumps(self.to_dict())
104
100
 
105
101
  @classmethod
106
- def from_json(cls, json_str: str) -> Self:
102
+ def from_json(cls, json_str: str) -> Optional[Self]:
107
103
  """Create an instance of Session from a JSON string"""
108
104
  return cls.from_dict(json.loads(json_str))
109
105
 
@@ -117,10 +113,12 @@ class Session(BaseModel):
117
113
  were set at model initialization. Other fields with value `None`
118
114
  are ignored.
119
115
  """
116
+ excluded_fields: Set[str] = set([
117
+ ])
118
+
120
119
  _dict = self.model_dump(
121
120
  by_alias=True,
122
- exclude={
123
- },
121
+ exclude=excluded_fields,
124
122
  exclude_none=True,
125
123
  )
126
124
  # override the default output from pydantic by calling `to_dict()` of communities_actions
@@ -135,7 +133,7 @@ class Session(BaseModel):
135
133
  return _dict
136
134
 
137
135
  @classmethod
138
- def from_dict(cls, obj: Dict) -> Self:
136
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
139
137
  """Create an instance of Session from a dict"""
140
138
  if obj is None:
141
139
  return None
@@ -145,7 +143,7 @@ class Session(BaseModel):
145
143
 
146
144
  _obj = cls.model_validate({
147
145
  "SsoInitTokens": obj.get("SsoInitTokens"),
148
- "communitiesActions": CommunitiesActions.from_dict(obj.get("communitiesActions")) if obj.get("communitiesActions") is not None else None,
146
+ "communitiesActions": CommunitiesActions.from_dict(obj["communitiesActions"]) if obj.get("communitiesActions") is not None else None,
149
147
  "country": obj.get("country"),
150
148
  "guestId": obj.get("guestId"),
151
149
  "hasCommunityMemberships": obj.get("hasCommunityMemberships"),
@@ -153,10 +151,10 @@ class Session(BaseModel):
153
151
  "isRestrictedSession": obj.get("isRestrictedSession"),
154
152
  "isSuperFollowSubscriber": obj.get("isSuperFollowSubscriber"),
155
153
  "language": obj.get("language"),
156
- "oneFactorLoginEligibility": OneFactorLoginEligibility.from_dict(obj.get("oneFactorLoginEligibility")) if obj.get("oneFactorLoginEligibility") is not None else None,
154
+ "oneFactorLoginEligibility": OneFactorLoginEligibility.from_dict(obj["oneFactorLoginEligibility"]) if obj.get("oneFactorLoginEligibility") is not None else None,
157
155
  "superFollowersCount": obj.get("superFollowersCount"),
158
156
  "superFollowsApplicationStatus": obj.get("superFollowsApplicationStatus"),
159
- "userFeatures": UserFeatures.from_dict(obj.get("userFeatures")) if obj.get("userFeatures") is not None else None,
157
+ "userFeatures": UserFeatures.from_dict(obj["userFeatures"]) if obj.get("userFeatures") is not None else None,
160
158
  "user_id": obj.get("user_id")
161
159
  })
162
160
  return _obj