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,88 @@
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 AdditionalMediaInfoCallToActionsVisitSite(BaseModel):
27
+ """
28
+ AdditionalMediaInfoCallToActionsVisitSite
29
+ """ # noqa: E501
30
+ url: StrictStr
31
+ __properties: ClassVar[List[str]] = ["url"]
32
+
33
+ model_config = {
34
+ "populate_by_name": True,
35
+ "validate_assignment": True,
36
+ "protected_namespaces": (),
37
+ }
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of AdditionalMediaInfoCallToActionsVisitSite from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ return _dict
73
+
74
+ @classmethod
75
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
76
+ """Create an instance of AdditionalMediaInfoCallToActionsVisitSite from a dict"""
77
+ if obj is None:
78
+ return None
79
+
80
+ if not isinstance(obj, dict):
81
+ return cls.model_validate(obj)
82
+
83
+ _obj = cls.model_validate({
84
+ "url": obj.get("url")
85
+ })
86
+ return _obj
87
+
88
+
@@ -0,0 +1,110 @@
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, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from twitter_openapi_python_generated.models.community import Community
24
+ from twitter_openapi_python_generated.models.user_results import UserResults
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
27
+
28
+ class AuthorCommunityRelationship(BaseModel):
29
+ """
30
+ AuthorCommunityRelationship
31
+ """ # noqa: E501
32
+ community_results: Community
33
+ role: Optional[StrictStr] = None
34
+ user_results: Optional[UserResults] = None
35
+ __properties: ClassVar[List[str]] = ["community_results", "role", "user_results"]
36
+
37
+ @field_validator('role')
38
+ def role_validate_enum(cls, value):
39
+ """Validates the enum"""
40
+ if value is None:
41
+ return value
42
+
43
+ if value not in set(['Member']):
44
+ raise ValueError("must be one of enum values ('Member')")
45
+ return value
46
+
47
+ model_config = {
48
+ "populate_by_name": True,
49
+ "validate_assignment": True,
50
+ "protected_namespaces": (),
51
+ }
52
+
53
+
54
+ def to_str(self) -> str:
55
+ """Returns the string representation of the model using alias"""
56
+ return pprint.pformat(self.model_dump(by_alias=True))
57
+
58
+ def to_json(self) -> str:
59
+ """Returns the JSON representation of the model using alias"""
60
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
61
+ return json.dumps(self.to_dict())
62
+
63
+ @classmethod
64
+ def from_json(cls, json_str: str) -> Optional[Self]:
65
+ """Create an instance of AuthorCommunityRelationship from a JSON string"""
66
+ return cls.from_dict(json.loads(json_str))
67
+
68
+ def to_dict(self) -> Dict[str, Any]:
69
+ """Return the dictionary representation of the model using alias.
70
+
71
+ This has the following differences from calling pydantic's
72
+ `self.model_dump(by_alias=True)`:
73
+
74
+ * `None` is only added to the output dict for nullable fields that
75
+ were set at model initialization. Other fields with value `None`
76
+ are ignored.
77
+ """
78
+ excluded_fields: Set[str] = set([
79
+ ])
80
+
81
+ _dict = self.model_dump(
82
+ by_alias=True,
83
+ exclude=excluded_fields,
84
+ exclude_none=True,
85
+ )
86
+ # override the default output from pydantic by calling `to_dict()` of community_results
87
+ if self.community_results:
88
+ _dict['community_results'] = self.community_results.to_dict()
89
+ # override the default output from pydantic by calling `to_dict()` of user_results
90
+ if self.user_results:
91
+ _dict['user_results'] = self.user_results.to_dict()
92
+ return _dict
93
+
94
+ @classmethod
95
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
96
+ """Create an instance of AuthorCommunityRelationship from a dict"""
97
+ if obj is None:
98
+ return None
99
+
100
+ if not isinstance(obj, dict):
101
+ return cls.model_validate(obj)
102
+
103
+ _obj = cls.model_validate({
104
+ "community_results": Community.from_dict(obj["community_results"]) if obj.get("community_results") is not None else None,
105
+ "role": obj.get("role"),
106
+ "user_results": UserResults.from_dict(obj["user_results"]) if obj.get("user_results") is not None else None
107
+ })
108
+ return _obj
109
+
110
+
@@ -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, StrictInt
22
22
  from typing import Any, ClassVar, Dict, List
