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
@@ -18,17 +18,13 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
-
21
+ from pydantic import BaseModel, Field, StrictBool, StrictStr, field_validator
22
22
  from typing import Any, ClassVar, Dict, List
23
- from pydantic import BaseModel, StrictBool, StrictStr, field_validator
24
- from pydantic import Field
25
23
  from twitter_openapi_python_generated.models.callback import Callback
26
24
  from twitter_openapi_python_generated.models.cover_cta import CoverCta
27
25
  from twitter_openapi_python_generated.models.text import Text
28
- try:
29
- from typing import Self
30
- except ImportError:
31
- from typing_extensions import Self
26
+ from typing import Optional, Set
27
+ from typing_extensions import Self
32
28
 
33
29
  class TimelineHalfCover(BaseModel):
34
30
  """
@@ -46,14 +42,14 @@ class TimelineHalfCover(BaseModel):
46
42
  @field_validator('half_cover_display_type')
47
43
  def half_cover_display_type_validate_enum(cls, value):
48
44
  """Validates the enum"""
49
- if value not in ('Cover'):
45
+ if value not in set(['Cover']):
50
46
  raise ValueError("must be one of enum values ('Cover')")
51
47
  return value
52
48
 
53
49
  @field_validator('type')
54
50
  def type_validate_enum(cls, value):
55
51
  """Validates the enum"""
56
- if value not in ('TimelineHalfCover'):
52
+ if value not in set(['TimelineHalfCover']):
57
53
  raise ValueError("must be one of enum values ('TimelineHalfCover')")
58
54
  return value
59
55
 
@@ -74,7 +70,7 @@ class TimelineHalfCover(BaseModel):
74
70
  return json.dumps(self.to_dict())
75
71
 
76
72
  @classmethod
77
- def from_json(cls, json_str: str) -> Self:
73
+ def from_json(cls, json_str: str) -> Optional[Self]:
78
74
  """Create an instance of TimelineHalfCover from a JSON string"""
79
75
  return cls.from_dict(json.loads(json_str))
80
76
 
@@ -88,10 +84,12 @@ class TimelineHalfCover(BaseModel):
88
84
  were set at model initialization. Other fields with value `None`
89
85
  are ignored.
90
86
  """
87
+ excluded_fields: Set[str] = set([
88
+ ])
89
+
91
90
  _dict = self.model_dump(
92
91
  by_alias=True,
93
- exclude={
94
- },
92
+ exclude=excluded_fields,
95
93
  exclude_none=True,
96
94
  )
97
95
  # override the default output from pydantic by calling `to_dict()` of each item in impression_callbacks (list)
@@ -113,7 +111,7 @@ class TimelineHalfCover(BaseModel):
113
111
  return _dict
114
112
 
115
113
  @classmethod
116
- def from_dict(cls, obj: Dict) -> Self:
114
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
117
115
  """Create an instance of TimelineHalfCover from a dict"""
118
116
  if obj is None:
119
117
  return None
@@ -124,10 +122,10 @@ class TimelineHalfCover(BaseModel):
124
122
  _obj = cls.model_validate({
125
123
  "dismissible": obj.get("dismissible"),
126
124
  "halfCoverDisplayType": obj.get("halfCoverDisplayType"),
127
- "impressionCallbacks": [Callback.from_dict(_item) for _item in obj.get("impressionCallbacks")] if obj.get("impressionCallbacks") is not None else None,
128
- "primaryCoverCta": CoverCta.from_dict(obj.get("primaryCoverCta")) if obj.get("primaryCoverCta") is not None else None,
129
- "primaryText": Text.from_dict(obj.get("primaryText")) if obj.get("primaryText") is not None else None,
130
- "secondaryText": Text.from_dict(obj.get("secondaryText")) if obj.get("secondaryText") is not None else None,
125
+ "impressionCallbacks": [Callback.from_dict(_item) for _item in obj["impressionCallbacks"]] if obj.get("impressionCallbacks") is not None else None,
126
+ "primaryCoverCta": CoverCta.from_dict(obj["primaryCoverCta"]) if obj.get("primaryCoverCta") is not None else None,
127
+ "primaryText": Text.from_dict(obj["primaryText"]) if obj.get("primaryText") is not None else None,
128
+ "secondaryText": Text.from_dict(obj["secondaryText"]) if obj.get("secondaryText") is not None else None,
131
129
  "type": obj.get("type")
132
130
  })
133
131
  return _obj
