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.
- twitter_openapi_python_generated/__init__.py +6 -1
- twitter_openapi_python_generated/api_client.py +1 -1
- twitter_openapi_python_generated/configuration.py +1 -1
- twitter_openapi_python_generated/models/__init__.py +5 -0
- twitter_openapi_python_generated/models/content_item_type.py +1 -0
- twitter_openapi_python_generated/models/feedback_info.py +7 -1
- twitter_openapi_python_generated/models/item_content_union.py +27 -8
- twitter_openapi_python_generated/models/timeline_timeline_module.py +6 -2
- twitter_openapi_python_generated/models/timeline_tombstone.py +110 -0
- twitter_openapi_python_generated/models/tombstone_entity.py +96 -0
- twitter_openapi_python_generated/models/tombstone_info.py +94 -0
- twitter_openapi_python_generated/models/tombstone_ref.py +112 -0
- twitter_openapi_python_generated/models/tombstone_rich_text.py +100 -0
- twitter_openapi_python_generated/models/tweet.py +3 -1
- twitter_openapi_python_generated/models/type_name.py +1 -0
- twitter_openapi_python_generated/models/user.py +13 -1
- {twitter_openapi_python_generated-0.0.28.dist-info → twitter_openapi_python_generated-0.0.29.dist-info}/METADATA +1 -1
- {twitter_openapi_python_generated-0.0.28.dist-info → twitter_openapi_python_generated-0.0.29.dist-info}/RECORD +22 -17
- {twitter_openapi_python_generated-0.0.28.dist-info → twitter_openapi_python_generated-0.0.29.dist-info}/LICENSE +0 -0
- {twitter_openapi_python_generated-0.0.28.dist-info → twitter_openapi_python_generated-0.0.29.dist-info}/LICENSE.AGPL +0 -0
- {twitter_openapi_python_generated-0.0.28.dist-info → twitter_openapi_python_generated-0.0.29.dist-info}/WHEEL +0 -0
- {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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
50
|
-
|
|
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:
|
|
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,7 +1,7 @@
|
|
|
1
|
-
twitter_openapi_python_generated/__init__.py,sha256=
|
|
2
|
-
twitter_openapi_python_generated/api_client.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
298
|
-
twitter_openapi_python_generated-0.0.
|
|
299
|
-
twitter_openapi_python_generated-0.0.
|
|
300
|
-
twitter_openapi_python_generated-0.0.
|
|
301
|
-
twitter_openapi_python_generated-0.0.
|
|
302
|
-
twitter_openapi_python_generated-0.0.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|