23
- from pydantic import BaseModel, StrictInt
24
- from pydantic import Field
25
23
  from twitter_openapi_python_generated.models.birdwatch_entity_ref import BirdwatchEntityRef
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 BirdwatchEntity(BaseModel):
32
28
  """
@@ -54,7 +50,7 @@ class BirdwatchEntity(BaseModel):
54
50
  return json.dumps(self.to_dict())
55
51
 
56
52
  @classmethod
57
- def from_json(cls, json_str: str) -> Self:
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
58
54
  """Create an instance of BirdwatchEntity from a JSON string"""
59
55
  return cls.from_dict(json.loads(json_str))
60
56
 
@@ -68,10 +64,12 @@ class BirdwatchEntity(BaseModel):
68
64
  were set at model initialization. Other fields with value `None`
69
65
  are ignored.
70
66
  """
67
+ excluded_fields: Set[str] = set([
68
+ ])
69
+
71
70
  _dict = self.model_dump(
72
71
  by_alias=True,
73
- exclude={
74
- },
72
+ exclude=excluded_fields,
75
73
  exclude_none=True,
76
74
  )
77
75
  # override the default output from pydantic by calling `to_dict()` of ref
@@ -80,7 +78,7 @@ class BirdwatchEntity(BaseModel):
80
78
  return _dict
81
79
 
82
80
  @classmethod
83
- def from_dict(cls, obj: Dict) -> Self:
81
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84
82
  """Create an instance of BirdwatchEntity from a dict"""
85
83
  if obj is None:
86
84
  return None
@@ -90,7 +88,7 @@ class BirdwatchEntity(BaseModel):
90
88
 
91
89
  _obj = cls.model_validate({
92
90
  "fromIndex": obj.get("fromIndex"),
93
- "ref": BirdwatchEntityRef.from_dict(obj.get("ref")) if obj.get("ref") is not None else None,
91
+ "ref": BirdwatchEntityRef.from_dict(obj["ref"]) if obj.get("ref") is not None else None,
94
92
  "toIndex": obj.get("toIndex")
95
93
  })
96
94
  return _obj
@@ -18,14 +18,10 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
-
21
+ from pydantic import BaseModel, Field, StrictStr, field_validator
22
22
  from typing import Any, ClassVar, Dict, List
23
- from pydantic import BaseModel, StrictStr, field_validator
24
- from pydantic import Field
25
- try:
26
- from typing import Self
27
- except ImportError:
28
- from typing_extensions import Self
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
29
25
 
30
26
  class BirdwatchEntityRef(BaseModel):
31
27
  """
@@ -39,14 +35,14 @@ class BirdwatchEntityRef(BaseModel):
39
35
  @field_validator('type')
40
36
  def type_validate_enum(cls, value):
41
37
  """Validates the enum"""
42
- if value not in ('TimelineUrl'):
38
+ if value not in set(['TimelineUrl']):
43
39
  raise ValueError("must be one of enum values ('TimelineUrl')")
44
40
  return value
45
41
 
46
42
  @field_validator('url_type')
47
43
  def url_type_validate_enum(cls, value):
48
44
  """Validates the enum"""
49
- if value not in ('ExternalUrl'):
45
+ if value not in set(['ExternalUrl']):
50
46
  raise ValueError("must be one of enum values ('ExternalUrl')")
51
47
  return value
52
48
 
@@ -67,7 +63,7 @@ class BirdwatchEntityRef(BaseModel):
67
63
  return json.dumps(self.to_dict())
68
64
 
69
65
  @classmethod
70
- def from_json(cls, json_str: str) -> Self:
66
+ def from_json(cls, json_str: str) -> Optional[Self]:
71
67
  """Create an instance of BirdwatchEntityRef from a JSON string"""
72
68
  return cls.from_dict(json.loads(json_str))
73
69
 
@@ -81,16 +77,18 @@ class BirdwatchEntityRef(BaseModel):
81
77
  were set at model initialization. Other fields with value `None`
82
78
  are ignored.
83
79
  """
80
+ excluded_fields: Set[str] = set([
81
+ ])
82
+
84
83
  _dict = self.model_dump(
85
84
  by_alias=True,
86
- exclude={
87
- },
85
+ exclude=excluded_fields,
88
86
  exclude_none=True,
89
87
  )
90
88
  return _dict
91
89
 
92
90
  @classmethod
93
- def from_dict(cls, obj: Dict) -> Self:
91
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
94
92
  """Create an instance of BirdwatchEntityRef from a dict"""
