twitter-openapi-python-generated 0.0.35__py3-none-any.whl → 0.1.0__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 (95) hide show
  1. twitter_openapi_python_generated/__init__.py +117 -9
  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 +58 -4
  5. twitter_openapi_python_generated/models/ad_metadata_container.py +104 -0
  6. twitter_openapi_python_generated/models/affiliates_highlighted_label.py +93 -0
  7. twitter_openapi_python_generated/models/api_image.py +108 -0
  8. twitter_openapi_python_generated/models/api_media.py +110 -0
  9. twitter_openapi_python_generated/models/article_cover_media_info.py +3 -3
  10. twitter_openapi_python_generated/models/birdwatch_pivot.py +2 -2
  11. twitter_openapi_python_generated/models/cashtag_info.py +93 -0
  12. twitter_openapi_python_generated/models/click_tracking_info.py +96 -0
  13. twitter_openapi_python_generated/models/client_event_info.py +6 -2
  14. twitter_openapi_python_generated/models/client_event_info_details.py +99 -0
  15. twitter_openapi_python_generated/models/community.py +17 -6
  16. twitter_openapi_python_generated/models/community_banner_media.py +95 -0
  17. twitter_openapi_python_generated/models/community_banner_media_info.py +108 -0
  18. twitter_openapi_python_generated/models/community_moderation_state.py +90 -0
  19. twitter_openapi_python_generated/models/community_relationship.py +6 -2
  20. twitter_openapi_python_generated/models/community_viewer_relationship.py +95 -0
  21. twitter_openapi_python_generated/models/conversation_control.py +10 -11
  22. twitter_openapi_python_generated/models/conversation_details.py +96 -0
  23. twitter_openapi_python_generated/models/conversation_metadata.py +92 -0
  24. twitter_openapi_python_generated/models/conversation_owner.py +96 -0
  25. twitter_openapi_python_generated/models/conversation_owner_core.py +89 -0
  26. twitter_openapi_python_generated/models/conversation_owner_results.py +93 -0
  27. twitter_openapi_python_generated/models/cta_limited_action_prompt.py +110 -0
  28. twitter_openapi_python_generated/models/cta_limited_action_prompt_text.py +91 -0
  29. twitter_openapi_python_generated/models/deepsearch_header.py +96 -0
  30. twitter_openapi_python_generated/models/deepsearch_step.py +99 -0
  31. twitter_openapi_python_generated/models/deepsearch_web_result.py +89 -0
  32. twitter_openapi_python_generated/models/entities.py +27 -6
  33. twitter_openapi_python_generated/models/feedback_action.py +136 -0
  34. twitter_openapi_python_generated/models/feedback_action_entry.py +95 -0
  35. twitter_openapi_python_generated/models/feedback_client_event_info.py +93 -0
  36. twitter_openapi_python_generated/models/feedback_info.py +8 -6
  37. twitter_openapi_python_generated/models/grok_share_attachment_item.py +9 -2
  38. twitter_openapi_python_generated/models/hashtag.py +91 -0
  39. twitter_openapi_python_generated/models/jetfuel_attachment.py +91 -0
  40. twitter_openapi_python_generated/models/key_value.py +91 -0
  41. twitter_openapi_python_generated/models/landing_url.py +98 -0
  42. twitter_openapi_python_generated/models/limited_action.py +95 -0
  43. twitter_openapi_python_generated/models/limited_action_results.py +96 -0
  44. twitter_openapi_python_generated/models/limited_action_results_data.py +1 -8
  45. twitter_openapi_python_generated/models/list_banner_media_info.py +3 -3
  46. twitter_openapi_python_generated/models/list_banner_media_results.py +93 -0
  47. twitter_openapi_python_generated/models/{article_cover_media_color_info.py → media_color_info.py} +7 -7
  48. twitter_openapi_python_generated/models/{article_cover_media_color_info_palette.py → media_color_info_palette.py} +7 -7
  49. twitter_openapi_python_generated/models/{article_cover_media_color_info_palette_rgb.py → media_color_info_palette_rgb.py} +4 -4
  50. twitter_openapi_python_generated/models/{list_banner_media_salient_rect.py → media_salient_rect.py} +4 -4
  51. twitter_openapi_python_generated/models/module_footer.py +104 -0
  52. twitter_openapi_python_generated/models/module_header.py +100 -0
  53. twitter_openapi_python_generated/models/module_metadata.py +93 -0
  54. twitter_openapi_python_generated/models/promoted_metadata.py +109 -0
  55. twitter_openapi_python_generated/models/reader_mode_config.py +89 -0
  56. twitter_openapi_python_generated/models/scribe_config.py +89 -0
  57. twitter_openapi_python_generated/models/smarttag_tag.py +6 -2
  58. twitter_openapi_python_generated/models/smarttag_tag_info.py +93 -0
  59. twitter_openapi_python_generated/models/symbol.py +97 -0
  60. twitter_openapi_python_generated/models/timeline.py +12 -4
  61. twitter_openapi_python_generated/models/timeline_metadata.py +99 -0
  62. twitter_openapi_python_generated/models/timeline_response_objects.py +96 -0
  63. twitter_openapi_python_generated/models/timeline_show_alert.py +18 -21
  64. twitter_openapi_python_generated/models/timeline_show_alert_color_config.py +93 -0
  65. twitter_openapi_python_generated/models/timeline_show_alert_icon_display_info.py +91 -0
  66. twitter_openapi_python_generated/models/timeline_show_alert_rich_text.py +3 -3
  67. twitter_openapi_python_generated/models/timeline_timeline_item.py +6 -2
  68. twitter_openapi_python_generated/models/timeline_timeline_module.py +18 -6
  69. twitter_openapi_python_generated/models/timeline_tweet.py +6 -2
  70. twitter_openapi_python_generated/models/timelines_details.py +93 -0
  71. twitter_openapi_python_generated/models/tweet.py +7 -1
  72. twitter_openapi_python_generated/models/tweet_card_legacy_binding_value_data.py +6 -2
  73. twitter_openapi_python_generated/models/tweet_legacy.py +6 -2
  74. twitter_openapi_python_generated/models/tweet_with_visibility_results.py +6 -2
  75. twitter_openapi_python_generated/models/twitter_list.py +17 -3
  76. twitter_openapi_python_generated/models/type_name.py +3 -0
  77. twitter_openapi_python_generated/models/user.py +6 -2
  78. twitter_openapi_python_generated/models/user_label.py +128 -0
  79. twitter_openapi_python_generated/models/user_label_badge.py +89 -0
  80. twitter_openapi_python_generated/models/user_label_mention_results.py +93 -0
  81. twitter_openapi_python_generated/models/user_label_mention_user.py +106 -0
  82. twitter_openapi_python_generated/models/user_label_mention_user_core.py +89 -0
  83. twitter_openapi_python_generated/models/user_label_text.py +98 -0
  84. twitter_openapi_python_generated/models/user_label_text_entity.py +97 -0
  85. twitter_openapi_python_generated/models/user_label_text_entity_ref.py +104 -0
  86. twitter_openapi_python_generated/models/user_label_url.py +98 -0
  87. twitter_openapi_python_generated/models/user_legacy.py +6 -2
  88. twitter_openapi_python_generated/models/user_mention.py +115 -0
  89. twitter_openapi_python_generated/models/user_professional.py +7 -2
  90. {twitter_openapi_python_generated-0.0.35.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/METADATA +63 -9
  91. {twitter_openapi_python_generated-0.0.35.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/RECORD +95 -41
  92. {twitter_openapi_python_generated-0.0.35.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/WHEEL +0 -0
  93. {twitter_openapi_python_generated-0.0.35.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/licenses/LICENSE +0 -0
  94. {twitter_openapi_python_generated-0.0.35.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/licenses/LICENSE.AGPL +0 -0
  95. {twitter_openapi_python_generated-0.0.35.dist-info → twitter_openapi_python_generated-0.1.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,104 @@
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, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List
23
+ from twitter_openapi_python_generated.models.user_label_mention_results import UserLabelMentionResults
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+ from pydantic_core import to_jsonable_python
27
+
28
+ class UserLabelTextEntityRef(BaseModel):
29
+ """
30
+ UserLabelTextEntityRef
31
+ """ # noqa: E501
32
+ mention_results: UserLabelMentionResults
33
+ screen_name: StrictStr
34
+ type: StrictStr
35
+ __properties: ClassVar[List[str]] = ["mention_results", "screen_name", "type"]
36
+
37
+ @field_validator('type')
38
+ def type_validate_enum(cls, value):
39
+ """Validates the enum"""
40
+ if value not in set(['TimelineRichTextMention']):
41
+ raise ValueError("must be one of enum values ('TimelineRichTextMention')")
42
+ return value
43
+
44
+ model_config = ConfigDict(
45
+ validate_by_name=True,
46
+ validate_by_alias=True,
47
+ validate_assignment=True,
48
+ protected_namespaces=(),
49
+ )
50
+
51
+
52
+ def to_str(self) -> str:
53
+ """Returns the string representation of the model using alias"""
54
+ return pprint.pformat(self.model_dump(by_alias=True))
55
+
56
+ def to_json(self) -> str:
57
+ """Returns the JSON representation of the model using alias"""
58
+ return json.dumps(to_jsonable_python(self.to_dict()))
59
+
60
+ @classmethod
61
+ def from_json(cls, json_str: str) -> Optional[Self]:
62
+ """Create an instance of UserLabelTextEntityRef from a JSON string"""
63
+ return cls.from_dict(json.loads(json_str))
64
+
65
+ def to_dict(self) -> Dict[str, Any]:
66
+ """Return the dictionary representation of the model using alias.
67
+
68
+ This has the following differences from calling pydantic's
69
+ `self.model_dump(by_alias=True)`:
70
+
71
+ * `None` is only added to the output dict for nullable fields that
72
+ were set at model initialization. Other fields with value `None`
73
+ are ignored.
74
+ """
75
+ excluded_fields: Set[str] = set([
76
+ ])
77
+
78
+ _dict = self.model_dump(
79
+ by_alias=True,
80
+ exclude=excluded_fields,
81
+ exclude_none=True,
82
+ )
83
+ # override the default output from pydantic by calling `to_dict()` of mention_results
84
+ if self.mention_results:
85
+ _dict['mention_results'] = self.mention_results.to_dict()
86
+ return _dict
87
+
88
+ @classmethod
89
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
90
+ """Create an instance of UserLabelTextEntityRef from a dict"""
91
+ if obj is None:
92
+ return None
93
+
94
+ if not isinstance(obj, dict):
95
+ return cls.model_validate(obj)
96
+
97
+ _obj = cls.model_validate({
98
+ "mention_results": UserLabelMentionResults.from_dict(obj["mention_results"]) if obj.get("mention_results") is not None else None,
99
+ "screen_name": obj.get("screen_name"),
100
+ "type": obj.get("type")
101
+ })
102
+ return _obj
103
+
104
+
@@ -0,0 +1,98 @@
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
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+ from pydantic_core import to_jsonable_python
26
+
27
+ class UserLabelUrl(BaseModel):
28
+ """
29
+ UserLabelUrl
30
+ """ # noqa: E501
31
+ url: StrictStr
32
+ url_type: StrictStr = Field(alias="urlType")
33
+ __properties: ClassVar[List[str]] = ["url", "urlType"]
34
+
35
+ @field_validator('url_type')
36
+ def url_type_validate_enum(cls, value):
37
+ """Validates the enum"""
38
+ if value not in set(['DeepLink']):
39
+ raise ValueError("must be one of enum values ('DeepLink')")
40
+ return value
41
+
42
+ model_config = ConfigDict(
43
+ validate_by_name=True,
44
+ validate_by_alias=True,
45
+ validate_assignment=True,
46
+ protected_namespaces=(),
47
+ )
48
+
49
+
50
+ def to_str(self) -> str:
51
+ """Returns the string representation of the model using alias"""
52
+ return pprint.pformat(self.model_dump(by_alias=True))
53
+
54
+ def to_json(self) -> str:
55
+ """Returns the JSON representation of the model using alias"""
56
+ return json.dumps(to_jsonable_python(self.to_dict()))
57
+
58
+ @classmethod
59
+ def from_json(cls, json_str: str) -> Optional[Self]:
60
+ """Create an instance of UserLabelUrl from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self) -> Dict[str, Any]:
64
+ """Return the dictionary representation of the model using alias.
65
+
66
+ This has the following differences from calling pydantic's
67
+ `self.model_dump(by_alias=True)`:
68
+
69
+ * `None` is only added to the output dict for nullable fields that
70
+ were set at model initialization. Other fields with value `None`
71
+ are ignored.
72
+ """
73
+ excluded_fields: Set[str] = set([
74
+ ])
75
+
76
+ _dict = self.model_dump(
77
+ by_alias=True,
78
+ exclude=excluded_fields,
79
+ exclude_none=True,
80
+ )
81
+ return _dict
82
+
83
+ @classmethod
84
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
85
+ """Create an instance of UserLabelUrl from a dict"""
86
+ if obj is None:
87
+ return None
88
+
89
+ if not isinstance(obj, dict):
90
+ return cls.model_validate(obj)
91
+
92
+ _obj = cls.model_validate({
93
+ "url": obj.get("url"),
94
+ "urlType": obj.get("urlType")
95
+ })
96
+ return _obj
97
+
98
+
@@ -21,6 +21,7 @@ import json
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
23
  from typing_extensions import Annotated
24
+ from twitter_openapi_python_generated.models.profile_bio_entities import ProfileBioEntities
24
25
  from typing import Optional, Set
25
26
  from typing_extensions import Self
26
27
  from pydantic_core import to_jsonable_python
@@ -37,7 +38,7 @@ class UserLegacy(BaseModel):
37
38
  default_profile: StrictBool
38
39
  default_profile_image: StrictBool
39
40
  description: StrictStr
40
- entities: Dict[str, Any]
41
+ entities: ProfileBioEntities
41
42
  fast_followers_count: StrictInt
42
43
  favourites_count: StrictInt
43
44
  follow_request_sent: Optional[StrictBool] = None
@@ -135,6 +136,9 @@ class UserLegacy(BaseModel):
135
136
  exclude=excluded_fields,
136
137
  exclude_none=True,
137
138
  )
139
+ # override the default output from pydantic by calling `to_dict()` of entities
140
+ if self.entities:
141
+ _dict['entities'] = self.entities.to_dict()
138
142
  return _dict
139
143
 
140
144
  @classmethod
@@ -155,7 +159,7 @@ class UserLegacy(BaseModel):
155
159
  "default_profile": obj.get("default_profile"),
156
160
  "default_profile_image": obj.get("default_profile_image"),
157
161
  "description": obj.get("description"),
158
- "entities": obj.get("entities"),
162
+ "entities": ProfileBioEntities.from_dict(obj["entities"]) if obj.get("entities") is not None else None,
159
163
  "fast_followers_count": obj.get("fast_followers_count"),
160
164
  "favourites_count": obj.get("favourites_count"),
161
165
  "follow_request_sent": obj.get("follow_request_sent"),
@@ -0,0 +1,115 @@
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, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing_extensions import Annotated
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+ from pydantic_core import to_jsonable_python
27
+
28
+ class UserMention(BaseModel):
29
+ """
30
+ UserMention
31
+ """ # noqa: E501
32
+ id: Optional[Annotated[str, Field(strict=True)]] = None
33
+ id_str: Annotated[str, Field(strict=True)]
34
+ indices: List[StrictInt]
35
+ name: StrictStr
36
+ screen_name: StrictStr
37
+ __properties: ClassVar[List[str]] = ["id", "id_str", "indices", "name", "screen_name"]
38
+
39
+ @field_validator('id', mode="before")
40
+ def id_validate_regular_expression(cls, value):
41
+ """Validates the regular expression"""
42
+ if value is None:
43
+ return value
44
+
45
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
46
+ raise ValueError(r"must validate the regular expression /^[0-9]+$/")
47
+ return value
48
+
49
+ @field_validator('id_str', mode="before")
50
+ def id_str_validate_regular_expression(cls, value):
51
+ """Validates the regular expression"""
52
+ if isinstance(value, str) and not re.match(r"^[0-9]+$", value):
53
+ raise ValueError(r"must validate the regular expression /^[0-9]+$/")
54
+ return value
55
+
56
+ model_config = ConfigDict(
57
+ validate_by_name=True,
58
+ validate_by_alias=True,
59
+ validate_assignment=True,
60
+ protected_namespaces=(),
61
+ )
62
+
63
+
64
+ def to_str(self) -> str:
65
+ """Returns the string representation of the model using alias"""
66
+ return pprint.pformat(self.model_dump(by_alias=True))
67
+
68
+ def to_json(self) -> str:
69
+ """Returns the JSON representation of the model using alias"""
70
+ return json.dumps(to_jsonable_python(self.to_dict()))
71
+
72
+ @classmethod
73
+ def from_json(cls, json_str: str) -> Optional[Self]:
74
+ """Create an instance of UserMention from a JSON string"""
75
+ return cls.from_dict(json.loads(json_str))
76
+
77
+ def to_dict(self) -> Dict[str, Any]:
78
+ """Return the dictionary representation of the model using alias.
79
+
80
+ This has the following differences from calling pydantic's
81
+ `self.model_dump(by_alias=True)`:
82
+
83
+ * `None` is only added to the output dict for nullable fields that
84
+ were set at model initialization. Other fields with value `None`
85
+ are ignored.
86
+ """
87
+ excluded_fields: Set[str] = set([
88
+ ])
89
+
90
+ _dict = self.model_dump(
91
+ by_alias=True,
92
+ exclude=excluded_fields,
93
+ exclude_none=True,
94
+ )
95
+ return _dict
96
+
97
+ @classmethod
98
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
99
+ """Create an instance of UserMention from a dict"""
100
+ if obj is None:
101
+ return None
102
+
103
+ if not isinstance(obj, dict):
104
+ return cls.model_validate(obj)
105
+
106
+ _obj = cls.model_validate({
107
+ "id": obj.get("id"),
108
+ "id_str": obj.get("id_str"),
109
+ "indices": obj.get("indices"),
110
+ "name": obj.get("name"),
111
+ "screen_name": obj.get("screen_name")
112
+ })
113
+ return _obj
114
+
115
+
@@ -31,13 +31,17 @@ class UserProfessional(BaseModel):
31
31
  UserProfessional
32
32
  """ # noqa: E501
33
33
  category: Optional[List[UserProfessionalCategory]] = None
34
- professional_type: StrictStr
34
+ id: Optional[StrictStr] = None
35
+ professional_type: Optional[StrictStr] = None
35
36
  rest_id: Annotated[str, Field(strict=True)]
36
- __properties: ClassVar[List[str]] = ["category", "professional_type", "rest_id"]
37
+ __properties: ClassVar[List[str]] = ["category", "id", "professional_type", "rest_id"]
37
38
 
38
39
  @field_validator('professional_type')
39
40
  def professional_type_validate_enum(cls, value):
40
41
  """Validates the enum"""
42
+ if value is None:
43
+ return value
44
+
41
45
  if value not in set(['Business', 'Creator']):
42
46
  raise ValueError("must be one of enum values ('Business', 'Creator')")
43
47
  return value
@@ -107,6 +111,7 @@ class UserProfessional(BaseModel):
107
111
 
108
112
  _obj = cls.model_validate({
109
113
  "category": [UserProfessionalCategory.from_dict(_item) for _item in obj["category"]] if obj.get("category") is not None else None,
114
+ "id": obj.get("id"),
110
115
  "professional_type": obj.get("professional_type"),
111
116
  "rest_id": obj.get("rest_id")
112
117
  })
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: twitter_openapi_python_generated
3
- Version: 0.0.35
3
+ Version: 0.1.0
4
4
  Summary: Twitter OpenAPI
5
5
  Home-page: https://github.com/fa0311/twitter_openapi_python_generated
6
6
  Author: OpenAPI Generator community
7
7
  Author-email: OpenAPI Generator Community <yuki@yuki0311.com>
8
8
  License: LicenseRef-Custom OR AGPL-3.0-or-later
9
- Project-URL: Repository, https://github.com/GIT_USER_ID/GIT_REPO_ID
9
+ Project-URL: Repository, https://github.com/fa0311/twitter_openapi_python
10
10
  Keywords: OpenAPI,OpenAPI-Generator,Twitter OpenAPI
11
11
  Requires-Python: >=3.10
12
12
  Description-Content-Type: text/markdown
@@ -26,7 +26,7 @@ Twitter OpenAPI(Swagger) specification
26
26
  This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
27
27
 
28
28
  - API version: 0.0.1
29
- - Package version: 0.0.35
29
+ - Package version: 0.1.0
30
30
  - Generator version: 7.26.0
31
31
  - Build package: org.openapitools.codegen.languages.PythonClientCodegen
32
32
 
@@ -45,9 +45,9 @@ with Poetry 2.2 or newer using `poetry install`, or pip 25.1 or newer using
45
45
  If the python package is hosted on a repository, you can install directly using:
46
46
 
47
47
  ```sh
48
- pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
48
+ pip install git+https://github.com/fa0311/twitter_openapi_python.git
49
49
  ```
50
- (you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`)
50
+ (you may need to run `pip` with root permission: `sudo pip install git+https://github.com/fa0311/twitter_openapi_python.git`)
51
51
 
52
52
  Then import the package:
53
53
  ```python
@@ -325,16 +325,17 @@ Class | Method | HTTP request | Description
325
325
  - [AboutCommunityResult](docs/AboutCommunityResult.md)
326
326
  - [AboutCommunityResults](docs/AboutCommunityResults.md)
327
327
  - [AboutCommunityTweetData](docs/AboutCommunityTweetData.md)
328
+ - [AdMetadataContainer](docs/AdMetadataContainer.md)
328
329
  - [AdditionalMediaInfo](docs/AdditionalMediaInfo.md)
329
330
  - [AdditionalMediaInfoCallToActions](docs/AdditionalMediaInfoCallToActions.md)
330
331
  - [AdditionalMediaInfoCallToActionsUrl](docs/AdditionalMediaInfoCallToActionsUrl.md)
332
+ - [AffiliatesHighlightedLabel](docs/AffiliatesHighlightedLabel.md)
331
333
  - [AllowDownloadStatus](docs/AllowDownloadStatus.md)
332
334
  - [AnalysisResults](docs/AnalysisResults.md)
335
+ - [ApiImage](docs/ApiImage.md)
336
+ - [ApiMedia](docs/ApiMedia.md)
333
337
  - [Article](docs/Article.md)
334
338
  - [ArticleCoverMedia](docs/ArticleCoverMedia.md)
335
- - [ArticleCoverMediaColorInfo](docs/ArticleCoverMediaColorInfo.md)
336
- - [ArticleCoverMediaColorInfoPalette](docs/ArticleCoverMediaColorInfoPalette.md)
337
- - [ArticleCoverMediaColorInfoPaletteRGB](docs/ArticleCoverMediaColorInfoPaletteRGB.md)
338
339
  - [ArticleCoverMediaInfo](docs/ArticleCoverMediaInfo.md)
339
340
  - [ArticleLifecycleState](docs/ArticleLifecycleState.md)
340
341
  - [ArticleMetadata](docs/ArticleMetadata.md)
@@ -355,11 +356,16 @@ Class | Method | HTTP request | Description
355
356
  - [BookmarksTimeline](docs/BookmarksTimeline.md)
356
357
  - [Callback](docs/Callback.md)
357
358
  - [CashtagAttachment](docs/CashtagAttachment.md)
359
+ - [CashtagInfo](docs/CashtagInfo.md)
360
+ - [ClickTrackingInfo](docs/ClickTrackingInfo.md)
358
361
  - [ClientEventInfo](docs/ClientEventInfo.md)
362
+ - [ClientEventInfoDetails](docs/ClientEventInfoDetails.md)
359
363
  - [CommunitiesActions](docs/CommunitiesActions.md)
360
364
  - [Community](docs/Community.md)
361
365
  - [CommunityAboutTimelineResponse](docs/CommunityAboutTimelineResponse.md)
362
366
  - [CommunityActions](docs/CommunityActions.md)
367
+ - [CommunityBannerMedia](docs/CommunityBannerMedia.md)
368
+ - [CommunityBannerMediaInfo](docs/CommunityBannerMediaInfo.md)
363
369
  - [CommunityDeleteActionResult](docs/CommunityDeleteActionResult.md)
364
370
  - [CommunityDiscoveryTimelineResponse](docs/CommunityDiscoveryTimelineResponse.md)
365
371
  - [CommunityDiscoveryTimelineResponseData](docs/CommunityDiscoveryTimelineResponseData.md)
@@ -371,6 +377,7 @@ Class | Method | HTTP request | Description
371
377
  - [CommunityJoinRequestsResult](docs/CommunityJoinRequestsResult.md)
372
378
  - [CommunityLeaveActionResult](docs/CommunityLeaveActionResult.md)
373
379
  - [CommunityMediaTimelineResponse](docs/CommunityMediaTimelineResponse.md)
380
+ - [CommunityModerationState](docs/CommunityModerationState.md)
374
381
  - [CommunityPinActionResult](docs/CommunityPinActionResult.md)
375
382
  - [CommunityRelationship](docs/CommunityRelationship.md)
376
383
  - [CommunityResult](docs/CommunityResult.md)
@@ -381,6 +388,7 @@ Class | Method | HTTP request | Description
381
388
  - [CommunityUnpinActionResult](docs/CommunityUnpinActionResult.md)
382
389
  - [CommunityUrls](docs/CommunityUrls.md)
383
390
  - [CommunityUrlsPermalink](docs/CommunityUrlsPermalink.md)
391
+ - [CommunityViewerRelationship](docs/CommunityViewerRelationship.md)
384
392
  - [ConnectTabTimelineResponse](docs/ConnectTabTimelineResponse.md)
385
393
  - [ConnectTabTimelineResponseData](docs/ConnectTabTimelineResponseData.md)
386
394
  - [ContentDisclosure](docs/ContentDisclosure.md)
@@ -390,6 +398,11 @@ Class | Method | HTTP request | Description
390
398
  - [ContentItemType](docs/ContentItemType.md)
391
399
  - [ContentUnion](docs/ContentUnion.md)
392
400
  - [ConversationControl](docs/ConversationControl.md)
401
+ - [ConversationDetails](docs/ConversationDetails.md)
402
+ - [ConversationMetadata](docs/ConversationMetadata.md)
403
+ - [ConversationOwner](docs/ConversationOwner.md)
404
+ - [ConversationOwnerCore](docs/ConversationOwnerCore.md)
405
+ - [ConversationOwnerResults](docs/ConversationOwnerResults.md)
393
406
  - [CoverCta](docs/CoverCta.md)
394
407
  - [CreateBookmarkResponse](docs/CreateBookmarkResponse.md)
395
408
  - [CreateBookmarkResponseData](docs/CreateBookmarkResponseData.md)
@@ -405,7 +418,12 @@ Class | Method | HTTP request | Description
405
418
  - [CreateTweetResponseData](docs/CreateTweetResponseData.md)
406
419
  - [CreateTweetResponseResult](docs/CreateTweetResponseResult.md)
407
420
  - [CtaClientEventInfo](docs/CtaClientEventInfo.md)
421
+ - [CtaLimitedActionPrompt](docs/CtaLimitedActionPrompt.md)
422
+ - [CtaLimitedActionPromptText](docs/CtaLimitedActionPromptText.md)
408
423
  - [CursorType](docs/CursorType.md)
424
+ - [DeepsearchHeader](docs/DeepsearchHeader.md)
425
+ - [DeepsearchStep](docs/DeepsearchStep.md)
426
+ - [DeepsearchWebResult](docs/DeepsearchWebResult.md)
409
427
  - [DeleteBookmarkResponse](docs/DeleteBookmarkResponse.md)
410
428
  - [DeleteBookmarkResponseData](docs/DeleteBookmarkResponseData.md)
411
429
  - [DeleteDraftTweetsResponse](docs/DeleteDraftTweetsResponse.md)
@@ -441,6 +459,9 @@ Class | Method | HTTP request | Description
441
459
  - [ExtendedEntities](docs/ExtendedEntities.md)
442
460
  - [FavoriteTweet](docs/FavoriteTweet.md)
443
461
  - [FavoriteTweetResponse](docs/FavoriteTweetResponse.md)
462
+ - [FeedbackAction](docs/FeedbackAction.md)
463
+ - [FeedbackActionEntry](docs/FeedbackActionEntry.md)
464
+ - [FeedbackClientEventInfo](docs/FeedbackClientEventInfo.md)
444
465
  - [FeedbackInfo](docs/FeedbackInfo.md)
445
466
  - [FetchDraftTweetsResponse](docs/FetchDraftTweetsResponse.md)
446
467
  - [FetchDraftTweetsResponseData](docs/FetchDraftTweetsResponseData.md)
@@ -465,6 +486,7 @@ Class | Method | HTTP request | Description
465
486
  - [GrokTranslatedCommunityNoteWithAvailability](docs/GrokTranslatedCommunityNoteWithAvailability.md)
466
487
  - [GrokTranslatedPost](docs/GrokTranslatedPost.md)
467
488
  - [GrokTranslatedPostWithAvailability](docs/GrokTranslatedPostWithAvailability.md)
489
+ - [Hashtag](docs/Hashtag.md)
468
490
  - [Highlight](docs/Highlight.md)
469
491
  - [HomeTimelineHome](docs/HomeTimelineHome.md)
470
492
  - [HomeTimelineResponseData](docs/HomeTimelineResponseData.md)
@@ -472,10 +494,15 @@ Class | Method | HTTP request | Description
472
494
  - [InstructionUnion](docs/InstructionUnion.md)
473
495
  - [ItemContentUnion](docs/ItemContentUnion.md)
474
496
  - [ItemResult](docs/ItemResult.md)
497
+ - [JetfuelAttachment](docs/JetfuelAttachment.md)
498
+ - [KeyValue](docs/KeyValue.md)
499
+ - [LandingUrl](docs/LandingUrl.md)
500
+ - [LimitedAction](docs/LimitedAction.md)
501
+ - [LimitedActionResults](docs/LimitedActionResults.md)
475
502
  - [LimitedActionResultsData](docs/LimitedActionResultsData.md)
476
503
  - [ListBannerMedia](docs/ListBannerMedia.md)
477
504
  - [ListBannerMediaInfo](docs/ListBannerMediaInfo.md)
478
- - [ListBannerMediaSalientRect](docs/ListBannerMediaSalientRect.md)
505
+ - [ListBannerMediaResults](docs/ListBannerMediaResults.md)
479
506
  - [ListLatestTweetsTimelineResponse](docs/ListLatestTweetsTimelineResponse.md)
480
507
  - [ListMembersList](docs/ListMembersList.md)
481
508
  - [ListMembersResponse](docs/ListMembersResponse.md)
@@ -492,6 +519,9 @@ Class | Method | HTTP request | Description
492
519
  - [ListTweetsTimelineList](docs/ListTweetsTimelineList.md)
493
520
  - [Location](docs/Location.md)
494
521
  - [Media](docs/Media.md)
522
+ - [MediaColorInfo](docs/MediaColorInfo.md)
523
+ - [MediaColorInfoPalette](docs/MediaColorInfoPalette.md)
524
+ - [MediaColorInfoPaletteRGB](docs/MediaColorInfoPaletteRGB.md)
495
525
  - [MediaCommunityResult](docs/MediaCommunityResult.md)
496
526
  - [MediaCommunityResults](docs/MediaCommunityResults.md)
497
527
  - [MediaCommunityTweetData](docs/MediaCommunityTweetData.md)
@@ -500,6 +530,7 @@ Class | Method | HTTP request | Description
500
530
  - [MediaOriginalInfoFocusRect](docs/MediaOriginalInfoFocusRect.md)
501
531
  - [MediaResult](docs/MediaResult.md)
502
532
  - [MediaResults](docs/MediaResults.md)
533
+ - [MediaSalientRect](docs/MediaSalientRect.md)
503
534
  - [MediaSize](docs/MediaSize.md)
504
535
  - [MediaSizes](docs/MediaSizes.md)
505
536
  - [MediaStats](docs/MediaStats.md)
@@ -508,7 +539,10 @@ Class | Method | HTTP request | Description
508
539
  - [MediaVisibilityResults](docs/MediaVisibilityResults.md)
509
540
  - [MediaVisibilityResultsBlurredImageInterstitial](docs/MediaVisibilityResultsBlurredImageInterstitial.md)
510
541
  - [ModuleEntry](docs/ModuleEntry.md)
542
+ - [ModuleFooter](docs/ModuleFooter.md)
543
+ - [ModuleHeader](docs/ModuleHeader.md)
511
544
  - [ModuleItem](docs/ModuleItem.md)
545
+ - [ModuleMetadata](docs/ModuleMetadata.md)
512
546
  - [NoteTweet](docs/NoteTweet.md)
513
547
  - [NoteTweetResult](docs/NoteTweetResult.md)
514
548
  - [NoteTweetResultData](docs/NoteTweetResultData.md)
@@ -567,15 +601,18 @@ Class | Method | HTTP request | Description
567
601
  - [ProfileBioEntitiesUrls](docs/ProfileBioEntitiesUrls.md)
568
602
  - [ProfileResponse](docs/ProfileResponse.md)
569
603
  - [ProfileResponseData](docs/ProfileResponseData.md)
604
+ - [PromotedMetadata](docs/PromotedMetadata.md)
570
605
  - [QuotedRefResult](docs/QuotedRefResult.md)
571
606
  - [QuotedStatusPermalink](docs/QuotedStatusPermalink.md)
572
607
  - [RankedCommunityResult](docs/RankedCommunityResult.md)
573
608
  - [RankedCommunityResults](docs/RankedCommunityResults.md)
574
609
  - [RankedCommunityTweetData](docs/RankedCommunityTweetData.md)
610
+ - [ReaderModeConfig](docs/ReaderModeConfig.md)
575
611
  - [Retweet](docs/Retweet.md)
576
612
  - [RetweetLegacy](docs/RetweetLegacy.md)
577
613
  - [RichMessage](docs/RichMessage.md)
578
614
  - [ScheduledTweetsViewer](docs/ScheduledTweetsViewer.md)
615
+ - [ScribeConfig](docs/ScribeConfig.md)
579
616
  - [SearchByRawQuery](docs/SearchByRawQuery.md)
580
617
  - [SearchTimeline](docs/SearchTimeline.md)
581
618
  - [SearchTimelineData](docs/SearchTimelineData.md)
@@ -585,6 +622,7 @@ Class | Method | HTTP request | Description
585
622
  - [Session](docs/Session.md)
586
623
  - [Smarttag](docs/Smarttag.md)
587
624
  - [SmarttagTag](docs/SmarttagTag.md)
625
+ - [SmarttagTagInfo](docs/SmarttagTagInfo.md)
588
626
  - [SocialContextLandingUrl](docs/SocialContextLandingUrl.md)
589
627
  - [SocialContextUnion](docs/SocialContextUnion.md)
590
628
  - [SocialContextUnionType](docs/SocialContextUnionType.md)
@@ -593,6 +631,7 @@ Class | Method | HTTP request | Description
593
631
  - [SuperFollowsReplyUserResultCore](docs/SuperFollowsReplyUserResultCore.md)
594
632
  - [SuperFollowsReplyUserResultData](docs/SuperFollowsReplyUserResultData.md)
595
633
  - [SuperFollowsReplyUserResultLegacy](docs/SuperFollowsReplyUserResultLegacy.md)
634
+ - [Symbol](docs/Symbol.md)
596
635
  - [Text](docs/Text.md)
597
636
  - [TextEntity](docs/TextEntity.md)
598
637
  - [TextEntityRef](docs/TextEntityRef.md)
@@ -613,13 +652,17 @@ Class | Method | HTTP request | Description
613
652
  - [TimelineLabel](docs/TimelineLabel.md)
614
653
  - [TimelineMarkEntriesUnreadGreaterThanSortIndex](docs/TimelineMarkEntriesUnreadGreaterThanSortIndex.md)
615
654
  - [TimelineMessagePrompt](docs/TimelineMessagePrompt.md)
655
+ - [TimelineMetadata](docs/TimelineMetadata.md)
616
656
  - [TimelineNotification](docs/TimelineNotification.md)
617
657
  - [TimelinePinEntry](docs/TimelinePinEntry.md)
618
658
  - [TimelinePrompt](docs/TimelinePrompt.md)
619
659
  - [TimelineReplaceEntry](docs/TimelineReplaceEntry.md)
620
660
  - [TimelineResponse](docs/TimelineResponse.md)
661
+ - [TimelineResponseObjects](docs/TimelineResponseObjects.md)
621
662
  - [TimelineResult](docs/TimelineResult.md)
622
663
  - [TimelineShowAlert](docs/TimelineShowAlert.md)
664
+ - [TimelineShowAlertColorConfig](docs/TimelineShowAlertColorConfig.md)
665
+ - [TimelineShowAlertIconDisplayInfo](docs/TimelineShowAlertIconDisplayInfo.md)
623
666
  - [TimelineShowAlertRichText](docs/TimelineShowAlertRichText.md)
624
667
  - [TimelineShowCover](docs/TimelineShowCover.md)
625
668
  - [TimelineTerminateTimeline](docs/TimelineTerminateTimeline.md)
@@ -632,6 +675,7 @@ Class | Method | HTTP request | Description
632
675
  - [TimelineTweet](docs/TimelineTweet.md)
633
676
  - [TimelineTwitterList](docs/TimelineTwitterList.md)
634
677
  - [TimelineUser](docs/TimelineUser.md)
678
+ - [TimelinesDetails](docs/TimelinesDetails.md)
635
679
  - [Timestamp](docs/Timestamp.md)
636
680
  - [TombstoneEntity](docs/TombstoneEntity.md)
637
681
  - [TombstoneInfo](docs/TombstoneInfo.md)
@@ -704,11 +748,21 @@ Class | Method | HTTP request | Description
704
748
  - [UserHighlightsTweetsResult](docs/UserHighlightsTweetsResult.md)
705
749
  - [UserHighlightsTweetsTimeline](docs/UserHighlightsTweetsTimeline.md)
706
750
  - [UserHighlightsTweetsUser](docs/UserHighlightsTweetsUser.md)
751
+ - [UserLabel](docs/UserLabel.md)
752
+ - [UserLabelBadge](docs/UserLabelBadge.md)
753
+ - [UserLabelMentionResults](docs/UserLabelMentionResults.md)
754
+ - [UserLabelMentionUser](docs/UserLabelMentionUser.md)
755
+ - [UserLabelMentionUserCore](docs/UserLabelMentionUserCore.md)
756
+ - [UserLabelText](docs/UserLabelText.md)
757
+ - [UserLabelTextEntity](docs/UserLabelTextEntity.md)
758
+ - [UserLabelTextEntityRef](docs/UserLabelTextEntityRef.md)
759
+ - [UserLabelUrl](docs/UserLabelUrl.md)
707
760
  - [UserLegacy](docs/UserLegacy.md)
708
761
  - [UserLegacyExtendedProfile](docs/UserLegacyExtendedProfile.md)
709
762
  - [UserLegacyExtendedProfileBirthdate](docs/UserLegacyExtendedProfileBirthdate.md)
710
763
  - [UserLocation](docs/UserLocation.md)
711
764
  - [UserMediaPermissions](docs/UserMediaPermissions.md)
765
+ - [UserMention](docs/UserMention.md)
712
766
  - [UserNotificationsSettings](docs/UserNotificationsSettings.md)
713
767
  - [UserPinnedItems](docs/UserPinnedItems.md)
714
768
  - [UserPrivacy](docs/UserPrivacy.md)