twitter-openapi-python-generated 0.0.24__py3-none-any.whl → 0.0.26__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 (98) hide show
  1. twitter_openapi_python_generated/__init__.py +7 -29
  2. twitter_openapi_python_generated/api/default_api.py +14 -12
  3. twitter_openapi_python_generated/api/other_api.py +7 -6
  4. twitter_openapi_python_generated/api/post_api.py +56 -48
  5. twitter_openapi_python_generated/api/tweet_api.py +73 -62
  6. twitter_openapi_python_generated/api/user_api.py +13 -11
  7. twitter_openapi_python_generated/api/user_list_api.py +33 -28
  8. twitter_openapi_python_generated/api/users_api.py +7 -6
  9. twitter_openapi_python_generated/api/v11_get_api.py +2 -0
  10. twitter_openapi_python_generated/api/v11_post_api.py +2 -0
  11. twitter_openapi_python_generated/api/v20_get_api.py +1 -0
  12. twitter_openapi_python_generated/api_client.py +1 -1
  13. twitter_openapi_python_generated/configuration.py +185 -38
  14. twitter_openapi_python_generated/models/__init__.py +6 -28
  15. twitter_openapi_python_generated/models/author_community_relationship.py +2 -2
  16. twitter_openapi_python_generated/models/birdwatch_pivot.py +6 -6
  17. twitter_openapi_python_generated/models/bookmarks_response.py +14 -4
  18. twitter_openapi_python_generated/models/community_actions.py +3 -3
  19. twitter_openapi_python_generated/models/community_data.py +4 -4
  20. twitter_openapi_python_generated/models/{favorite_tweet_response_data.py → community_join_action_unavailable.py} +20 -12
  21. twitter_openapi_python_generated/models/{post_favorite_tweet200_response.py → community_join_action_union.py} +50 -27
  22. twitter_openapi_python_generated/models/create_bookmark_response.py +13 -3
  23. twitter_openapi_python_generated/models/create_bookmark_response_data.py +2 -2
  24. twitter_openapi_python_generated/models/create_retweet_response.py +13 -3
  25. twitter_openapi_python_generated/models/create_retweet_response_data.py +2 -2
  26. twitter_openapi_python_generated/models/create_tweet_response.py +13 -3
  27. twitter_openapi_python_generated/models/create_tweet_response_data.py +2 -2
  28. twitter_openapi_python_generated/models/delete_bookmark_response.py +13 -3
  29. twitter_openapi_python_generated/models/delete_bookmark_response_data.py +2 -2
  30. twitter_openapi_python_generated/models/delete_retweet_response.py +13 -3
  31. twitter_openapi_python_generated/models/delete_retweet_response_data.py +3 -3
  32. twitter_openapi_python_generated/models/delete_tweet_response.py +13 -3
  33. twitter_openapi_python_generated/models/{error.py → error_response.py} +5 -5
  34. twitter_openapi_python_generated/models/favorite_tweet.py +2 -2
  35. twitter_openapi_python_generated/models/{errors.py → favorite_tweet_response.py} +10 -10
  36. twitter_openapi_python_generated/models/follow_response.py +13 -3
  37. twitter_openapi_python_generated/models/follow_response_data.py +2 -2
  38. twitter_openapi_python_generated/models/home_timeline_response_data.py +2 -2
  39. twitter_openapi_python_generated/models/list_latest_tweets_timeline_response.py +13 -3
  40. twitter_openapi_python_generated/models/list_tweets_timeline_data.py +2 -2
  41. twitter_openapi_python_generated/models/{other_response.py → other_object_all.py} +4 -4
  42. twitter_openapi_python_generated/models/profile_response.py +13 -3
  43. twitter_openapi_python_generated/models/profile_response_data.py +2 -2
  44. twitter_openapi_python_generated/models/search_timeline_data.py +2 -2
  45. twitter_openapi_python_generated/models/search_timeline_response.py +13 -3
  46. twitter_openapi_python_generated/models/sensitive_media_warning.py +4 -4
  47. twitter_openapi_python_generated/models/timeline_response.py +13 -3
  48. twitter_openapi_python_generated/models/tweet_detail_response.py +13 -3
  49. twitter_openapi_python_generated/models/tweet_detail_response_data.py +2 -2
  50. twitter_openapi_python_generated/models/tweet_favoriters_response.py +13 -3
  51. twitter_openapi_python_generated/models/tweet_favoriters_response_data.py +2 -2
  52. twitter_openapi_python_generated/models/tweet_legacy.py +2 -2
  53. twitter_openapi_python_generated/models/tweet_result_by_rest_id_data.py +2 -2
  54. twitter_openapi_python_generated/models/tweet_result_by_rest_id_response.py +13 -3
  55. twitter_openapi_python_generated/models/tweet_retweeters_response.py +13 -3
  56. twitter_openapi_python_generated/models/tweet_retweeters_response_data.py +2 -2
  57. twitter_openapi_python_generated/models/type_name.py +1 -0
  58. twitter_openapi_python_generated/models/unfavorite_tweet.py +2 -2
  59. twitter_openapi_python_generated/models/{unfavorite_tweet_response_data.py → unfavorite_tweet_response.py} +17 -7
  60. twitter_openapi_python_generated/models/user.py +1 -1
  61. twitter_openapi_python_generated/models/user_highlights_tweets_data.py +2 -2
  62. twitter_openapi_python_generated/models/user_highlights_tweets_response.py +13 -3
  63. twitter_openapi_python_generated/models/user_legacy_extended_profile_birthdate.py +2 -2
  64. twitter_openapi_python_generated/models/user_response.py +13 -3
  65. twitter_openapi_python_generated/models/user_tip_jar_settings.py +3 -1
  66. twitter_openapi_python_generated/models/user_tweets_data.py +2 -2
  67. twitter_openapi_python_generated/models/user_tweets_response.py +13 -3
  68. twitter_openapi_python_generated/models/user_verification_info_reason.py +2 -2
  69. twitter_openapi_python_generated/models/users_response.py +13 -3
  70. twitter_openapi_python_generated/models/users_response_data.py +2 -2
  71. {twitter_openapi_python_generated-0.0.24.dist-info → twitter_openapi_python_generated-0.0.26.dist-info}/METADATA +6 -6
  72. {twitter_openapi_python_generated-0.0.24.dist-info → twitter_openapi_python_generated-0.0.26.dist-info}/RECORD +76 -98
  73. {twitter_openapi_python_generated-0.0.24.dist-info → twitter_openapi_python_generated-0.0.26.dist-info}/WHEEL +1 -1
  74. twitter_openapi_python_generated/models/errors_data.py +0 -99
  75. twitter_openapi_python_generated/models/get_bookmarks200_response.py +0 -138
  76. twitter_openapi_python_generated/models/get_favoriters200_response.py +0 -138
  77. twitter_openapi_python_generated/models/get_followers200_response.py +0 -138
  78. twitter_openapi_python_generated/models/get_home_latest_timeline200_response.py +0 -138
  79. twitter_openapi_python_generated/models/get_likes200_response.py +0 -138
  80. twitter_openapi_python_generated/models/get_list_latest_tweets_timeline200_response.py +0 -138
  81. twitter_openapi_python_generated/models/get_profile_spotlights_query200_response.py +0 -138
  82. twitter_openapi_python_generated/models/get_retweeters200_response.py +0 -138
  83. twitter_openapi_python_generated/models/get_search_timeline200_response.py +0 -138
  84. twitter_openapi_python_generated/models/get_tweet_detail200_response.py +0 -138
  85. twitter_openapi_python_generated/models/get_tweet_result_by_rest_id200_response.py +0 -138
  86. twitter_openapi_python_generated/models/get_user_by_rest_id200_response.py +0 -138
  87. twitter_openapi_python_generated/models/get_user_highlights_tweets200_response.py +0 -138
  88. twitter_openapi_python_generated/models/get_users_by_rest_ids200_response.py +0 -138
  89. twitter_openapi_python_generated/models/post_create_bookmark200_response.py +0 -138
  90. twitter_openapi_python_generated/models/post_create_retweet200_response.py +0 -138
  91. twitter_openapi_python_generated/models/post_create_tweet200_response.py +0 -138
  92. twitter_openapi_python_generated/models/post_delete_bookmark200_response.py +0 -138
  93. twitter_openapi_python_generated/models/post_delete_retweet200_response.py +0 -138
  94. twitter_openapi_python_generated/models/post_delete_tweet200_response.py +0 -138
  95. twitter_openapi_python_generated/models/post_unfavorite_tweet200_response.py +0 -138
  96. {twitter_openapi_python_generated-0.0.24.dist-info → twitter_openapi_python_generated-0.0.26.dist-info}/LICENSE +0 -0
  97. {twitter_openapi_python_generated-0.0.24.dist-info → twitter_openapi_python_generated-0.0.26.dist-info}/LICENSE.AGPL +0 -0
  98. {twitter_openapi_python_generated-0.0.24.dist-info → twitter_openapi_python_generated-0.0.26.dist-info}/top_level.txt +0 -0
