twitter-openapi-python-generated 0.0.28__py3-none-any.whl → 0.0.29__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 (22) hide show
  1. twitter_openapi_python_generated/__init__.py +6 -1
  2. twitter_openapi_python_generated/api_client.py +1 -1
  3. twitter_openapi_python_generated/configuration.py +1 -1
  4. twitter_openapi_python_generated/models/__init__.py +5 -0
  5. twitter_openapi_python_generated/models/content_item_type.py +1 -0
  6. twitter_openapi_python_generated/models/feedback_info.py +7 -1
  7. twitter_openapi_python_generated/models/item_content_union.py +27 -8
  8. twitter_openapi_python_generated/models/timeline_timeline_module.py +6 -2
  9. twitter_openapi_python_generated/models/timeline_tombstone.py +110 -0
  10. twitter_openapi_python_generated/models/tombstone_entity.py +96 -0
  11. twitter_openapi_python_generated/models/tombstone_info.py +94 -0
  12. twitter_openapi_python_generated/models/tombstone_ref.py +112 -0
  13. twitter_openapi_python_generated/models/tombstone_rich_text.py +100 -0
  14. twitter_openapi_python_generated/models/tweet.py +3 -1
  15. twitter_openapi_python_generated/models/type_name.py +1 -0
  16. twitter_openapi_python_generated/models/user.py +13 -1
  17. {twitter_openapi_python_generated-0.0.28.dist-info → twitter_openapi_python_generated-0.0.29.dist-info}/METADATA +1 -1
  18. {twitter_openapi_python_generated-0.0.28.dist-info → twitter_openapi_python_generated-0.0.29.dist-info}/RECORD +22 -17
  19. {twitter_openapi_python_generated-0.0.28.dist-info → twitter_openapi_python_generated-0.0.29.dist-info}/LICENSE +0 -0
  20. {twitter_openapi_python_generated-0.0.28.dist-info → twitter_openapi_python_generated-0.0.29.dist-info}/LICENSE.AGPL +0 -0
  21. {twitter_openapi_python_generated-0.0.28.dist-info → twitter_openapi_python_generated-0.0.29.dist-info}/WHEEL +0 -0
  22. {twitter_openapi_python_generated-0.0.28.dist-info → twitter_openapi_python_generated-0.0.29.dist-info}/top_level.txt +0 -0
@@ -15,7 +15,7 @@
15
15
  """ # noqa: E501
16
16
 
17
17
 
18
- __version__ = "0.0.28"
18
+ __version__ = "0.0.29"
19
19
 
20
20
  # import apis into sdk package
21
21
  from twitter_openapi_python_generated.api.default_api import DefaultApi
@@ -228,11 +228,16 @@ from twitter_openapi_python_generated.models.timeline_terminate_timeline import
228
228
  from twitter_openapi_python_generated.models.timeline_timeline_cursor import TimelineTimelineCursor
229
229
  from twitter_openapi_python_generated.models.timeline_timeline_item import TimelineTimelineItem
230
230
  from twitter_openapi_python_generated.models.timeline_timeline_module import TimelineTimelineModule
231
+ from twitter_openapi_python_generated.models.timeline_tombstone import TimelineTombstone
231
232
  from twitter_openapi_python_generated.models.timeline_topic_context import TimelineTopicContext
232
233
  from twitter_openapi_python_generated.models.timeline_tweet import TimelineTweet
233
234
  from twitter_openapi_python_generated.models.timeline_user import TimelineUser
234
235
  from twitter_openapi_python_generated.models.timeline_v2 import TimelineV2
235
236
  from twitter_openapi_python_generated.models.timestamp import Timestamp
237
+ from twitter_openapi_python_generated.models.tombstone_entity import TombstoneEntity
238
+ from twitter_openapi_python_generated.models.tombstone_info import TombstoneInfo
239
+ from twitter_openapi_python_generated.models.tombstone_ref import TombstoneRef
240
+ from twitter_openapi_python_generated.models.tombstone_rich_text import TombstoneRichText
236
241
  from twitter_openapi_python_generated.models.topic_context import TopicContext
237
242
  from twitter_openapi_python_generated.models.tracing import Tracing
238
243
  from twitter_openapi_python_generated.models.trend_results import TrendResults
@@ -91,7 +91,7 @@ class ApiClient:
91
91
  self.default_headers[header_name] = header_value
92
92
  self.cookie = cookie
93
93
  # Set default User-Agent.
94
- self.user_agent = 'OpenAPI-Generator/0.0.28/python'
94
+ self.user_agent = 'OpenAPI-Generator/0.0.29/python'
95
95
  self.client_side_validation = configuration.client_side_validation
96
96
 
97
97
  def __enter__(self):
@@ -743,7 +743,7 @@ conf = twitter_openapi_python_generated.Configuration(
743
743
  "OS: {env}\n"\
744
744
  "Python Version: {pyversion}\n"\
745
745
  "Version of the API: 0.0.1\n"\
746
- "SDK Package Version: 0.0.28".\
746
+ "SDK Package Version: 0.0.29".\
747
747
  format(env=sys.platform, pyversion=sys.version)
748
748
 
749
749
  def get_host_settings(self) -> List[HostSetting]:
@@ -202,11 +202,16 @@ from twitter_openapi_python_generated.models.timeline_terminate_timeline import
202
202
  from twitter_openapi_python_generated.models.timeline_timeline_cursor import TimelineTimelineCursor
203
203
  from twitter_openapi_python_generated.models.timeline_timeline_item import TimelineTimelineItem
204
204
  from twitter_openapi_python_generated.models.timeline_timeline_module import TimelineTimelineModule
205
+ from twitter_openapi_python_generated.models.timeline_tombstone import TimelineTombstone
205
206
  from twitter_openapi_python_generated.models.timeline_topic_context import TimelineTopicContext
206
207
  from twitter_openapi_python_generated.models.timeline_tweet import TimelineTweet
207
208
  from twitter_openapi_python_generated.models.timeline_user import TimelineUser
208
209
  from twitter_openapi_python_generated.models.timeline_v2 import TimelineV2
209
210
  from twitter_openapi_python_generated.models.timestamp import Timestamp
211
+ from twitter_openapi_python_generated.models.tombstone_entity import TombstoneEntity
212
+ from twitter_openapi_python_generated.models.tombstone_info import TombstoneInfo
213
+ from twitter_openapi_python_generated.models.tombstone_ref import TombstoneRef
214
+ from twitter_openapi_python_generated.models.tombstone_rich_text import TombstoneRichText
210
215
  from twitter_openapi_python_generated.models.topic_context import TopicContext
211
216
  from twitter_openapi_python_generated.models.tracing import Tracing
212
217
  from twitter_openapi_python_generated.models.trend_results import TrendResults
@@ -33,6 +33,7 @@ class ContentItemType(str, Enum):
33
33
  TIMELINEPROMPT = 'TimelinePrompt'
34
34
  TIMELINEMESSAGEPROMPT = 'TimelineMessagePrompt'
35
35
  TIMELINECOMMUNITY = 'TimelineCommunity'
36
+ TIMELINETOMBSTONE = 'TimelineTombstone'
36
37
 
37
38
  @classmethod
38
39
  def from_json(cls, json_str: str) -> Self:
@@ -20,6 +20,7 @@ import json
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
+ from twitter_openapi_python_generated.models.client_event_info import ClientEventInfo
23
24
  from typing import Optional, Set
24
25
  from typing_extensions import Self
25
26
 
@@ -27,8 +28,9 @@ class FeedbackInfo(BaseModel):
27
28
  """