@@ -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
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
- from pydantic import BaseModel
24
- from pydantic import Field
25
23
  from twitter_openapi_python_generated.models.type_name import TypeName
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 TimelineMessagePrompt(BaseModel):
32
28
  """
@@ -53,7 +49,7 @@ class TimelineMessagePrompt(BaseModel):
53
49
  return json.dumps(self.to_dict())
54
50
 
55
51
  @classmethod
56
- def from_json(cls, json_str: str) -> Self:
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
57
53
  """Create an instance of TimelineMessagePrompt from a JSON string"""
58
54
  return cls.from_dict(json.loads(json_str))
59
55
 
@@ -68,11 +64,13 @@ class TimelineMessagePrompt(BaseModel):
68
64
  are ignored.
69
65
  * Fields in `self.additional_properties` are added to the output dict.
70
66
  """
67
+ excluded_fields: Set[str] = set([
68
+ "additional_properties",
69
+ ])
70
+
71
71
  _dict = self.model_dump(
72
72
  by_alias=True,
73
- exclude={
74
- "additional_properties",
75
- },
73
+ exclude=excluded_fields,
76
74
  exclude_none=True,
77
75
  )
78
76
  # puts key-value pairs in additional_properties in the top level
@@ -83,7 +81,7 @@ class TimelineMessagePrompt(BaseModel):
83
81
  return _dict
84
82
 
85
83
  @classmethod
86
- def from_dict(cls, obj: Dict) -> Self:
84
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87
85
  """Create an instance of TimelineMessagePrompt from a dict"""
88
86
  if obj is None:
89
87
  return None
@@ -18,15 +18,12 @@ 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.instruction_type import InstructionType
25
24
  from twitter_openapi_python_generated.models.timeline_add_entry import TimelineAddEntry
26
- try:
27
- from typing import Self
28
- except ImportError:
29
- from typing_extensions import Self
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
30
27
 
31
28
  class TimelinePinEntry(BaseModel):
32
29
  """
@@ -53,7 +50,7 @@ class TimelinePinEntry(BaseModel):
53
50
  return json.dumps(self.to_dict())
54
51
 
55
52
  @classmethod
56
- def from_json(cls, json_str: str) -> Self:
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
57
54
  """Create an instance of TimelinePinEntry from a JSON string"""
58
55
  return cls.from_dict(json.loads(json_str))
59
56
 
@@ -67,10 +64,12 @@ class TimelinePinEntry(BaseModel):
67
64
  were set at model initialization. Other fields with value `None`
68
65
  are ignored.
69
66
  """
67
+ excluded_fields: Set[str] = set([
68
+ ])
69
+
70
70
  _dict = self.model_dump(
71
71
  by_alias=True,
72
- exclude={
73
- },
72
+ exclude=excluded_fields,
74
73
  exclude_none=True,
75
74
  )
76
75
  # override the default output from pydantic by calling `to_dict()` of entry
@@ -79,7 +78,7 @@ class TimelinePinEntry(BaseModel):
79
78
  return _dict
80
79
 
81
80
  @classmethod
82
- def from_dict(cls, obj: Dict) -> Self:
81
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
83
82
  """Create an instance of TimelinePinEntry from a dict"""
84
83
  if obj is None:
85
84
  return None
@@ -88,7 +87,7 @@ class TimelinePinEntry(BaseModel):
88
87
  return cls.model_validate(obj)
89
88
 
90
89
  _obj = cls.model_validate({
91
- "entry": TimelineAddEntry.from_dict(obj.get("entry")) if obj.get("entry") is not None else None,
90
+ "entry": TimelineAddEntry.from_dict(obj["entry"]) if obj.get("entry") is not None else None,
92
91
  "type": obj.get("type")
93
92
  })
94
93
  return _obj
@@ -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
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
- from pydantic import BaseModel
24
- from pydantic import Field
25
23
  from twitter_openapi_python_generated.models.type_name import TypeName
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 TimelinePrompt(BaseModel):
32
28
  """
@@ -53,7 +49,7 @@ class TimelinePrompt(BaseModel):
53
49
  return json.dumps(self.to_dict())
54
50
 
55
51
  @classmethod
56
- def from_json(cls, json_str: str) -> Self:
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
57
53
  """Create an instance of TimelinePrompt from a JSON string"""
58
54
  return cls.from_dict(json.loads(json_str))
59
55
 
@@ -68,11 +64,13 @@ class TimelinePrompt(BaseModel):
68
64
  are ignored.
69
65
  * Fields in `self.additional_properties` are added to the output dict.
70
66
  """