95
93
  if obj is None:
96
94
  return None
@@ -18,22 +18,20 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
-
21
+ from pydantic import BaseModel, Field, StrictStr, field_validator
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
- from pydantic import BaseModel, StrictStr, field_validator
24
- from pydantic import Field
23
+ from twitter_openapi_python_generated.models.birdwatch_pivot_call_to_action import BirdwatchPivotCallToAction
25
24
  from twitter_openapi_python_generated.models.birdwatch_pivot_footer import BirdwatchPivotFooter
26
25
  from twitter_openapi_python_generated.models.birdwatch_pivot_note import BirdwatchPivotNote
27
26
  from twitter_openapi_python_generated.models.birdwatch_pivot_subtitle import BirdwatchPivotSubtitle
28
- try:
29
- from typing import Self
30
- except ImportError:
31
- from typing_extensions import Self
27
+ from typing import Optional, Set
28
+ from typing_extensions import Self
32
29
 
33
30
  class BirdwatchPivot(BaseModel):
34
31
  """
35
32
  BirdwatchPivot
36
33
  """ # noqa: E501
34
+ call_to_action: Optional[BirdwatchPivotCallToAction] = Field(default=None, alias="callToAction")
37
35
  destination_url: StrictStr = Field(alias="destinationUrl")
38
36
  footer: BirdwatchPivotFooter
39
37
  icon_type: StrictStr = Field(alias="iconType")
@@ -42,12 +40,12 @@ class BirdwatchPivot(BaseModel):
42
40
  subtitle: BirdwatchPivotSubtitle
43
41
  title: StrictStr
44
42
  visual_style: Optional[StrictStr] = Field(default=None, alias="visualStyle")
45
- __properties: ClassVar[List[str]] = ["destinationUrl", "footer", "iconType", "note", "shorttitle", "subtitle", "title", "visualStyle"]
43
+ __properties: ClassVar[List[str]] = ["callToAction", "destinationUrl", "footer", "iconType", "note", "shorttitle", "subtitle", "title", "visualStyle"]
46
44
 
47
45
  @field_validator('icon_type')
48
46
  def icon_type_validate_enum(cls, value):
49
47
  """Validates the enum"""
50
- if value not in ('BirdwatchV1Icon'):
48
+ if value not in set(['BirdwatchV1Icon']):
51
49
  raise ValueError("must be one of enum values ('BirdwatchV1Icon')")
52
50
  return value
53
51
 
@@ -57,7 +55,7 @@ class BirdwatchPivot(BaseModel):
57
55
  if value is None:
58
56
  return value
59
57
 
60
- if value not in ('Default'):
58
+ if value not in set(['Default']):
61
59
  raise ValueError("must be one of enum values ('Default')")
62
60
  return value
63
61
 
@@ -78,7 +76,7 @@ class BirdwatchPivot(BaseModel):
78
76
  return json.dumps(self.to_dict())
79
77
 
80
78
  @classmethod
81
- def from_json(cls, json_str: str) -> Self:
79
+ def from_json(cls, json_str: str) -> Optional[Self]:
82
80
  """Create an instance of BirdwatchPivot from a JSON string"""
83
81
  return cls.from_dict(json.loads(json_str))
84
82
 
@@ -92,12 +90,17 @@ class BirdwatchPivot(BaseModel):
92
90
  were set at model initialization. Other fields with value `None`
93
91
  are ignored.