28
29
  FeedbackInfo
29
30
  """ # noqa: E501
31
+ client_event_info: Optional[ClientEventInfo] = Field(default=None, alias="clientEventInfo")
30
32
  feedback_keys: Optional[List[StrictStr]] = Field(default=None, alias="feedbackKeys")
31
- __properties: ClassVar[List[str]] = ["feedbackKeys"]
33
+ __properties: ClassVar[List[str]] = ["clientEventInfo", "feedbackKeys"]
32
34
 
33
35
  model_config = ConfigDict(
34
36
  populate_by_name=True,
@@ -69,6 +71,9 @@ class FeedbackInfo(BaseModel):
69
71
  exclude=excluded_fields,
70
72
  exclude_none=True,
71
73
  )
74
+ # override the default output from pydantic by calling `to_dict()` of client_event_info
75
+ if self.client_event_info:
76
+ _dict['clientEventInfo'] = self.client_event_info.to_dict()
72
77
  return _dict
73
78
 
74
79
  @classmethod
@@ -81,6 +86,7 @@ class FeedbackInfo(BaseModel):
81
86
  return cls.model_validate(obj)
82
87
 
83
88
  _obj = cls.model_validate({
89
+ "clientEventInfo": ClientEventInfo.from_dict(obj["clientEventInfo"]) if obj.get("clientEventInfo") is not None else None,
84
90
  "feedbackKeys": obj.get("feedbackKeys")
85
91
  })
86
92
  return _obj
@@ -22,13 +22,14 @@ from twitter_openapi_python_generated.models.timeline_community import TimelineC
22
22
  from twitter_openapi_python_generated.models.timeline_message_prompt import TimelineMessagePrompt
23
23
  from twitter_openapi_python_generated.models.timeline_prompt import TimelinePrompt
24
24
  from twitter_openapi_python_generated.models.timeline_timeline_cursor import TimelineTimelineCursor
25
+ from twitter_openapi_python_generated.models.timeline_tombstone import TimelineTombstone
25
26
  from twitter_openapi_python_generated.models.timeline_tweet import TimelineTweet
26
27
  from twitter_openapi_python_generated.models.timeline_user import TimelineUser
27
28
  from pydantic import StrictStr, Field
28
29
  from typing import Union, List, Set, Optional, Dict
29
30
  from typing_extensions import Literal, Self
30
31
 
31
- ITEMCONTENTUNION_ONE_OF_SCHEMAS = ["TimelineCommunity", "TimelineMessagePrompt", "TimelinePrompt", "TimelineTimelineCursor", "TimelineTweet", "TimelineUser"]
32
+ ITEMCONTENTUNION_ONE_OF_SCHEMAS = ["TimelineCommunity", "TimelineMessagePrompt", "TimelinePrompt", "TimelineTimelineCursor", "TimelineTombstone", "TimelineTweet", "TimelineUser"]
32
33
 
33
34
  class ItemContentUnion(BaseModel):
34
35
  """
@@ -46,8 +47,10 @@ class ItemContentUnion(BaseModel):
46
47
  oneof_schema_5_validator: Optional[TimelineMessagePrompt] = None
47
48
  # data type: TimelineCommunity
48
49
  oneof_schema_6_validator: Optional[TimelineCommunity] = None
49
- actual_instance: Optional[Union[TimelineCommunity, TimelineMessagePrompt, TimelinePrompt, TimelineTimelineCursor, TimelineTweet, TimelineUser]] = None
50
- one_of_schemas: Set[str] = { "TimelineCommunity", "TimelineMessagePrompt", "TimelinePrompt", "TimelineTimelineCursor", "TimelineTweet", "TimelineUser" }
50
+ # data type: TimelineTombstone
51
+ oneof_schema_7_validator: Optional[TimelineTombstone] = None
52
+ actual_instance: Optional[Union[TimelineCommunity, TimelineMessagePrompt, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTweet, TimelineUser]] = None
53
+ one_of_schemas: Set[str] = { "TimelineCommunity", "TimelineMessagePrompt", "TimelinePrompt", "TimelineTimelineCursor", "TimelineTombstone", "TimelineTweet", "TimelineUser" }
51
54
 