67
+ excluded_fields: Set[str] = set([
68
+ "additional_properties",
69
+ ])
70
+
71
71
  _dict = self.model_dump(
72
72
  by_alias=True,
73
- exclude={
74
- "additional_properties",
75
- },
73
+ exclude=excluded_fields,
76
74
  exclude_none=True,
77
75
  )
78
76
  # puts key-value pairs in additional_properties in the top level
@@ -83,7 +81,7 @@ class TimelinePrompt(BaseModel):
83
81
  return _dict
84
82
 
85
83
  @classmethod
86
- def from_dict(cls, obj: Dict) -> Self:
84
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87
85
  """Create an instance of TimelinePrompt from a dict"""
88
86
  if obj is None:
89
87
  return None
@@ -18,15 +18,12 @@ 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
22
+ from typing import Any, ClassVar, Dict, List
24
23
  from twitter_openapi_python_generated.models.instruction_type import InstructionType
25
24
  from twitter_openapi_python_generated.models.timeline_add_entry import TimelineAddEntry
26
- try:
27
- from typing import Self
28
- except ImportError:
29
- from typing_extensions import Self
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
30
27
 
31
28
  class TimelineReplaceEntry(BaseModel):
32
29
  """
@@ -54,7 +51,7 @@ class TimelineReplaceEntry(BaseModel):
54
51
  return json.dumps(self.to_dict())
55
52
 
56
53
  @classmethod
57
- def from_json(cls, json_str: str) -> Self:
54
+ def from_json(cls, json_str: str) -> Optional[Self]:
58
55
  """Create an instance of TimelineReplaceEntry from a JSON string"""
59
56
  return cls.from_dict(json.loads(json_str))
60
57
 
@@ -68,10 +65,12 @@ class TimelineReplaceEntry(BaseModel):
68
65
  were set at model initialization. Other fields with value `None`
69
66
  are ignored.
70
67
  """
68
+ excluded_fields: Set[str] = set([
69
+ ])
70
+
71
71
  _dict = self.model_dump(
72
72
  by_alias=True,
73
- exclude={
74
- },
73
+ exclude=excluded_fields,
75
74
  exclude_none=True,
76
75
  )
77
76
  # override the default output from pydantic by calling `to_dict()` of entry
@@ -80,7 +79,7 @@ class TimelineReplaceEntry(BaseModel):
80
79
  return _dict
81
80
 
82
81
  @classmethod
83
- def from_dict(cls, obj: Dict) -> Self:
82
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84
83
  """Create an instance of TimelineReplaceEntry from a dict"""
85
84
  if obj is None:
86
85
  return None
@@ -89,7 +88,7 @@ class TimelineReplaceEntry(BaseModel):
89
88
  return cls.model_validate(obj)
90
89
 
91
90
  _obj = cls.model_validate({
92
- "entry": TimelineAddEntry.from_dict(obj.get("entry")) if obj.get("entry") is not None else None,
91
+ "entry": TimelineAddEntry.from_dict(obj["entry"]) if obj.get("entry") is not None else None,
93
92
  "entry_id_to_replace": obj.get("entry_id_to_replace"),
94
93
  "type": obj.get("type")
95
94
  })
@@ -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.home_timeline_response_data import HomeTimelineResponseData
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 TimelineResponse(BaseModel):
31
28
  """
@@ -51,7 +48,7 @@ class TimelineResponse(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 TimelineResponse from a JSON string"""
56
53
  return cls.from_dict(json.loads(json_str))
57
54
 