94
92
  """
93
+ excluded_fields: Set[str] = set([
94
+ ])
95
+
95
96
  _dict = self.model_dump(
96
97
  by_alias=True,
97
- exclude={
98
- },
98
+ exclude=excluded_fields,
99
99
  exclude_none=True,
100
100
  )
101
+ # override the default output from pydantic by calling `to_dict()` of call_to_action
102
+ if self.call_to_action:
103
+ _dict['callToAction'] = self.call_to_action.to_dict()
101
104
  # override the default output from pydantic by calling `to_dict()` of footer
102
105
  if self.footer:
103
106
  _dict['footer'] = self.footer.to_dict()
@@ -110,7 +113,7 @@ class BirdwatchPivot(BaseModel):
110
113
  return _dict
111
114
 
112
115
  @classmethod
113
- def from_dict(cls, obj: Dict) -> Self:
116
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
114
117
  """Create an instance of BirdwatchPivot from a dict"""
115
118
  if obj is None:
116
119
  return None
@@ -119,12 +122,13 @@ class BirdwatchPivot(BaseModel):
119
122
  return cls.model_validate(obj)
120
123
 
121
124
  _obj = cls.model_validate({
125
+ "callToAction": BirdwatchPivotCallToAction.from_dict(obj["callToAction"]) if obj.get("callToAction") is not None else None,
122
126
  "destinationUrl": obj.get("destinationUrl"),
123
- "footer": BirdwatchPivotFooter.from_dict(obj.get("footer")) if obj.get("footer") is not None else None,
127
+ "footer": BirdwatchPivotFooter.from_dict(obj["footer"]) if obj.get("footer") is not None else None,
124
128
  "iconType": obj.get("iconType"),
125
- "note": BirdwatchPivotNote.from_dict(obj.get("note")) if obj.get("note") is not None else None,
129
+ "note": BirdwatchPivotNote.from_dict(obj["note"]) if obj.get("note") is not None else None,
126
130
  "shorttitle": obj.get("shorttitle"),
127
- "subtitle": BirdwatchPivotSubtitle.from_dict(obj.get("subtitle")) if obj.get("subtitle") is not None else None,
131
+ "subtitle": BirdwatchPivotSubtitle.from_dict(obj["subtitle"]) if obj.get("subtitle") is not None else None,
128
132
  "title": obj.get("title"),
129
133
  "visualStyle": obj.get("visualStyle")
130
134
  })
@@ -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, Field, StrictStr
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class BirdwatchPivotCallToAction(BaseModel):
27
+ """
28
+ BirdwatchPivotCallToAction
29
+ """ # noqa: E501
30
+ destination_url: StrictStr = Field(alias="destinationUrl")
31
+ prompt: StrictStr
32
+ title: StrictStr
33
+ __properties: ClassVar[List[str]] = ["destinationUrl", "prompt", "title"]
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 BirdwatchPivotCallToAction 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 BirdwatchPivotCallToAction 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
+ "destinationUrl": obj.get("destinationUrl"),
87
+ "prompt": obj.get("prompt"),
88
+ "title": obj.get("title")
89
+ })
90
+ return _obj
91
+
92
+
@@ -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
22
+ from typing import Any, ClassVar, Dict, List
24
23
  from twitter_openapi_python_generated.models.birdwatch_entity import BirdwatchEntity
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 BirdwatchPivotFooter(BaseModel):
31
28
  """
@@ -52,7 +49,7 @@ class BirdwatchPivotFooter(BaseModel):
52
49
  return json.dumps(self.to_dict())
53
50
 
54
51
  @classmethod
55
- def from_json(cls, json_str: str) -> Self:
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
56
53
  """Create an instance of BirdwatchPivotFooter from a JSON string"""
57
54
  return cls.from_dict(json.loads(json_str))
58
55
 
@@ -66,10 +63,12 @@ class BirdwatchPivotFooter(BaseModel):
66
63
  were set at model initialization. Other fields with value `None`
67
64
  are ignored.
68
65
  """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
69
  _dict = self.model_dump(
70
70
  by_alias=True,
71
- exclude={
72
- },
71
+ exclude=excluded_fields,
73
72
  exclude_none=True,
74
73
  )
75
74
  # override the default output from pydantic by calling `to_dict()` of each item in entities (list)
@@ -82,7 +81,7 @@ class BirdwatchPivotFooter(BaseModel):
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 BirdwatchPivotFooter from a dict"""
87
86
  if obj is None:
88
87
  return None
@@ -91,7 +90,7 @@ class BirdwatchPivotFooter(BaseModel):
91
90
  return cls.model_validate(obj)
92
91
 
93
92
  _obj = cls.model_validate({
94
- "entities": [BirdwatchEntity.from_dict(_item) for _item in obj.get("entities")] if obj.get("entities") is not None else None,
93
+ "entities": [BirdwatchEntity.from_dict(_item) for _item in obj["entities"]] if obj.get("entities") is not None else None,
95
94
  "text": obj.get("text")
96
95
  })
97
96
  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, 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 BirdwatchPivotNote(BaseModel):
32
28
  """
@@ -59,7 +55,7 @@ class BirdwatchPivotNote(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 BirdwatchPivotNote from a JSON string"""
64
60
  return cls.from_dict(json.loads(json_str))
65
61
 
@@ -73,16 +69,18 @@ class BirdwatchPivotNote(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 BirdwatchPivotNote from a dict"""
87
85
  if obj is None:
88
86
  return None