52
55
  model_config = ConfigDict(
53
56
  validate_assignment=True,
@@ -103,12 +106,17 @@ class ItemContentUnion(BaseModel):
103
106
  error_messages.append(f"Error! Input type `{type(v)}` is not `TimelineCommunity`")
104
107
  else:
105
108
  match += 1
109
+ # validate data type: TimelineTombstone
110
+ if not isinstance(v, TimelineTombstone):
111
+ error_messages.append(f"Error! Input type `{type(v)}` is not `TimelineTombstone`")
112
+ else:
113
+ match += 1
106
114
  if match > 1:
107
115
  # more than 1 match
108
- raise ValueError("Multiple matches found when setting `actual_instance` in ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineMessagePrompt, TimelinePrompt, TimelineTimelineCursor, TimelineTweet, TimelineUser. Details: " + ", ".join(error_messages))
116
+ raise ValueError("Multiple matches found when setting `actual_instance` in ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineMessagePrompt, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTweet, TimelineUser. Details: " + ", ".join(error_messages))
109
117
  elif match == 0:
110
118
  # no match
111
- raise ValueError("No match found when setting `actual_instance` in ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineMessagePrompt, TimelinePrompt, TimelineTimelineCursor, TimelineTweet, TimelineUser. Details: " + ", ".join(error_messages))
119
+ raise ValueError("No match found when setting `actual_instance` in ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineMessagePrompt, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTweet, TimelineUser. Details: " + ", ".join(error_messages))
112
120
  else:
113
121
  return v
114
122
 
@@ -148,6 +156,11 @@ class ItemContentUnion(BaseModel):
148
156
  instance.actual_instance = TimelineTimelineCursor.from_json(json_str)
149
157
  return instance
150
158
 
159
+ # check if data type is `TimelineTombstone`
160
+ if _data_type == "TimelineTombstone":
161
+ instance.actual_instance = TimelineTombstone.from_json(json_str)
162
+ return instance
163
+
151
164
  # check if data type is `TimelineTweet`
152
165
  if _data_type == "TimelineTweet":
153
166
  instance.actual_instance = TimelineTweet.from_json(json_str)
@@ -194,13 +207,19 @@ class ItemContentUnion(BaseModel):
194
207
  match += 1
195
208
  except (ValidationError, ValueError) as e:
196
209
  error_messages.append(str(e))
210
+ # deserialize data into TimelineTombstone
211
+ try:
212
+ instance.actual_instance = TimelineTombstone.from_json(json_str)
213
+ match += 1
214
+ except (ValidationError, ValueError) as e:
215
+ error_messages.append(str(e))
197
216
 
198
217
  if match > 1:
199
218
  # more than 1 match
200
- raise ValueError("Multiple matches found when deserializing the JSON string into ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineMessagePrompt, TimelinePrompt, TimelineTimelineCursor, TimelineTweet, TimelineUser. Details: " + ", ".join(error_messages))
219
+ raise ValueError("Multiple matches found when deserializing the JSON string into ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineMessagePrompt, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTweet, TimelineUser. Details: " + ", ".join(error_messages))
201
220
  elif match == 0:
202
221
  # no match
203
- raise ValueError("No match found when deserializing the JSON string into ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineMessagePrompt, TimelinePrompt, TimelineTimelineCursor, TimelineTweet, TimelineUser. Details: " + ", ".join(error_messages))
222
+ raise ValueError("No match found when deserializing the JSON string into ItemContentUnion with oneOf schemas: TimelineCommunity, TimelineMessagePrompt, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTweet, TimelineUser. Details: " + ", ".join(error_messages))
204
223
  else:
205
224
  return instance
206
225
 
@@ -214,7 +233,7 @@ class ItemContentUnion(BaseModel):
214
233
  else:
215
234
  return json.dumps(self.actual_instance)
216
235
 
217
- def to_dict(self) -> Optional[Union[Dict[str, Any], TimelineCommunity, TimelineMessagePrompt, TimelinePrompt, TimelineTimelineCursor, TimelineTweet, TimelineUser]]:
236
+ def to_dict(self) -> Optional[Union[Dict[str, Any], TimelineCommunity, TimelineMessagePrompt, TimelinePrompt, TimelineTimelineCursor, TimelineTombstone, TimelineTweet, TimelineUser]]:
218
237
  """Returns the dict representation of the actual instance"""
219
238
  if self.actual_instance is None:
220
239
  return None
@@ -20,6 +20,7 @@ import json
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
+ from twitter_openapi_python_generated.models.client_event_info import ClientEventInfo
23
24
  from twitter_openapi_python_generated.models.content_entry_type import ContentEntryType
24
25
  from twitter_openapi_python_generated.models.display_type import DisplayType
25
26
  from twitter_openapi_python_generated.models.feedback_info import FeedbackInfo
@@ -32,7 +33,7 @@ class TimelineTimelineModule(BaseModel):
32
33
  TimelineTimelineModule
33
34
  """ # noqa: E501
34
35
  typename: StrictStr = Field(alias="__typename")
35
- client_event_info: Dict[str, Any] = Field(alias="clientEventInfo")
36
+ client_event_info: ClientEventInfo = Field(alias="clientEventInfo")
36
37
  display_type: DisplayType = Field(alias="displayType")
37
38
  entry_type: ContentEntryType = Field(alias="entryType")
38
39
  feedback_info: Optional[FeedbackInfo] = Field(default=None, alias="feedbackInfo")
@@ -81,6 +82,9 @@ class TimelineTimelineModule(BaseModel):
81
82
  exclude=excluded_fields,
82
83
  exclude_none=True,
83
84
  )
85
+ # override the default output from pydantic by calling `to_dict()` of client_event_info
86
+ if self.client_event_info:
87
+ _dict['clientEventInfo'] = self.client_event_info.to_dict()
84
88
  # override the default output from pydantic by calling `to_dict()` of feedback_info
85
89
  if self.feedback_info:
86
90
  _dict['feedbackInfo'] = self.feedback_info.to_dict()
@@ -104,7 +108,7 @@ class TimelineTimelineModule(BaseModel):
104
108
 
105
109
  _obj = cls.model_validate({
106
110
  "__typename": obj.get("__typename"),
107
- "clientEventInfo": obj.get("clientEventInfo"),
111
+ "clientEventInfo": ClientEventInfo.from_dict(obj["clientEventInfo"]) if obj.get("clientEventInfo") is not None else None,
108
112
  "displayType": obj.get("displayType"),
109
113
  "entryType": obj.get("entryType"),
110
114
  "feedbackInfo": FeedbackInfo.from_dict(obj["feedbackInfo"]) if obj.get("feedbackInfo") is not None else None,
@@ -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, ConfigDict, Field, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from twitter_openapi_python_generated.models.content_item_type import ContentItemType
24
+ from twitter_openapi_python_generated.models.tombstone_info import TombstoneInfo
25
+ from twitter_openapi_python_generated.models.type_name import TypeName
26
+ from typing import Optional, Set
27
+ from typing_extensions import Self
28
+
29
+ class TimelineTombstone(BaseModel):
30
+ """
31
+ TimelineTombstone
32
+ """ # noqa: E501
33
+ typename: Optional[TypeName] = Field(default=None, alias="__typename")
34
+ item_type: Optional[ContentItemType] = Field(default=None, alias="itemType")
35
+ tombstone_display_type: Optional[StrictStr] = Field(default=None, alias="tombstoneDisplayType")
36
+ tombstone_info: Optional[TombstoneInfo] = Field(default=None, alias="tombstoneInfo")
37
+ __properties: ClassVar[List[str]] = ["__typename", "itemType", "tombstoneDisplayType", "tombstoneInfo"]
38
+
39
+ @field_validator('tombstone_display_type')
40
+ def tombstone_display_type_validate_enum(cls, value):
41
+ """Validates the enum"""
42
+ if value is None:
43
+ return value
44
+
45
+ if value not in set(['Inline']):
46
+ raise ValueError("must be one of enum values ('Inline')")
47
+ return value
48
+
49
+ model_config = ConfigDict(
50
+ populate_by_name=True,
51
+ validate_assignment=True,
52
+ protected_namespaces=(),
53
+ )
54
+
55
+
56
+ def to_str(self) -> str:
57
+ """Returns the string representation of the model using alias"""
58
+ return pprint.pformat(self.model_dump(by_alias=True))
59
+
60
+ def to_json(self) -> str:
61
+ """Returns the JSON representation of the model using alias"""
62
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
63
+ return json.dumps(self.to_dict())
64
+
65
+ @classmethod
66
+ def from_json(cls, json_str: str) -> Optional[Self]:
67
+ """Create an instance of TimelineTombstone from a JSON string"""
68
+ return cls.from_dict(json.loads(json_str))
69
+
70
+ def to_dict(self) -> Dict[str, Any]:
71
+ """Return the dictionary representation of the model using alias.
72
+
73
+ This has the following differences from calling pydantic's
74
+ `self.model_dump(by_alias=True)`:
75
+
76
+ * `None` is only added to the output dict for nullable fields that
77
+ were set at model initialization. Other fields with value `None`
78
+ are ignored.
79
+ """
80
+ excluded_fields: Set[str] = set([
81
+ ])
82
+
83
+ _dict = self.model_dump(
84
+ by_alias=True,
85
+ exclude=excluded_fields,
86
+ exclude_none=True,
87
+ )
88
+ # override the default output from pydantic by calling `to_dict()` of tombstone_info
89
+ if self.tombstone_info:
90
+ _dict['tombstoneInfo'] = self.tombstone_info.to_dict()
91
+ return _dict
92
+
93
+ @classmethod
94
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
95
+ """Create an instance of TimelineTombstone from a dict"""
96
+ if obj is None:
97
+ return None
98
+
99
+ if not isinstance(obj, dict):
100
+ return cls.model_validate(obj)
101
+
102
+ _obj = cls.model_validate({
103
+ "__typename": obj.get("__typename"),
104
+ "itemType": obj.get("itemType"),
105
+ "tombstoneDisplayType": obj.get("tombstoneDisplayType"),
106
+ "tombstoneInfo": TombstoneInfo.from_dict(obj["tombstoneInfo"]) if obj.get("tombstoneInfo") is not None else None
107
+ })
108
+ return _obj
109
+
110
+
@@ -0,0 +1,96 @@
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, ConfigDict, Field, StrictInt
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from twitter_openapi_python_generated.models.tombstone_ref import TombstoneRef
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class TombstoneEntity(BaseModel):
28
+ """
29
+ TombstoneEntity
30
+ """ # noqa: E501
31
+ from_index: Optional[StrictInt] = Field(default=None, alias="fromIndex")
32
+ ref: Optional[TombstoneRef] = None
33
+ to_index: Optional[StrictInt] = Field(default=None, alias="toIndex")
34
+ __properties: ClassVar[List[str]] = ["fromIndex", "ref", "toIndex"]
35
+
36
+ model_config = ConfigDict(
37
+ populate_by_name=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
+ return json.dumps(self.to_dict())
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
+ """Create an instance of TombstoneEntity from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self) -> Dict[str, Any]:
58
+ """Return the dictionary representation of the model using alias.
59
+
60
+ This has the following differences from calling pydantic's
61
+ `self.model_dump(by_alias=True)`:
62
+
63
+ * `None` is only added to the output dict for nullable fields that
64
+ were set at model initialization. Other fields with value `None`
65
+ are ignored.
66
+ """
67
+ excluded_fields: Set[str] = set([
68
+ ])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ # override the default output from pydantic by calling `to_dict()` of ref
76
+ if self.ref:
77
+ _dict['ref'] = self.ref.to_dict()
78
+ return _dict
79
+
80
+ @classmethod
81
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
82
+ """Create an instance of TombstoneEntity from a dict"""
83
+ if obj is None:
84
+ return None
85
+
86
+ if not isinstance(obj, dict):
87
+ return cls.model_validate(obj)
88
+
89
+ _obj = cls.model_validate({
90
+ "fromIndex": obj.get("fromIndex"),
91
+ "ref": TombstoneRef.from_dict(obj["ref"]) if obj.get("ref") is not None else None,
92
+ "toIndex": obj.get("toIndex")
93
+ })
94
+ return _obj
95
+
96
+
@@ -0,0 +1,94 @@
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, ConfigDict, Field, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from twitter_openapi_python_generated.models.tombstone_rich_text import TombstoneRichText
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class TombstoneInfo(BaseModel):
28
+ """
29
+ TombstoneInfo
30
+ """ # noqa: E501
31
+ rich_text: Optional[TombstoneRichText] = Field(default=None, alias="richText")
32
+ text: Optional[StrictStr] = None
33
+ __properties: ClassVar[List[str]] = ["richText", "text"]
34
+
35
+ model_config = ConfigDict(
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 TombstoneInfo 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
+ # override the default output from pydantic by calling `to_dict()` of rich_text
75
+ if self.rich_text:
76
+ _dict['richText'] = self.rich_text.to_dict()
77
+ return _dict
78
+
79
+ @classmethod
80
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
+ """Create an instance of TombstoneInfo from a dict"""
82
+ if obj is None:
83
+ return None
84
+
85
+ if not isinstance(obj, dict):
86
+ return cls.model_validate(obj)
87
+
88
+ _obj = cls.model_validate({
89
+ "richText": TombstoneRichText.from_dict(obj["richText"]) if obj.get("richText") is not None else None,
90
+ "text": obj.get("text")
91
+ })
92
+ return _obj
93
+
94
+
@@ -0,0 +1,112 @@
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, ConfigDict, Field, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class TombstoneRef(BaseModel):
27
+ """
28
+ TombstoneRef
29
+ """ # noqa: E501
30
+ type: Optional[StrictStr] = None
31
+ url: Optional[StrictStr] = None
32
+ url_type: Optional[StrictStr] = Field(default=None, alias="urlType")
33
+ __properties: ClassVar[List[str]] = ["type", "url", "urlType"]
34
+
35
+ @field_validator('type')
36
+ def type_validate_enum(cls, value):
37
+ """Validates the enum"""
38
+ if value is None:
39
+ return value
40
+
41
+ if value not in set(['TimelineUrl']):
42
+ raise ValueError("must be one of enum values ('TimelineUrl')")
43
+ return value
44
+
45
+ @field_validator('url_type')
46
+ def url_type_validate_enum(cls, value):
47
+ """Validates the enum"""
48
+ if value is None:
49
+ return value
50
+
51
+ if value not in set(['ExternalUrl']):
52
+ raise ValueError("must be one of enum values ('ExternalUrl')")
53
+ return value
54
+
55
+ model_config = ConfigDict(
56
+ populate_by_name=True,
57
+ validate_assignment=True,
58
+ protected_namespaces=(),
59
+ )
60
+
61
+
62
+ def to_str(self) -> str:
63
+ """Returns the string representation of the model using alias"""
64
+ return pprint.pformat(self.model_dump(by_alias=True))
65
+
66
+ def to_json(self) -> str:
67
+ """Returns the JSON representation of the model using alias"""
68
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
69
+ return json.dumps(self.to_dict())
70
+
71
+ @classmethod
72
+ def from_json(cls, json_str: str) -> Optional[Self]:
73
+ """Create an instance of TombstoneRef from a JSON string"""
74
+ return cls.from_dict(json.loads(json_str))
75
+
76
+ def to_dict(self) -> Dict[str, Any]:
77
+ """Return the dictionary representation of the model using alias.
78
+
79
+ This has the following differences from calling pydantic's
80
+ `self.model_dump(by_alias=True)`:
81
+
82
+ * `None` is only added to the output dict for nullable fields that
83
+ were set at model initialization. Other fields with value `None`
84
+ are ignored.
85
+ """
86
+ excluded_fields: Set[str] = set([
87
+ ])
88
+
89
+ _dict = self.model_dump(
90
+ by_alias=True,
91
+ exclude=excluded_fields,
92
+ exclude_none=True,
93
+ )
94
+ return _dict
95
+
96
+ @classmethod
97
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
98
+ """Create an instance of TombstoneRef from a dict"""
99
+ if obj is None:
100
+ return None
101
+
102
+ if not isinstance(obj, dict):
103
+ return cls.model_validate(obj)
104
+
105
+ _obj = cls.model_validate({
106
+ "type": obj.get("type"),
107
+ "url": obj.get("url"),
108
+ "urlType": obj.get("urlType")
109
+ })
110
+ return _obj
111
+
112
+
@@ -0,0 +1,100 @@
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, ConfigDict, StrictBool, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from twitter_openapi_python_generated.models.tombstone_entity import TombstoneEntity
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class TombstoneRichText(BaseModel):
28
+ """
29
+ TombstoneRichText
30
+ """ # noqa: E501
31
+ entities: Optional[List[TombstoneEntity]] = None
32
+ rtl: Optional[StrictBool] = None
33
+ text: Optional[StrictStr] = None
34
+ __properties: ClassVar[List[str]] = ["entities", "rtl", "text"]
35
+
36
+ model_config = ConfigDict(
37
+ populate_by_name=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
+ return json.dumps(self.to_dict())
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
+ """Create an instance of TombstoneRichText from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self) -> Dict[str, Any]:
58
+ """Return the dictionary representation of the model using alias.
59
+
60
+ This has the following differences from calling pydantic's
61
+ `self.model_dump(by_alias=True)`:
62
+
63
+ * `None` is only added to the output dict for nullable fields that
64
+ were set at model initialization. Other fields with value `None`
65
+ are ignored.
66
+ """
67
+ excluded_fields: Set[str] = set([
68
+ ])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ # override the default output from pydantic by calling `to_dict()` of each item in entities (list)
76
+ _items = []
77
+ if self.entities:
78
+ for _item_entities in self.entities:
79
+ if _item_entities:
80
+ _items.append(_item_entities.to_dict())
81
+ _dict['entities'] = _items
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of TombstoneRichText from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate({
94
+ "entities": [TombstoneEntity.from_dict(_item) for _item in obj["entities"]] if obj.get("entities") is not None else None,
95
+ "rtl": obj.get("rtl"),
96
+ "text": obj.get("text")
97
+ })
98
+ return _obj
99
+
100
+
@@ -55,6 +55,7 @@ class Tweet(BaseModel):
55
55
  core: Optional[UserResultCore] = None
56
56
  edit_control: Optional[TweetEditControl] = None
57
57
  edit_prespective: Optional[TweetEditPrespective] = None
58
+ grok_analysis_button: Optional[StrictBool] = None
58
59
  grok_analysis_followups: Optional[List[StrictStr]] = None
59
60
  grok_share_attachment: Optional[GrokShareAttachment] = None
60
61
  has_birdwatch_notes: Optional[StrictBool] = None
@@ -72,7 +73,7 @@ class Tweet(BaseModel):
72
73
  unified_card: Optional[UnifiedCard] = None
73
74
  unmention_data: Optional[Dict[str, Any]] = None
74
75
  views: Optional[TweetView] = None
75
- __properties: ClassVar[List[str]] = ["__typename", "article", "author_community_relationship", "birdwatch_pivot", "card", "community_relationship", "community_results", "core", "edit_control", "edit_prespective", "grok_analysis_followups", "grok_share_attachment", "has_birdwatch_notes", "is_translatable", "legacy", "note_tweet", "previous_counts", "quick_promote_eligibility", "quotedRefResult", "quoted_status_result", "rest_id", "source", "superFollowsReplyUserResult", "trend_results", "unified_card", "unmention_data", "views"]
76
+ __properties: ClassVar[List[str]] = ["__typename", "article", "author_community_relationship", "birdwatch_pivot", "card", "community_relationship", "community_results", "core", "edit_control", "edit_prespective", "grok_analysis_button", "grok_analysis_followups", "grok_share_attachment", "has_birdwatch_notes", "is_translatable", "legacy", "note_tweet", "previous_counts", "quick_promote_eligibility", "quotedRefResult", "quoted_status_result", "rest_id", "source", "superFollowsReplyUserResult", "trend_results", "unified_card", "unmention_data", "views"]
76
77
 
77
78
  @field_validator('rest_id')
78
79
  def rest_id_validate_regular_expression(cls, value):
@@ -199,6 +200,7 @@ class Tweet(BaseModel):
199
200
  "core": UserResultCore.from_dict(obj["core"]) if obj.get("core") is not None else None,
200
201
  "edit_control": TweetEditControl.from_dict(obj["edit_control"]) if obj.get("edit_control") is not None else None,
201
202
  "edit_prespective": TweetEditPrespective.from_dict(obj["edit_prespective"]) if obj.get("edit_prespective") is not None else None,
203
+ "grok_analysis_button": obj.get("grok_analysis_button"),
202
204
  "grok_analysis_followups": obj.get("grok_analysis_followups"),
203
205
  "grok_share_attachment": GrokShareAttachment.from_dict(obj["grok_share_attachment"]) if obj.get("grok_share_attachment") is not None else None,
204
206
  "has_birdwatch_notes": obj.get("has_birdwatch_notes"),
@@ -38,6 +38,7 @@ class TypeName(str, Enum):
38
38
  TIMELINEPROMPT = 'TimelinePrompt'
39
39
  TIMELINEMESSAGEPROMPT = 'TimelineMessagePrompt'
40
40
  TIMELINECOMMUNITY = 'TimelineCommunity'
41
+ TIMELINETOMBSTONE = 'TimelineTombstone'
41
42
  TWEETUNAVAILABLE = 'TweetUnavailable'
42
43
  TWEETPREVIEWDISPLAY = 'TweetPreviewDisplay'
43
44
  TWEET = 'Tweet'
@@ -49,6 +49,7 @@ class User(BaseModel):
49
49
  is_profile_translatable: Optional[StrictBool] = None
50
50
  legacy: UserLegacy
51
51
  legacy_extended_profile: Optional[UserLegacyExtendedProfile] = None
52
+ parody_commentary_fan_label: Optional[StrictStr] = None
52
53
  premium_gifting_eligible: Optional[StrictBool] = None
53
54
  professional: Optional[UserProfessional] = None
54
55
  profile_image_shape: StrictStr
@@ -59,7 +60,7 @@ class User(BaseModel):
59
60
  tipjar_settings: Optional[UserTipJarSettings] = None
60
61
  user_seed_tweet_count: Optional[StrictInt] = None
61
62
  verification_info: Optional[UserVerificationInfo] = None
62
- __properties: ClassVar[List[str]] = ["__typename", "affiliates_highlighted_label", "business_account", "creator_subscriptions_count", "has_graduated_access", "has_hidden_likes_on_profile", "has_hidden_subscriptions_on_profile", "has_nft_avatar", "highlights_info", "id", "is_blue_verified", "is_profile_translatable", "legacy", "legacy_extended_profile", "premium_gifting_eligible", "professional", "profile_image_shape", "rest_id", "super_follow_eligible", "super_followed_by", "super_following", "tipjar_settings", "user_seed_tweet_count", "verification_info"]
63
+ __properties: ClassVar[List[str]] = ["__typename", "affiliates_highlighted_label", "business_account", "creator_subscriptions_count", "has_graduated_access", "has_hidden_likes_on_profile", "has_hidden_subscriptions_on_profile", "has_nft_avatar", "highlights_info", "id", "is_blue_verified", "is_profile_translatable", "legacy", "legacy_extended_profile", "parody_commentary_fan_label", "premium_gifting_eligible", "professional", "profile_image_shape", "rest_id", "super_follow_eligible", "super_followed_by", "super_following", "tipjar_settings", "user_seed_tweet_count", "verification_info"]
63
64
 
64
65
  @field_validator('id')
65
66
  def id_validate_regular_expression(cls, value):
@@ -68,6 +69,16 @@ class User(BaseModel):
68
69
  raise ValueError(r"must validate the regular expression /^([A-Za-z0-9+\/]{4})*([A-Za-z0-9+\/]{3}=|[A-Za-z0-9+\/]{2}==)?$/")
69
70
  return value
70
71
 
72
+ @field_validator('parody_commentary_fan_label')
73
+ def parody_commentary_fan_label_validate_enum(cls, value):
74
+ """Validates the enum"""
75
+ if value is None:
76
+ return value
77
+
78
+ if value not in set(['None', 'Parody']):
79
+ raise ValueError("must be one of enum values ('None', 'Parody')")
80
+ return value
81
+
71
82
  @field_validator('profile_image_shape')
72
83
  def profile_image_shape_validate_enum(cls, value):
73
84
  """Validates the enum"""
@@ -165,6 +176,7 @@ class User(BaseModel):
165
176
  "is_profile_translatable": obj.get("is_profile_translatable"),
166
177
  "legacy": UserLegacy.from_dict(obj["legacy"]) if obj.get("legacy") is not None else None,
167
178
  "legacy_extended_profile": UserLegacyExtendedProfile.from_dict(obj["legacy_extended_profile"]) if obj.get("legacy_extended_profile") is not None else None,
179
+ "parody_commentary_fan_label": obj.get("parody_commentary_fan_label"),
168
180
  "premium_gifting_eligible": obj.get("premium_gifting_eligible"),
169
181
  "professional": UserProfessional.from_dict(obj["professional"]) if obj.get("professional") is not None else None,
170
182
  "profile_image_shape": obj.get("profile_image_shape"),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: twitter_openapi_python_generated
3
- Version: 0.0.28
3
+ Version: 0.0.29
4
4
  Summary: Twitter OpenAPI
5
5
  Home-page: https://github.com/fa0311/twitter_openapi_python_generated
6
6
  Author: OpenAPI Generator community
@@ -1,7 +1,7 @@
1
- twitter_openapi_python_generated/__init__.py,sha256=ajfgofTvhFSENA-acdUVlAt0JXFhulk-SEp0hsklNxo,28252
2
- twitter_openapi_python_generated/api_client.py,sha256=M3q6Sb4onANhHIqFFJfHK7U3vXZNh56FiIp-_Sopq_o,27547
1
+ twitter_openapi_python_generated/__init__.py,sha256=1hnBGnXtvqv-iTau7SyTu2q4Nf7BhBNWeaweLtCAwq4,28676
2
+ twitter_openapi_python_generated/api_client.py,sha256=KQVWZQCuUyh9Yw1ZcSBrv4eXDcZCu7wNeIgzgzJnWK0,27547
3
3
  twitter_openapi_python_generated/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- twitter_openapi_python_generated/configuration.py,sha256=BDn9d7_ZPCe8zoQn0BSuuYjHjjsb3AiVMraHR3pdqi0,26326
4
+ twitter_openapi_python_generated/configuration.py,sha256=x0POmCGPY6KQK0Ek7jZl35AdSKyeP69Ii3_gZz_OMO0,26326
5
5
  twitter_openapi_python_generated/exceptions.py,sha256=OsisMZb6wF9a6soxi_1fAHu8I7tykw9fx7fVMIFrl2M,5943
6
6
  twitter_openapi_python_generated/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  twitter_openapi_python_generated/rest.py,sha256=fCm6_WrjfDKpGmoazSWm8kHl8A9yzqRowc5Y7d-3g-s,9401
@@ -16,7 +16,7 @@ twitter_openapi_python_generated/api/users_api.py,sha256=1Lgak85kiJqJ1sFk03t30YL
16
16
  twitter_openapi_python_generated/api/v11_get_api.py,sha256=LMKp0PG25uqh0DiWGmEqLO1Z1YErULD3owMQ8Ar3sYc,36383
17
17
  twitter_openapi_python_generated/api/v11_post_api.py,sha256=eaLcUbGVYo4yIORhC1sgh6VYkL13LnoXQm-vm3dmF20,41451
18
18
  twitter_openapi_python_generated/api/v20_get_api.py,sha256=2gpI9ibES4pP8SS3H-qtZSQKq56ekCd4BonRoOqKzAE,37233
19
- twitter_openapi_python_generated/models/__init__.py,sha256=S23DzSGkQS4niYyacwp3wVfuoE_GLYs_EIzm0vp8aZM,26847
19
+ twitter_openapi_python_generated/models/__init__.py,sha256=u9zXibsHxdSkXaZOaAJjF9PT_H629sqFRtZEn9A6uLc,27271
20
20
  twitter_openapi_python_generated/models/additional_media_info.py,sha256=F4YvWBr_lzTf8-oPx61hHyohAOmR5dzR_qld-sKTyJM,3828
21
21
  twitter_openapi_python_generated/models/additional_media_info_call_to_actions.py,sha256=CzURdzKmFNQ-QCFamn3CT1KXymaWLoNzQqXH91XIobM,3368
22
22
  twitter_openapi_python_generated/models/additional_media_info_call_to_actions_url.py,sha256=7PrKZ33xUc-NOdxSZYeEKuFLEYCuYxJnaIpTaOmj3v4,2523
@@ -62,7 +62,7 @@ twitter_openapi_python_generated/models/community_unpin_action_result.py,sha256=
62
62
  twitter_openapi_python_generated/models/community_urls.py,sha256=0travsjYSzfokWzYT1O6LNKyHdItpCNTkCrMyfaJBTs,2810
63
63
  twitter_openapi_python_generated/models/community_urls_permalink.py,sha256=KiaxKgbW8PSUvQ6z4ryKRZnR-I5mpGnAgcu8hqX0-Z8,2471
64
64
  twitter_openapi_python_generated/models/content_entry_type.py,sha256=LuazaWj-pt8RdYaHSBSgl1KQskDtaP5V07kcjyTQoSA,846
65
- twitter_openapi_python_generated/models/content_item_type.py,sha256=JQS-2GL6vkRCW1VCogHBksVr34IuuPDQE9j3VxvwUSM,943
65
+ twitter_openapi_python_generated/models/content_item_type.py,sha256=_cmV0ov0DzQPfXJBZktHQScMVBk5jzXrEJEEHbwcna8,987
66
66
  twitter_openapi_python_generated/models/content_union.py,sha256=mi1SNiFboqWIFaZQRu2hYvGETJuwgQKQEi2i-pgcvlM,7419
67
67
  twitter_openapi_python_generated/models/conversation_control.py,sha256=xsVayXP5dzOOw4W9uOrXvPAD0A-CmRxsf1j80Aawmvk,2777
68
68
  twitter_openapi_python_generated/models/cover_cta.py,sha256=k5tq5PXRaoauMOupFn9uCCNOTFMBb9aHh2Gbo_Xboys,4558
@@ -96,7 +96,7 @@ twitter_openapi_python_generated/models/ext_media_availability.py,sha256=xUEYoUq
96
96
  twitter_openapi_python_generated/models/extended_entities.py,sha256=WHVw6eiJm8Ct-k2whBXHWgWIFXqjCBe2GmWNUm3ixK0,2934
97
97
  twitter_openapi_python_generated/models/favorite_tweet.py,sha256=OEgenABEi2SFtAm77f1aBb1mIv2jEosYCWIye-5sCXE,2506
98
98
  twitter_openapi_python_generated/models/favorite_tweet_response.py,sha256=AUq2WOeh3X5lD6qm2ef_r1nq69aW-RqVA5cV9Nox_a0,3358
99
- twitter_openapi_python_generated/models/feedback_info.py,sha256=y5zqUPui9ySeiksRk3d4V_J-JglWNeKCswwIUi-ujcM,2545
99
+ twitter_openapi_python_generated/models/feedback_info.py,sha256=hq5xij4j049CrkH60JTnSXp8pL5hvEWfgi0t76WAs94,3083
100
100
  twitter_openapi_python_generated/models/follow_response.py,sha256=X4cyjAb3WO2pVdgdeVLWjLwrYdMyyMRkc3rRyL1w8VU,3351
101
101
  twitter_openapi_python_generated/models/follow_response_data.py,sha256=krs2WNgDywzalK-vJf5U5uqdgArE1XwI9RXH-wrzmqA,2796
102
102
  twitter_openapi_python_generated/models/follow_response_result.py,sha256=sHCxOgJda58Pa0lJBM6s_rMkPJ1Dw-QdHErBGLq6Tms,2988
@@ -109,7 +109,7 @@ twitter_openapi_python_generated/models/home_timeline_home.py,sha256=CgGGHrEXo-N
109
109
  twitter_openapi_python_generated/models/home_timeline_response_data.py,sha256=9g0PantOvcqM2lxHUru80uBkRESOfrji2B51erB8UJ8,2812
110
110
  twitter_openapi_python_generated/models/instruction_type.py,sha256=yHqW19Qi5vTZTcsQ8ZAH-mspICe6j4Y1r4tfZunH0c8,1065
111
111
  twitter_openapi_python_generated/models/instruction_union.py,sha256=JQqqWrBGr8DYR_i20EeNSd9oYslgNluP75tcJ0nE_sA,12637
112
- twitter_openapi_python_generated/models/item_content_union.py,sha256=ydIen7sX8lgTppoDeczyyivNfErTfauQt08fSjDhKhs,10234
112
+ twitter_openapi_python_generated/models/item_content_union.py,sha256=mdZI01nE_qAtx_6VeFbZoIKEVginDiITIhCBhAGNj7A,11268
113
113
  twitter_openapi_python_generated/models/item_result.py,sha256=Xriw7CidSS3v-mncEOrIXte_0vqaPkVYxFUA4NQICHU,3050
114
114
  twitter_openapi_python_generated/models/limited_action_results_data.py,sha256=lM4VZYgo6kgDenhQbgZB6X4vMouAJLlcV0yyDTyuT5w,3153
115
115
  twitter_openapi_python_generated/models/list_latest_tweets_timeline_response.py,sha256=ZmHwx2v7kTHkvvwkXCGXHkNm1R2-CxVlkwZjjAfSSr4,3440
@@ -203,16 +203,21 @@ twitter_openapi_python_generated/models/timeline_show_cover.py,sha256=8jHpY_5B6T
203
203
  twitter_openapi_python_generated/models/timeline_terminate_timeline.py,sha256=6G2YVedtu6LPditDd5vMzByjg_LnhaYfesZ5TE4BtJ4,2971
204
204
  twitter_openapi_python_generated/models/timeline_timeline_cursor.py,sha256=gv9zZzHAd0hXnOPMtvsZI0VcUD-8SRr2Mu8jenPYNzQ,3995
205
205
  twitter_openapi_python_generated/models/timeline_timeline_item.py,sha256=O9igAZqrbrgyPbG2G3isXCcctvoowBUnAG85F3Xly2w,3970
206
- twitter_openapi_python_generated/models/timeline_timeline_module.py,sha256=HDDAS2uc4oMPEAmcBhOLQWbx6-a9hftQEHiWaNyNoI8,4449
206
+ twitter_openapi_python_generated/models/timeline_timeline_module.py,sha256=57ZF8OmAkWjyEO4rKgpQjhAjg4Yx4UfQwrYDjXQsHA4,4814
207
+ twitter_openapi_python_generated/models/timeline_tombstone.py,sha256=YsHtbfy9Xs90xnySN_Qjlct3NC7XlSRgL9YVmVo-lPQ,3878
207
208
  twitter_openapi_python_generated/models/timeline_topic_context.py,sha256=OegTLFoDnbTovUtawZHgf4T5DR2MdM0DQSxpjODdKao,3509
208
209
  twitter_openapi_python_generated/models/timeline_tweet.py,sha256=NnMwhU6GODC5ZuZvADer4aySZWYklXaXJrftM4DJ3pw,5050
209
210
  twitter_openapi_python_generated/models/timeline_user.py,sha256=WIGlZ9y9FzeFoLu8UzWdcNI2m2R3a0-zvhKpRFC6j20,4217
210
211
  twitter_openapi_python_generated/models/timeline_v2.py,sha256=kIlescfRjFd1i2mDsKILeL5NGbIWxWoglurpdxCT_3E,2758
211
212
  twitter_openapi_python_generated/models/timestamp.py,sha256=JmgcLa7HXbPD3I0u34x3lV4wg4Ims7aqeFd0yZC5js8,2594
213
+ twitter_openapi_python_generated/models/tombstone_entity.py,sha256=WxPAq0JzZxfjVMIQdVf7kN9p9TBwIOFgVlJKalWUabM,3032
214
+ twitter_openapi_python_generated/models/tombstone_info.py,sha256=6CxlvFc5xPoNQsMIKefbdl0bzK8sENU2EkWpGBwvdFg,2945
215
+ twitter_openapi_python_generated/models/tombstone_ref.py,sha256=2ZPWnKxxgNIyNm0NE_1ckWYY7EJvGtTZoYUL_5mAzgk,3293
216
+ twitter_openapi_python_generated/models/tombstone_rich_text.py,sha256=u1eEut7GCea0X2CfAfnKDRWsqIjHUqp_quCHc0B7SP0,3193
212
217
  twitter_openapi_python_generated/models/topic_context.py,sha256=7K6F_kT9R3-4OaJEGtMVIFQe4vQ497c_u8yUaT_ALWs,3080
213
218
  twitter_openapi_python_generated/models/tracing.py,sha256=dvT8WY1xkGErHd9bKuR98fTFjCnYvhvbM-uW1ec3-k0,2807
214
219
  twitter_openapi_python_generated/models/trend_results.py,sha256=dxQ0wsvrjs_SBcDxpYE84er3hDUfxaPEAYcKPn4XmTg,2809
215
- twitter_openapi_python_generated/models/tweet.py,sha256=dvqQsCm-AOHUxMjxdn3Wmvs8rcLBkpnsPQ4Y_gJ-URY,13181
220
+ twitter_openapi_python_generated/models/tweet.py,sha256=tsgUKjc1SeYzXQ8RNW4Az2mFgGBdE6cv_6DS9ovCtpg,13328
216
221
  twitter_openapi_python_generated/models/tweet_card.py,sha256=_OjlOlrYy_09iYiO6ESjNdSvZ1C5FD83Q648rZ0eJFY,2871
217
222
  twitter_openapi_python_generated/models/tweet_card_legacy.py,sha256=Iv1RyjtS7obk0TWKGFvVr24qnVncN0LKfnCHwTqfJj0,4453
218
223
  twitter_openapi_python_generated/models/tweet_card_legacy_binding_value.py,sha256=GX7u_b_TL_5wXjZMtRB04uQql9JkDWBDZ79JSraAvi8,2941
@@ -252,14 +257,14 @@ twitter_openapi_python_generated/models/tweet_unavailable.py,sha256=Kv9bSrKIOj1o
252
257
  twitter_openapi_python_generated/models/tweet_union.py,sha256=G-JbR8YurkcCzUmlkOshLliX0scQf_SAaFn50QU6yYM,9197
253
258
  twitter_openapi_python_generated/models/tweet_view.py,sha256=v4_oJaSdMmELaGV-8kRxlTY0TDBuGmNQgW4SqfTZHG4,3223
254
259
  twitter_openapi_python_generated/models/tweet_with_visibility_results.py,sha256=rrJpjig_F74MyXJHEdtiZAkQ8Le7wCC5R8hnuv9k6cc,4454
255
- twitter_openapi_python_generated/models/type_name.py,sha256=c2GL3LtWQaKErDBNw67qWMVUWzlFTQ-SmJewEQFIo1A,1974
260
+ twitter_openapi_python_generated/models/type_name.py,sha256=yrLXA04It36W5SWG2_m7WF1xSKatyuT-H2S0SLrAm0M,2018
256
261
  twitter_openapi_python_generated/models/unfavorite_tweet.py,sha256=BdbFDu-0E3VprCfIupdgkpoHBo1VFwfWeV5Y7EwfVPc,2522
257
262
  twitter_openapi_python_generated/models/unfavorite_tweet_response.py,sha256=DlVCIy2bysAvU8sQ-hb8JQVtQgZ1k80yB8vgSSewnDo,3374
258
263
  twitter_openapi_python_generated/models/unified_card.py,sha256=Pg3HjE0YsfZBkBjaOGkh9MhaqQQ7FWhGxE-ryFjp7W8,2755
259
264
  twitter_openapi_python_generated/models/url.py,sha256=N-SE7P4q9CmnZgWoWnI5xwznwO_NhiOhYFB5gOi9h4U,2706
260
265
  twitter_openapi_python_generated/models/urt_endpoint_options.py,sha256=axAqNMYa0zizbE2lilQI184EQfcHtrhEXHOpokgCzyo,3209
261
266
  twitter_openapi_python_generated/models/urt_endpoint_request_params.py,sha256=j6OTVZlDz8uvmt-EfSMU5ztZzna-4TMKK_gDKOX4e8A,2548
262
- twitter_openapi_python_generated/models/user.py,sha256=59YGgPJ8uK2V5RYXbK1K5moHp89Op_RwH-FrEEpT-is,9020
267
+ twitter_openapi_python_generated/models/user.py,sha256=oD01v47OpGGl9WtY4S_hKxctLc0u4M07djipYmaKIZU,9543
263
268
  twitter_openapi_python_generated/models/user_features.py,sha256=nyZ62PyKh60SRjsU8Y7wM4gg3Dmdx7lpID7AaVVjqds,2517
264
269
  twitter_openapi_python_generated/models/user_highlights_info.py,sha256=1BUkqYU1W-LL9w-cJitJIEi_hge57Yu2pf6f4Ovvie4,2657
265
270
  twitter_openapi_python_generated/models/user_highlights_tweets_data.py,sha256=fF7GZTI9YyaVPlcSFin0agKVzHUUal1yNNXPM-xFcO0,2845
@@ -294,9 +299,9 @@ twitter_openapi_python_generated/models/user_verification_info_reason_descriptio
294
299
  twitter_openapi_python_generated/models/user_verification_info_reason_description_entities_ref.py,sha256=di6U-pbh04SsZ2dZjyB2rZrnyJraU_ZjLFau8_IHKwI,2926
295
300
  twitter_openapi_python_generated/models/users_response.py,sha256=UGep5Yb1SGXGVIMABf0DhrIuDMLKwCf69QYpNjlr5rQ,3343
296
301
  twitter_openapi_python_generated/models/users_response_data.py,sha256=XTiDXvnyT5hBzzI8Dqs_vM5EoTJchlCOLaM_A2XVQhc,2957
297
- twitter_openapi_python_generated-0.0.28.dist-info/LICENSE,sha256=xthyYzrtSmRlBu2gnfuIxzsZeHrqtIZgZPL9UPrYiQU,1524
298
- twitter_openapi_python_generated-0.0.28.dist-info/LICENSE.AGPL,sha256=Nv6u1ubULm-E2y6q2-pQPK8s2BzkOltLaVlPKQ3tkcs,35182
299
- twitter_openapi_python_generated-0.0.28.dist-info/METADATA,sha256=kkBMIfCHrit4XGif0gMvXr1YK71zVWkjbJ8zmITNkWs,637
300
- twitter_openapi_python_generated-0.0.28.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
301
- twitter_openapi_python_generated-0.0.28.dist-info/top_level.txt,sha256=_HJ3iFAuiS8tEZxA90EesWYeEj6OB4-sNr_c8tj1uWg,33
302
- twitter_openapi_python_generated-0.0.28.dist-info/RECORD,,
302
+ twitter_openapi_python_generated-0.0.29.dist-info/LICENSE,sha256=xthyYzrtSmRlBu2gnfuIxzsZeHrqtIZgZPL9UPrYiQU,1524
303
+ twitter_openapi_python_generated-0.0.29.dist-info/LICENSE.AGPL,sha256=Nv6u1ubULm-E2y6q2-pQPK8s2BzkOltLaVlPKQ3tkcs,35182
304
+ twitter_openapi_python_generated-0.0.29.dist-info/METADATA,sha256=VFWJ-euj-_CzcEjk4hhzXSdioZ8A-0cXV8Og0CZh0jA,637
305
+ twitter_openapi_python_generated-0.0.29.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
306
+ twitter_openapi_python_generated-0.0.29.dist-info/top_level.txt,sha256=_HJ3iFAuiS8tEZxA90EesWYeEj6OB4-sNr_c8tj1uWg,33
307
+ twitter_openapi_python_generated-0.0.29.dist-info/RECORD,,