@@ -65,10 +62,12 @@ class TimelineResponse(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 TimelineResponse(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 TimelineResponse from a dict"""
82
81
  if obj is None:
83
82
  return None
@@ -86,7 +85,7 @@ class TimelineResponse(BaseModel):
86
85
  return cls.model_validate(obj)
87
86
 
88
87
  _obj = cls.model_validate({
89
- "data": HomeTimelineResponseData.from_dict(obj.get("data")) if obj.get("data") is not None else None
88
+ "data": HomeTimelineResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None
90
89
  })
91
90
  return _obj
92
91
 
@@ -18,17 +18,13 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
-
21
+ from pydantic import BaseModel, Field, StrictInt, StrictStr, field_validator
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
- from pydantic import BaseModel, StrictInt, StrictStr, field_validator
24
- from pydantic import Field
25
23
  from twitter_openapi_python_generated.models.instruction_type import InstructionType
26
24
  from twitter_openapi_python_generated.models.timeline_show_alert_rich_text import TimelineShowAlertRichText
27
25
  from twitter_openapi_python_generated.models.user_results import UserResults
28
- try:
29
- from typing import Self
30
- except ImportError:
31
- from typing_extensions import Self
26
+ from typing import Optional, Set
27
+ from typing_extensions import Self
32
28
 
33
29
  class TimelineShowAlert(BaseModel):
34
30
  """
@@ -51,7 +47,7 @@ class TimelineShowAlert(BaseModel):
51
47
  if value is None:
52
48
  return value
53
49
 
54
- if value not in ('NewTweets'):
50
+ if value not in set(['NewTweets']):
55
51
  raise ValueError("must be one of enum values ('NewTweets')")
56
52
  return value
57
53
 
@@ -61,7 +57,7 @@ class TimelineShowAlert(BaseModel):
61
57
  if value is None:
62
58
  return value
63
59
 
64
- if value not in ('Top'):
60
+ if value not in set(['Top']):
65
61
  raise ValueError("must be one of enum values ('Top')")
66
62
  return value
67
63
 
@@ -82,7 +78,7 @@ class TimelineShowAlert(BaseModel):
82
78
  return json.dumps(self.to_dict())
83
79
 
84
80
  @classmethod
85
- def from_json(cls, json_str: str) -> Self:
81
+ def from_json(cls, json_str: str) -> Optional[Self]:
86
82
  """Create an instance of TimelineShowAlert from a JSON string"""
87
83
  return cls.from_dict(json.loads(json_str))
88
84
 
@@ -96,10 +92,12 @@ class TimelineShowAlert(BaseModel):
96
92
  were set at model initialization. Other fields with value `None`
97
93
  are ignored.
98
94
  """
95
+ excluded_fields: Set[str] = set([
96
+ ])
97
+
99
98
  _dict = self.model_dump(
100
99
  by_alias=True,
101
- exclude={
102
- },
100
+ exclude=excluded_fields,
103
101
  exclude_none=True,
104
102
  )
105
103
  # override the default output from pydantic by calling `to_dict()` of rich_text
@@ -115,7 +113,7 @@ class TimelineShowAlert(BaseModel):
115
113
  return _dict
116
114
 
117
115
  @classmethod
118
- def from_dict(cls, obj: Dict) -> Self:
116
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
119
117
  """Create an instance of TimelineShowAlert from a dict"""
120
118
  if obj is None:
121
119
  return None
@@ -129,10 +127,10 @@ class TimelineShowAlert(BaseModel):
129
127
  "displayDurationMs": obj.get("displayDurationMs"),
130
128
  "displayLocation": obj.get("displayLocation"),
131
129
  "iconDisplayInfo": obj.get("iconDisplayInfo"),
132
- "richText": TimelineShowAlertRichText.from_dict(obj.get("richText")) if obj.get("richText") is not None else None,
130
+ "richText": TimelineShowAlertRichText.from_dict(obj["richText"]) if obj.get("richText") is not None else None,
133
131
  "triggerDelayMs": obj.get("triggerDelayMs"),
134
132
  "type": obj.get("type"),
135
- "usersResults": [UserResults.from_dict(_item) for _item in obj.get("usersResults")] if obj.get("usersResults") is not None else None
133
+ "usersResults": [UserResults.from_dict(_item) for _item in obj["usersResults"]] if obj.get("usersResults") is not None else None
136
134
  })
137
135
  return _obj
138
136
 
@@ -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, Optional
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, Optional
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
28
25
 
29
26
  class TimelineShowAlertRichText(BaseModel):
30
27
  """
@@ -51,7 +48,7 @@ class TimelineShowAlertRichText(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 TimelineShowAlertRichText from a JSON string"""
56
53
  return cls.from_dict(json.loads(json_str))
57
54
 
@@ -65,16 +62,18 @@ class TimelineShowAlertRichText(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
  return _dict
75
74
 
76
75
  @classmethod
77
- def from_dict(cls, obj: Dict) -> Self:
76
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78
77
  """Create an instance of TimelineShowAlertRichText from a dict"""
79
78
  if obj is None:
80
79
  return None
@@ -18,17 +18,13 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
-
21
+ from pydantic import BaseModel, Field
22
22
  from typing import Any, ClassVar, Dict, List
23
- from pydantic import BaseModel
24
- from pydantic import Field
25
23
  from twitter_openapi_python_generated.models.client_event_info import ClientEventInfo
26
24
  from twitter_openapi_python_generated.models.instruction_type import InstructionType
27
25
  from twitter_openapi_python_generated.models.timeline_half_cover import TimelineHalfCover
28
- try:
29
- from typing import Self
30
- except ImportError:
31
- from typing_extensions import Self
26
+ from typing import Optional, Set
27
+ from typing_extensions import Self
32
28
 
33
29
  class TimelineShowCover(BaseModel):
34
30
  """
@@ -56,7 +52,7 @@ class TimelineShowCover(BaseModel):
56
52
  return json.dumps(self.to_dict())
57
53
 
58
54
  @classmethod
59
- def from_json(cls, json_str: str) -> Self:
55
+ def from_json(cls, json_str: str) -> Optional[Self]:
60
56
  """Create an instance of TimelineShowCover from a JSON string"""
61
57
  return cls.from_dict(json.loads(json_str))
62
58
 
@@ -70,10 +66,12 @@ class TimelineShowCover(BaseModel):
70
66
  were set at model initialization. Other fields with value `None`
71
67
  are ignored.
72
68
  """
69
+ excluded_fields: Set[str] = set([
70
+ ])
71
+
73
72
  _dict = self.model_dump(
74
73
  by_alias=True,
75
- exclude={
76
- },
74
+ exclude=excluded_fields,
77
75
  exclude_none=True,
78
76
  )
79
77
  # override the default output from pydantic by calling `to_dict()` of client_event_info
@@ -85,7 +83,7 @@ class TimelineShowCover(BaseModel):
85
83
  return _dict
86
84
 
87
85
  @classmethod
88
- def from_dict(cls, obj: Dict) -> Self:
86
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
89
87
  """Create an instance of TimelineShowCover from a dict"""
90
88
  if obj is None:
91
89
  return None
@@ -94,8 +92,8 @@ class TimelineShowCover(BaseModel):
94
92
  return cls.model_validate(obj)
95
93
 
96
94
  _obj = cls.model_validate({
97
- "clientEventInfo": ClientEventInfo.from_dict(obj.get("clientEventInfo")) if obj.get("clientEventInfo") is not None else None,
98
- "cover": TimelineHalfCover.from_dict(obj.get("cover")) if obj.get("cover") is not None else None,
95
+ "clientEventInfo": ClientEventInfo.from_dict(obj["clientEventInfo"]) if obj.get("clientEventInfo") is not None else None,
96
+ "cover": TimelineHalfCover.from_dict(obj["cover"]) if obj.get("cover") is not None else None,
99
97
  "type": obj.get("type")
100
98
  })
101
99
  return _obj
@@ -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, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List
24
23
  from twitter_openapi_python_generated.models.instruction_type import InstructionType
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 TimelineTerminateTimeline(BaseModel):
31
28
  """
@@ -38,7 +35,7 @@ class TimelineTerminateTimeline(BaseModel):
38
35
  @field_validator('direction')
39
36
  def direction_validate_enum(cls, value):
40
37
  """Validates the enum"""
41
- if value not in ('Top', 'Bottom'):
38
+ if value not in set(['Top', 'Bottom']):
42
39
  raise ValueError("must be one of enum values ('Top', 'Bottom')")
43
40
  return value
44
41
 
@@ -59,7 +56,7 @@ class TimelineTerminateTimeline(BaseModel):
59
56
  return json.dumps(self.to_dict())
60
57
 
61
58
  @classmethod
62
- def from_json(cls, json_str: str) -> Self:
59
+ def from_json(cls, json_str: str) -> Optional[Self]:
63
60
  """Create an instance of TimelineTerminateTimeline from a JSON string"""
64
61
  return cls.from_dict(json.loads(json_str))
65
62
 
@@ -73,16 +70,18 @@ class TimelineTerminateTimeline(BaseModel):
73
70
  were set at model initialization. Other fields with value `None`
74
71
  are ignored.
75
72
  """
73
+ excluded_fields: Set[str] = set([
74
+ ])
75
+
76
76
  _dict = self.model_dump(
77
77
  by_alias=True,
78
- exclude={
79
- },
78
+ exclude=excluded_fields,
80
79
  exclude_none=True,
81
80
  )
82
81
  return _dict
83
82
 
84
83
  @classmethod
85
- def from_dict(cls, obj: Dict) -> Self:
84
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
85
  """Create an instance of TimelineTerminateTimeline from a dict"""
87
86
  if obj is None:
88
87
  return None