@@ -14,14 +14,16 @@
14
14
 
15
15
 
16
16
  import copy
17
+ import http.client as httplib
17
18
  import logging
18
19
  from logging import FileHandler
19
20
  import multiprocessing
20
21
  import sys
21
- from typing import Optional
22
+ from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict
23
+ from typing_extensions import NotRequired, Self
24
+
22
25
  import urllib3
23
26
 
24
- import http.client as httplib
25
27
 
26
28
  JSON_SCHEMA_VALIDATION_KEYWORDS = {
27
29
  'multipleOf', 'maximum', 'exclusiveMaximum',
@@ -29,6 +31,129 @@ JSON_SCHEMA_VALIDATION_KEYWORDS = {
29
31
  'minLength', 'pattern', 'maxItems', 'minItems'
30
32
  }
31
33
 
34
+ ServerVariablesT = Dict[str, str]
35
+
36
+ GenericAuthSetting = TypedDict(
37
+ "GenericAuthSetting",
38
+ {
39
+ "type": str,
40
+ "in": str,
41
+ "key": str,
42
+ "value": str,
43
+ },
44
+ )
45
+
46
+
47
+ OAuth2AuthSetting = TypedDict(
48
+ "OAuth2AuthSetting",
49
+ {
50
+ "type": Literal["oauth2"],
51
+ "in": Literal["header"],
52
+ "key": Literal["Authorization"],
53
+ "value": str,
54
+ },
55
+ )
56
+
57
+
58
+ APIKeyAuthSetting = TypedDict(
59
+ "APIKeyAuthSetting",
60
+ {
61
+ "type": Literal["api_key"],
62
+ "in": str,
63
+ "key": str,
64
+ "value": Optional[str],
65
+ },
66
+ )
67
+
68
+
69
+ BasicAuthSetting = TypedDict(
70
+ "BasicAuthSetting",
71
+ {
72
+ "type": Literal["basic"],
73
+ "in": Literal["header"],
74
+ "key": Literal["Authorization"],
75
+ "value": Optional[str],
76
+ },
77
+ )
78
+
79
+
80
+ BearerFormatAuthSetting = TypedDict(
81
+ "BearerFormatAuthSetting",
82
+ {
83
+ "type": Literal["bearer"],
84
+ "in": Literal["header"],
85
+ "format": Literal["JWT"],
86
+ "key": Literal["Authorization"],
87
+ "value": str,
88
+ },
89
+ )
90
+
91
+
92
+ BearerAuthSetting = TypedDict(
93
+ "BearerAuthSetting",
94
+ {
95
+ "type": Literal["bearer"],
96
+ "in": Literal["header"],
97
+ "key": Literal["Authorization"],
98
+ "value": str,
99
+ },
100
+ )
101
+
102
+
103
+ HTTPSignatureAuthSetting = TypedDict(
104
+ "HTTPSignatureAuthSetting",
105
+ {
106
+ "type": Literal["http-signature"],
107
+ "in": Literal["header"],
108
+ "key": Literal["Authorization"],
109
+ "value": None,
110
+ },
111
+ )
112
+
113
+
114
+ AuthSettings = TypedDict(
115
+ "AuthSettings",
116
+ {
117
+ "Accept": APIKeyAuthSetting,
118
+ "AcceptEncoding": APIKeyAuthSetting,
119
+ "AcceptLanguage": APIKeyAuthSetting,
120
+ "ActiveUser": APIKeyAuthSetting,
121
+ "AuthType": APIKeyAuthSetting,
122
+ "BearerAuth": BearerAuthSetting,
123
+ "ClientLanguage": APIKeyAuthSetting,
124
+ "ClientTransactionId": APIKeyAuthSetting,
125
+ "ClientUuid": APIKeyAuthSetting,
126
+ "CookieAuthToken": APIKeyAuthSetting,
127
+ "CookieCt0": APIKeyAuthSetting,
128
+ "CookieGt0": APIKeyAuthSetting,
129
+ "CsrfToken": APIKeyAuthSetting,
130
+ "GuestToken": APIKeyAuthSetting,
131
+ "Priority": APIKeyAuthSetting,
132
+ "Referer": APIKeyAuthSetting,
133
+ "SecChUa": APIKeyAuthSetting,
134
+ "SecChUaMobile": APIKeyAuthSetting,
135
+ "SecChUaPlatform": APIKeyAuthSetting,
136
+ "SecFetchDest": APIKeyAuthSetting,
137
+ "SecFetchMode": APIKeyAuthSetting,
138
+ "SecFetchSite": APIKeyAuthSetting,
139
+ "UserAgent": APIKeyAuthSetting,
140
+ },
141
+ total=False,
142
+ )
143
+
144
+
145
+ class HostSettingVariable(TypedDict):
146
+ description: str
147
+ default_value: str
148
+ enum_values: List[str]
149
+
150
+
151
+ class HostSetting(TypedDict):
152
+ url: str
153
+ description: str
154
+ variables: NotRequired[Dict[str, HostSettingVariable]]
155
+
156
+
32
157
  class Configuration:
33
158
  """This class contains various settings of the API client.
34
159
 
@@ -82,20 +207,26 @@ conf = twitter_openapi_python_generated.Configuration(
82
207
  Cookie: JSESSIONID abc123
83
208
  """
84
209
 
85
- _default = None
86
-
87
- def __init__(self, host=None,
88
- api_key=None, api_key_prefix=None,
89
- username=None, password=None,
90
- access_token=None,
91
- server_index=None, server_variables=None,
92
- server_operation_index=None, server_operation_variables=None,
93
- ignore_operation_servers=False,
94
- ssl_ca_cert=None,
95
- retries=None,
96
- *,
97
- debug: Optional[bool] = None
98
- ) -> None:
210
+ _default: ClassVar[Optional[Self]] = None
211
+
212
+ def __init__(
213
+ self,
214
+ host: Optional[str]=None,
215
+ api_key: Optional[Dict[str, str]]=None,
216
+ api_key_prefix: Optional[Dict[str, str]]=None,
217
+ username: Optional[str]=None,
218
+ password: Optional[str]=None,
219
+ access_token: Optional[str]=None,
220
+ server_index: Optional[int]=None,
221
+ server_variables: Optional[ServerVariablesT]=None,
222
+ server_operation_index: Optional[Dict[int, int]]=None,
223
+ server_operation_variables: Optional[Dict[int, ServerVariablesT]]=None,
224
+ ignore_operation_servers: bool=False,
225
+ ssl_ca_cert: Optional[str]=None,
226
+ retries: Optional[int] = None,
227
+ *,
228
+ debug: Optional[bool] = None,
229
+ ) -> None:
99
230
  """Constructor
100
231
  """
101
232
  self._base_path = "https://x.com/i/api" if host is None else host
@@ -219,7 +350,7 @@ conf = twitter_openapi_python_generated.Configuration(
219
350
  """date format
220
351
  """
221
352
 
222
- def __deepcopy__(self, memo):
353
+ def __deepcopy__(self, memo: Dict[int, Any]) -> Self:
223
354
  cls = self.__class__
224
355
  result = cls.__new__(cls)
225
356
  memo[id(self)] = result
@@ -233,11 +364,11 @@ conf = twitter_openapi_python_generated.Configuration(
233
364
  result.debug = self.debug
234
365
  return result
235
366
 
236
- def __setattr__(self, name, value):
367
+ def __setattr__(self, name: str, value: Any) -> None:
237
368
  object.__setattr__(self, name, value)
238
369
 
239
370
  @classmethod
240
- def set_default(cls, default):
371
+ def set_default(cls, default: Optional[Self]) -> None:
241
372
  """Set default instance of configuration.
242
373
 
243
374
  It stores default configuration, which can be
@@ -248,7 +379,7 @@ conf = twitter_openapi_python_generated.Configuration(
248
379
  cls._default = default
249
380
 
250
381
  @classmethod
251
- def get_default_copy(cls):
382
+ def get_default_copy(cls) -> Self:
252
383
  """Deprecated. Please use `get_default` instead.
253
384
 
254
385
  Deprecated. Please use `get_default` instead.
@@ -258,7 +389,7 @@ conf = twitter_openapi_python_generated.Configuration(
258
389
  return cls.get_default()
259
390
 
260
391
  @classmethod
261
- def get_default(cls):
392
+ def get_default(cls) -> Self:
262
393
  """Return the default configuration.
263
394
 
264
395
  This method returns newly created, based on default constructor,
@@ -268,11 +399,11 @@ conf = twitter_openapi_python_generated.Configuration(
268
399
  :return: The configuration object.
269
400
  """
270
401
  if cls._default is None:
271
- cls._default = Configuration()
402
+ cls._default = cls()
272
403
  return cls._default
273
404
 
274
405
  @property
275
- def logger_file(self):
406
+ def logger_file(self) -> Optional[str]:
276
407
  """The logger file.
277
408
 
278
409
  If the logger_file is None, then add stream handler and remove file
@@ -284,7 +415,7 @@ conf = twitter_openapi_python_generated.Configuration(
284
415
  return self.__logger_file
285
416
 
286
417
  @logger_file.setter
287
- def logger_file(self, value):
418
+ def logger_file(self, value: Optional[str]) -> None:
288
419
  """The logger file.
289
420
 
290
421
  If the logger_file is None, then add stream handler and remove file
@@ -303,7 +434,7 @@ conf = twitter_openapi_python_generated.Configuration(
303
434
  logger.addHandler(self.logger_file_handler)
304
435
 
305
436
  @property
306
- def debug(self):
437
+ def debug(self) -> bool:
307
438
  """Debug status
308
439
 
309
440
  :param value: The debug status, True or False.
@@ -312,7 +443,7 @@ conf = twitter_openapi_python_generated.Configuration(
312
443
  return self.__debug
313
444
 
314
445
  @debug.setter
315
- def debug(self, value):
446
+ def debug(self, value: bool) -> None:
316
447
  """Debug status
317
448
 
318
449
  :param value: The debug status, True or False.
@@ -334,7 +465,7 @@ conf = twitter_openapi_python_generated.Configuration(
334
465
  httplib.HTTPConnection.debuglevel = 0
335
466
 
336
467
  @property
337
- def logger_format(self):
468
+ def logger_format(self) -> str:
338
469
  """The logger format.
339
470
 
340
471
  The logger_formatter will be updated when sets logger_format.
@@ -345,7 +476,7 @@ conf = twitter_openapi_python_generated.Configuration(
345
476
  return self.__logger_format
346
477
 
347
478
  @logger_format.setter
348
- def logger_format(self, value):
479
+ def logger_format(self, value: str) -> None:
349
480
  """The logger format.
350
481
 
351
482
  The logger_formatter will be updated when sets logger_format.
@@ -356,7 +487,7 @@ conf = twitter_openapi_python_generated.Configuration(
356
487
  self.__logger_format = value
357
488
  self.logger_formatter = logging.Formatter(self.__logger_format)
358
489
 
359
- def get_api_key_with_prefix(self, identifier, alias=None):
490
+ def get_api_key_with_prefix(self, identifier: str, alias: Optional[str]=None) -> Optional[str]:
360
491
  """Gets API key (with prefix if set).
361
492
 
362
493
  :param identifier: The identifier of apiKey.
@@ -373,7 +504,9 @@ conf = twitter_openapi_python_generated.Configuration(
373
504
  else:
374
505
  return key
375
506
 
376
- def get_basic_auth_token(self):
507
+ return None
508
+
509
+ def get_basic_auth_token(self) -> Optional[str]:
377
510
  """Gets HTTP basic authentication header (string).
378
511
 
379
512
  :return: The token for basic HTTP authentication.
@@ -388,12 +521,12 @@ conf = twitter_openapi_python_generated.Configuration(
388
521
  basic_auth=username + ':' + password
389
522
  ).get('authorization')
390
523
 
391
- def auth_settings(self):
524
+ def auth_settings(self)-> AuthSettings:
392
525
  """Gets Auth Settings dict for api client.
393
526
 
394
527
  :return: The Auth Settings information dict.
395
528
  """
396
- auth = {}
529
+ auth: AuthSettings = {}
397
530
  if 'Accept' in self.api_key:
398
531
  auth['Accept'] = {
399
532
  'type': 'api_key',
@@ -518,6 +651,15 @@ conf = twitter_openapi_python_generated.Configuration(
518
651
  'GuestToken',
519
652
  ),
520
653
  }
654
+ if 'Priority' in self.api_key:
655
+ auth['Priority'] = {
656
+ 'type': 'api_key',
657
+ 'in': 'header',
658
+ 'key': 'Priority',
659
+ 'value': self.get_api_key_with_prefix(
660
+ 'Priority',
661
+ ),
662
+ }
521
663
  if 'Referer' in self.api_key:
522
664
  auth['Referer'] = {
523
665
  'type': 'api_key',
@@ -592,7 +734,7 @@ conf = twitter_openapi_python_generated.Configuration(
592
734
  }
593
735
  return auth
594
736
 
595
- def to_debug_report(self):
737
+ def to_debug_report(self) -> str:
596
738
  """Gets the essential information for debugging.
597
739
 
598
740
  :return: The report for debugging.
@@ -601,10 +743,10 @@ conf = twitter_openapi_python_generated.Configuration(
601
743
  "OS: {env}\n"\
602
744
  "Python Version: {pyversion}\n"\
603
745
  "Version of the API: 0.0.1\n"\
604
- "SDK Package Version: 0.0.24".\
746
+ "SDK Package Version: 0.0.26".\
605
747
  format(env=sys.platform, pyversion=sys.version)
606
748
 
607
- def get_host_settings(self):
749
+ def get_host_settings(self) -> List[HostSetting]:
608
750
  """Gets an array of host settings
609
751
 
610
752
  :return: An array of host settings
@@ -620,7 +762,12 @@ conf = twitter_openapi_python_generated.Configuration(
620
762
  }
621
763
  ]
622
764
 
623
- def get_host_from_settings(self, index, variables=None, servers=None):
765
+ def get_host_from_settings(
766
+ self,
767
+ index: Optional[int],
768
+ variables: Optional[ServerVariablesT]=None,
769
+ servers: Optional[List[HostSetting]]=None,
770
+ ) -> str:
624
771
  """Gets host URL based on the index and variables
625
772
  :param index: array index of the host settings
626
773
  :param variables: hash of variable and the corresponding value
@@ -660,12 +807,12 @@ conf = twitter_openapi_python_generated.Configuration(
660
807
  return url
661
808
 
662
809
  @property
663
- def host(self):
810
+ def host(self) -> str:
664
811
  """Return generated host."""
665
812
  return self.get_host_from_settings(self.server_index, variables=self.server_variables)
666
813
 
667
814
  @host.setter
668
- def host(self, value):
815
+ def host(self, value: str) -> None:
669
816
  """Fix base path."""
670
817
  self._base_path = value
671
818
  self.server_index = None
@@ -49,6 +49,8 @@ from twitter_openapi_python_generated.models.community_data import CommunityData
49
49
  from twitter_openapi_python_generated.models.community_delete_action_result import CommunityDeleteActionResult
50
50
  from twitter_openapi_python_generated.models.community_invites_result import CommunityInvitesResult
51
51
  from twitter_openapi_python_generated.models.community_join_action_result import CommunityJoinActionResult
52
+ from twitter_openapi_python_generated.models.community_join_action_unavailable import CommunityJoinActionUnavailable
53
+ from twitter_openapi_python_generated.models.community_join_action_union import CommunityJoinActionUnion
52
54
  from twitter_openapi_python_generated.models.community_join_requests_result import CommunityJoinRequestsResult
53
55
  from twitter_openapi_python_generated.models.community_leave_action_result import CommunityLeaveActionResult
54
56
  from twitter_openapi_python_generated.models.community_pin_action_result import CommunityPinActionResult
@@ -86,34 +88,18 @@ from twitter_openapi_python_generated.models.delete_tweet_response_result import
86
88
  from twitter_openapi_python_generated.models.display_treatment import DisplayTreatment
87
89
  from twitter_openapi_python_generated.models.display_type import DisplayType
88
90
  from twitter_openapi_python_generated.models.entities import Entities
89
- from twitter_openapi_python_generated.models.error import Error
90
91
  from twitter_openapi_python_generated.models.error_extensions import ErrorExtensions
91
- from twitter_openapi_python_generated.models.errors import Errors
92
- from twitter_openapi_python_generated.models.errors_data import ErrorsData
92
+ from twitter_openapi_python_generated.models.error_response import ErrorResponse
93
93
  from twitter_openapi_python_generated.models.ext_media_availability import ExtMediaAvailability
94
94
  from twitter_openapi_python_generated.models.extended_entities import ExtendedEntities
95
95
  from twitter_openapi_python_generated.models.favorite_tweet import FavoriteTweet
96
- from twitter_openapi_python_generated.models.favorite_tweet_response_data import FavoriteTweetResponseData
96
+ from twitter_openapi_python_generated.models.favorite_tweet_response import FavoriteTweetResponse
97
97
  from twitter_openapi_python_generated.models.feedback_info import FeedbackInfo
98
98
  from twitter_openapi_python_generated.models.follow_response import FollowResponse
99
99
  from twitter_openapi_python_generated.models.follow_response_data import FollowResponseData
100
100
  from twitter_openapi_python_generated.models.follow_response_result import FollowResponseResult
101
101
  from twitter_openapi_python_generated.models.follow_response_user import FollowResponseUser
102
102
  from twitter_openapi_python_generated.models.follow_timeline import FollowTimeline
103
- from twitter_openapi_python_generated.models.get_bookmarks200_response import GetBookmarks200Response
104
- from twitter_openapi_python_generated.models.get_favoriters200_response import GetFavoriters200Response
105
- from twitter_openapi_python_generated.models.get_followers200_response import GetFollowers200Response
106
- from twitter_openapi_python_generated.models.get_home_latest_timeline200_response import GetHomeLatestTimeline200Response
107
- from twitter_openapi_python_generated.models.get_likes200_response import GetLikes200Response
108
- from twitter_openapi_python_generated.models.get_list_latest_tweets_timeline200_response import GetListLatestTweetsTimeline200Response
109
- from twitter_openapi_python_generated.models.get_profile_spotlights_query200_response import GetProfileSpotlightsQuery200Response
110
- from twitter_openapi_python_generated.models.get_retweeters200_response import GetRetweeters200Response
111
- from twitter_openapi_python_generated.models.get_search_timeline200_response import GetSearchTimeline200Response
112
- from twitter_openapi_python_generated.models.get_tweet_detail200_response import GetTweetDetail200Response
113
- from twitter_openapi_python_generated.models.get_tweet_result_by_rest_id200_response import GetTweetResultByRestId200Response
114
- from twitter_openapi_python_generated.models.get_user_by_rest_id200_response import GetUserByRestId200Response
115
- from twitter_openapi_python_generated.models.get_user_highlights_tweets200_response import GetUserHighlightsTweets200Response
116
- from twitter_openapi_python_generated.models.get_users_by_rest_ids200_response import GetUsersByRestIds200Response
117
103
  from twitter_openapi_python_generated.models.highlight import Highlight
118
104
  from twitter_openapi_python_generated.models.home_timeline_home import HomeTimelineHome
119
105
  from twitter_openapi_python_generated.models.home_timeline_response_data import HomeTimelineResponseData
@@ -149,14 +135,11 @@ from twitter_openapi_python_generated.models.note_tweet_result_media_inline_medi
149
135
  from twitter_openapi_python_generated.models.note_tweet_result_rich_text import NoteTweetResultRichText
150
136
  from twitter_openapi_python_generated.models.note_tweet_result_rich_text_tag import NoteTweetResultRichTextTag
151
137
  from twitter_openapi_python_generated.models.one_factor_login_eligibility import OneFactorLoginEligibility
152
- from twitter_openapi_python_generated.models.other_response import OtherResponse
153
- from twitter_openapi_python_generated.models.post_create_bookmark200_response import PostCreateBookmark200Response
138
+ from twitter_openapi_python_generated.models.other_object_all import OtherObjectAll
154
139
  from twitter_openapi_python_generated.models.post_create_bookmark_request import PostCreateBookmarkRequest
155
140
  from twitter_openapi_python_generated.models.post_create_bookmark_request_variables import PostCreateBookmarkRequestVariables
156
- from twitter_openapi_python_generated.models.post_create_retweet200_response import PostCreateRetweet200Response
157
141
  from twitter_openapi_python_generated.models.post_create_retweet_request import PostCreateRetweetRequest
158
142
  from twitter_openapi_python_generated.models.post_create_retweet_request_variables import PostCreateRetweetRequestVariables
159
- from twitter_openapi_python_generated.models.post_create_tweet200_response import PostCreateTweet200Response
160
143
  from twitter_openapi_python_generated.models.post_create_tweet_request import PostCreateTweetRequest
161
144
  from twitter_openapi_python_generated.models.post_create_tweet_request_features import PostCreateTweetRequestFeatures
162
145
  from twitter_openapi_python_generated.models.post_create_tweet_request_variables import PostCreateTweetRequestVariables
@@ -164,16 +147,11 @@ from twitter_openapi_python_generated.models.post_create_tweet_request_variables
164
147
  from twitter_openapi_python_generated.models.post_create_tweet_request_variables_media import PostCreateTweetRequestVariablesMedia
165
148
  from twitter_openapi_python_generated.models.post_create_tweet_request_variables_media_media_entities_inner import PostCreateTweetRequestVariablesMediaMediaEntitiesInner
166
149
  from twitter_openapi_python_generated.models.post_create_tweet_request_variables_reply import PostCreateTweetRequestVariablesReply
167
- from twitter_openapi_python_generated.models.post_delete_bookmark200_response import PostDeleteBookmark200Response
168
150
  from twitter_openapi_python_generated.models.post_delete_bookmark_request import PostDeleteBookmarkRequest
169
- from twitter_openapi_python_generated.models.post_delete_retweet200_response import PostDeleteRetweet200Response
170
151
  from twitter_openapi_python_generated.models.post_delete_retweet_request import PostDeleteRetweetRequest
171
152
  from twitter_openapi_python_generated.models.post_delete_retweet_request_variables import PostDeleteRetweetRequestVariables
172
- from twitter_openapi_python_generated.models.post_delete_tweet200_response import PostDeleteTweet200Response
173
153
  from twitter_openapi_python_generated.models.post_delete_tweet_request import PostDeleteTweetRequest
174
- from twitter_openapi_python_generated.models.post_favorite_tweet200_response import PostFavoriteTweet200Response
175
154
  from twitter_openapi_python_generated.models.post_favorite_tweet_request import PostFavoriteTweetRequest
176
- from twitter_openapi_python_generated.models.post_unfavorite_tweet200_response import PostUnfavoriteTweet200Response
177
155
  from twitter_openapi_python_generated.models.post_unfavorite_tweet_request import PostUnfavoriteTweetRequest
178
156
  from twitter_openapi_python_generated.models.primary_community_topic import PrimaryCommunityTopic
179
157
  from twitter_openapi_python_generated.models.profile_response import ProfileResponse
@@ -264,7 +242,7 @@ from twitter_openapi_python_generated.models.tweet_view import TweetView
264
242
  from twitter_openapi_python_generated.models.tweet_with_visibility_results import TweetWithVisibilityResults
265
243
  from twitter_openapi_python_generated.models.type_name import TypeName
266
244
  from twitter_openapi_python_generated.models.unfavorite_tweet import UnfavoriteTweet
267
- from twitter_openapi_python_generated.models.unfavorite_tweet_response_data import UnfavoriteTweetResponseData
245
+ from twitter_openapi_python_generated.models.unfavorite_tweet_response import UnfavoriteTweetResponse
268
246
  from twitter_openapi_python_generated.models.unified_card import UnifiedCard
269
247
  from twitter_openapi_python_generated.models.url import Url
270
248
  from twitter_openapi_python_generated.models.urt_endpoint_options import UrtEndpointOptions
@@ -40,8 +40,8 @@ class AuthorCommunityRelationship(BaseModel):
40
40
  if value is None:
41
41
  return value
42
42
 
43
- if value not in set(['Member', 'Moderator']):
44
- raise ValueError("must be one of enum values ('Member', 'Moderator')")
43
+ if value not in set(['Member', 'Moderator', 'Admin']):
44
+ raise ValueError("must be one of enum values ('Member', 'Moderator', 'Admin')")
45
45
  return value
46
46
 
47
47
  model_config = ConfigDict(
@@ -33,11 +33,11 @@ class BirdwatchPivot(BaseModel):
33
33
  """ # noqa: E501
34
34
  call_to_action: Optional[BirdwatchPivotCallToAction] = Field(default=None, alias="callToAction")
35
35
  destination_url: StrictStr = Field(alias="destinationUrl")
36
- footer: BirdwatchPivotFooter
36
+ footer: Optional[BirdwatchPivotFooter] = None
37
37
  icon_type: StrictStr = Field(alias="iconType")
38
- note: BirdwatchPivotNote
39
- shorttitle: StrictStr
40
- subtitle: BirdwatchPivotSubtitle
38
+ note: Optional[BirdwatchPivotNote] = None
39
+ shorttitle: Optional[StrictStr] = None
40
+ subtitle: Optional[BirdwatchPivotSubtitle] = None
41
41
  title: StrictStr
42
42
  visual_style: Optional[StrictStr] = Field(default=None, alias="visualStyle")
43
43
  __properties: ClassVar[List[str]] = ["callToAction", "destinationUrl", "footer", "iconType", "note", "shorttitle", "subtitle", "title", "visualStyle"]
@@ -55,8 +55,8 @@ class BirdwatchPivot(BaseModel):
55
55
  if value is None:
56
56
  return value
57
57
 
58
- if value not in set(['Default']):
59
- raise ValueError("must be one of enum values ('Default')")
58
+ if value not in set(['Default', 'Tentative']):
59
+ raise ValueError("must be one of enum values ('Default', 'Tentative')")
60
60
  return value
61
61
 
62
62
  model_config = ConfigDict(
@@ -19,8 +19,9 @@ import re # noqa: F401
19
19
  import json
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict
22
- from typing import Any, ClassVar, Dict, List
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
23
  from twitter_openapi_python_generated.models.bookmarks_response_data import BookmarksResponseData
24
+ from twitter_openapi_python_generated.models.error_response import ErrorResponse
24
25
  from typing import Optional, Set
25
26
  from typing_extensions import Self
26
27
 
@@ -28,8 +29,9 @@ class BookmarksResponse(BaseModel):
28
29
  """
29
30
  BookmarksResponse
30
31
  """ # noqa: E501
31
- data: BookmarksResponseData
32
- __properties: ClassVar[List[str]] = ["data"]
32
+ data: Optional[BookmarksResponseData] = None
33
+ errors: Optional[List[ErrorResponse]] = None
34
+ __properties: ClassVar[List[str]] = ["data", "errors"]
33
35
 
34
36
  model_config = ConfigDict(
35
37
  populate_by_name=True,
@@ -73,6 +75,13 @@ class BookmarksResponse(BaseModel):
73
75
  # override the default output from pydantic by calling `to_dict()` of data
74
76
  if self.data:
75
77
  _dict['data'] = self.data.to_dict()
78
+ # override the default output from pydantic by calling `to_dict()` of each item in errors (list)
79
+ _items = []
80
+ if self.errors:
81
+ for _item_errors in self.errors:
82
+ if _item_errors:
83
+ _items.append(_item_errors.to_dict())
84
+ _dict['errors'] = _items
76
85
  return _dict
77
86
 
78
87
  @classmethod
@@ -85,7 +94,8 @@ class BookmarksResponse(BaseModel):
85
94
  return cls.model_validate(obj)
86
95
 
87
96
  _obj = cls.model_validate({
88
- "data": BookmarksResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None
97
+ "data": BookmarksResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None,
98
+ "errors": [ErrorResponse.from_dict(_item) for _item in obj["errors"]] if obj.get("errors") is not None else None
89
99
  })
90
100
  return _obj
91
101
 
@@ -21,7 +21,7 @@ import json
21
21
  from pydantic import BaseModel, ConfigDict
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
23
  from twitter_openapi_python_generated.models.community_delete_action_result import CommunityDeleteActionResult
24
- from twitter_openapi_python_generated.models.community_join_action_result import CommunityJoinActionResult
24
+ from twitter_openapi_python_generated.models.community_join_action_union import CommunityJoinActionUnion
25
25
  from twitter_openapi_python_generated.models.community_leave_action_result import CommunityLeaveActionResult
26
26
  from twitter_openapi_python_generated.models.community_pin_action_result import CommunityPinActionResult
27
27
  from twitter_openapi_python_generated.models.community_unpin_action_result import CommunityUnpinActionResult
@@ -33,7 +33,7 @@ class CommunityActions(BaseModel):
33
33
  CommunityActions
34
34
  """ # noqa: E501
35
35
  delete_action_result: Optional[CommunityDeleteActionResult] = None
36
- join_action_result: Optional[CommunityJoinActionResult] = None
36
+ join_action_result: Optional[CommunityJoinActionUnion] = None
37
37
  leave_action_result: Optional[CommunityLeaveActionResult] = None
38
38
  pin_action_result: Optional[CommunityPinActionResult] = None
39
39
  unpin_action_result: Optional[CommunityUnpinActionResult] = None
@@ -106,7 +106,7 @@ class CommunityActions(BaseModel):
106
106
 
107
107
  _obj = cls.model_validate({
108
108
  "delete_action_result": CommunityDeleteActionResult.from_dict(obj["delete_action_result"]) if obj.get("delete_action_result") is not None else None,
109
- "join_action_result": CommunityJoinActionResult.from_dict(obj["join_action_result"]) if obj.get("join_action_result") is not None else None,
109
+ "join_action_result": CommunityJoinActionUnion.from_dict(obj["join_action_result"]) if obj.get("join_action_result") is not None else None,
110
110
  "leave_action_result": CommunityLeaveActionResult.from_dict(obj["leave_action_result"]) if obj.get("leave_action_result") is not None else None,
111
111
  "pin_action_result": CommunityPinActionResult.from_dict(obj["pin_action_result"]) if obj.get("pin_action_result") is not None else None,
112
112
  "unpin_action_result": CommunityUnpinActionResult.from_dict(obj["unpin_action_result"]) if obj.get("unpin_action_result") is not None else None
@@ -74,15 +74,15 @@ class CommunityData(BaseModel):
74
74
  @field_validator('invites_policy')
75
75
  def invites_policy_validate_enum(cls, value):
76
76
  """Validates the enum"""
77
- if value not in set(['MemberInvitesAllowed']):
78
- raise ValueError("must be one of enum values ('MemberInvitesAllowed')")
77
+ if value not in set(['MemberInvitesAllowed', 'ModeratorInvitesAllowed']):
78
+ raise ValueError("must be one of enum values ('MemberInvitesAllowed', 'ModeratorInvitesAllowed')")
79
79
  return value
80
80
 
81
81
  @field_validator('join_policy')
82
82
  def join_policy_validate_enum(cls, value):
83
83
  """Validates the enum"""
84
- if value not in set(['Open']):
85
- raise ValueError("must be one of enum values ('Open')")
84
+ if value not in set(['Open', 'RestrictedJoinRequestsRequireModeratorApproval']):
85
+ raise ValueError("must be one of enum values ('Open', 'RestrictedJoinRequestsRequireModeratorApproval')")
86
86
  return value
87
87
 
88
88
  @field_validator('role')