gcore 0.6.0__py3-none-any.whl → 0.7.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.

Potentially problematic release.


This version of gcore might be problematic. Click here for more details.

Files changed (181) hide show
  1. gcore/_client.py +9 -0
  2. gcore/_models.py +24 -3
  3. gcore/_version.py +1 -1
  4. gcore/pagination.py +101 -1
  5. gcore/resources/__init__.py +14 -0
  6. gcore/resources/cloud/__init__.py +28 -0
  7. gcore/resources/cloud/cloud.py +64 -0
  8. gcore/resources/cloud/cost_reports.py +811 -0
  9. gcore/resources/cloud/file_shares/file_shares.py +10 -0
  10. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +61 -26
  11. gcore/resources/cloud/inference/registry_credentials.py +4 -6
  12. gcore/resources/cloud/usage_reports.py +337 -0
  13. gcore/resources/streaming/__init__.py +159 -0
  14. gcore/resources/streaming/ai_tasks.py +1288 -0
  15. gcore/resources/streaming/broadcasts.py +579 -0
  16. gcore/resources/streaming/directories.py +515 -0
  17. gcore/resources/streaming/players.py +577 -0
  18. gcore/resources/streaming/playlists.py +1059 -0
  19. gcore/resources/streaming/quality_sets.py +331 -0
  20. gcore/resources/streaming/restreams.py +484 -0
  21. gcore/resources/streaming/statistics.py +3224 -0
  22. gcore/resources/streaming/streaming.py +390 -0
  23. gcore/resources/streaming/streams/__init__.py +33 -0
  24. gcore/resources/streaming/streams/overlays.py +716 -0
  25. gcore/resources/streaming/streams/streams.py +1592 -0
  26. gcore/resources/streaming/videos/__init__.py +33 -0
  27. gcore/resources/streaming/videos/subtitles.py +623 -0
  28. gcore/resources/streaming/videos/videos.py +1553 -0
  29. gcore/resources/waap/ip_info.py +28 -10
  30. gcore/types/cloud/__init__.py +10 -0
  31. gcore/types/cloud/cost_report_aggregated.py +865 -0
  32. gcore/types/cloud/cost_report_aggregated_monthly.py +865 -0
  33. gcore/types/cloud/cost_report_detailed.py +1343 -0
  34. gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +394 -0
  35. gcore/types/cloud/cost_report_get_aggregated_params.py +409 -0
  36. gcore/types/cloud/cost_report_get_detailed_params.py +435 -0
  37. gcore/types/cloud/file_share.py +37 -3
  38. gcore/types/cloud/file_share_create_params.py +16 -0
  39. gcore/types/cloud/gpu_baremetal_cluster.py +2 -2
  40. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +9 -0
  41. gcore/types/cloud/quota_get_all_response.py +24 -2
  42. gcore/types/cloud/quota_get_by_region_response.py +24 -2
  43. gcore/types/cloud/quotas/request_create_params.py +12 -1
  44. gcore/types/cloud/quotas/request_get_response.py +12 -1
  45. gcore/types/cloud/quotas/request_list_response.py +12 -1
  46. gcore/types/cloud/usage_report.py +1612 -0
  47. gcore/types/cloud/usage_report_get_params.py +432 -0
  48. gcore/types/streaming/__init__.py +143 -0
  49. gcore/types/streaming/ai_contentmoderation_casm.py +39 -0
  50. gcore/types/streaming/ai_contentmoderation_hardnudity.py +54 -0
  51. gcore/types/streaming/ai_contentmoderation_nsfw.py +39 -0
  52. gcore/types/streaming/ai_contentmoderation_softnudity.py +66 -0
  53. gcore/types/streaming/ai_contentmoderation_sport.py +39 -0
  54. gcore/types/streaming/ai_contentmoderation_weapon.py +39 -0
  55. gcore/types/streaming/ai_task.py +205 -0
  56. gcore/types/streaming/ai_task_cancel_response.py +12 -0
  57. gcore/types/streaming/ai_task_create_params.py +168 -0
  58. gcore/types/streaming/ai_task_create_response.py +10 -0
  59. gcore/types/streaming/ai_task_get_ai_settings_params.py +27 -0
  60. gcore/types/streaming/ai_task_get_ai_settings_response.py +12 -0
  61. gcore/types/streaming/ai_task_get_response.py +313 -0
  62. gcore/types/streaming/ai_task_list_params.py +50 -0
  63. gcore/types/streaming/broadcast.py +71 -0
  64. gcore/types/streaming/broadcast_create_params.py +76 -0
  65. gcore/types/streaming/broadcast_list_params.py +12 -0
  66. gcore/types/streaming/broadcast_spectators_count.py +12 -0
  67. gcore/types/streaming/broadcast_update_params.py +76 -0
  68. gcore/types/streaming/clip.py +78 -0
  69. gcore/types/streaming/create_video_param.py +214 -0
  70. gcore/types/streaming/direct_upload_parameters.py +33 -0
  71. gcore/types/streaming/directories_tree.py +19 -0
  72. gcore/types/streaming/directory_base.py +31 -0
  73. gcore/types/streaming/directory_create_params.py +15 -0
  74. gcore/types/streaming/directory_get_response.py +19 -0
  75. gcore/types/streaming/directory_item.py +13 -0
  76. gcore/types/streaming/directory_update_params.py +18 -0
  77. gcore/types/streaming/directory_video.py +13 -0
  78. gcore/types/streaming/ffprobes.py +25 -0
  79. gcore/types/streaming/max_stream_series.py +21 -0
  80. gcore/types/streaming/meet_series.py +23 -0
  81. gcore/types/streaming/player.py +114 -0
  82. gcore/types/streaming/player_create_params.py +18 -0
  83. gcore/types/streaming/player_list_params.py +12 -0
  84. gcore/types/streaming/player_param.py +114 -0
  85. gcore/types/streaming/player_update_params.py +18 -0
  86. gcore/types/streaming/playlist.py +102 -0
  87. gcore/types/streaming/playlist_create.py +12 -0
  88. gcore/types/streaming/playlist_create_params.py +102 -0
  89. gcore/types/streaming/playlist_list_params.py +12 -0
  90. gcore/types/streaming/playlist_list_videos_response.py +10 -0
  91. gcore/types/streaming/playlist_update_params.py +102 -0
  92. gcore/types/streaming/playlist_video.py +215 -0
  93. gcore/types/streaming/popular_videos.py +17 -0
  94. gcore/types/streaming/quality_set_set_default_params.py +23 -0
  95. gcore/types/streaming/quality_sets.py +57 -0
  96. gcore/types/streaming/restream.py +37 -0
  97. gcore/types/streaming/restream_create_params.py +41 -0
  98. gcore/types/streaming/restream_list_params.py +12 -0
  99. gcore/types/streaming/restream_update_params.py +41 -0
  100. gcore/types/streaming/statistic_get_ffprobes_params.py +22 -0
  101. gcore/types/streaming/statistic_get_live_unique_viewers_params.py +26 -0
  102. gcore/types/streaming/statistic_get_live_unique_viewers_response.py +25 -0
  103. gcore/types/streaming/statistic_get_live_watch_time_cdn_params.py +32 -0
  104. gcore/types/streaming/statistic_get_live_watch_time_total_cdn_params.py +30 -0
  105. gcore/types/streaming/statistic_get_max_streams_series_params.py +20 -0
  106. gcore/types/streaming/statistic_get_meet_series_params.py +20 -0
  107. gcore/types/streaming/statistic_get_popular_videos_params.py +15 -0
  108. gcore/types/streaming/statistic_get_storage_series_params.py +20 -0
  109. gcore/types/streaming/statistic_get_stream_series_params.py +20 -0
  110. gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +27 -0
  111. gcore/types/streaming/statistic_get_unique_viewers_params.py +34 -0
  112. gcore/types/streaming/statistic_get_views_by_browsers_params.py +15 -0
  113. gcore/types/streaming/statistic_get_views_by_country_params.py +15 -0
  114. gcore/types/streaming/statistic_get_views_by_hostname_params.py +15 -0
  115. gcore/types/streaming/statistic_get_views_by_operating_system_params.py +15 -0
  116. gcore/types/streaming/statistic_get_views_by_referer_params.py +15 -0
  117. gcore/types/streaming/statistic_get_views_by_region_params.py +15 -0
  118. gcore/types/streaming/statistic_get_views_heatmap_params.py +21 -0
  119. gcore/types/streaming/statistic_get_views_params.py +34 -0
  120. gcore/types/streaming/statistic_get_vod_storage_volume_params.py +17 -0
  121. gcore/types/streaming/statistic_get_vod_transcoding_duration_params.py +17 -0
  122. gcore/types/streaming/statistic_get_vod_unique_viewers_cdn_params.py +26 -0
  123. gcore/types/streaming/statistic_get_vod_watch_time_cdn_params.py +32 -0
  124. gcore/types/streaming/statistic_get_vod_watch_time_total_cdn_params.py +30 -0
  125. gcore/types/streaming/statistic_get_vod_watch_time_total_cdn_response.py +22 -0
  126. gcore/types/streaming/storage_series.py +23 -0
  127. gcore/types/streaming/stream.py +420 -0
  128. gcore/types/streaming/stream_create_clip_params.py +48 -0
  129. gcore/types/streaming/stream_create_params.py +165 -0
  130. gcore/types/streaming/stream_list_clips_response.py +10 -0
  131. gcore/types/streaming/stream_list_params.py +18 -0
  132. gcore/types/streaming/stream_series.py +21 -0
  133. gcore/types/streaming/stream_start_recording_response.py +76 -0
  134. gcore/types/streaming/stream_update_params.py +169 -0
  135. gcore/types/streaming/streams/__init__.py +11 -0
  136. gcore/types/streaming/streams/overlay.py +43 -0
  137. gcore/types/streaming/streams/overlay_create_params.py +36 -0
  138. gcore/types/streaming/streams/overlay_create_response.py +10 -0
  139. gcore/types/streaming/streams/overlay_list_response.py +10 -0
  140. gcore/types/streaming/streams/overlay_update_multiple_params.py +39 -0
  141. gcore/types/streaming/streams/overlay_update_multiple_response.py +10 -0
  142. gcore/types/streaming/streams/overlay_update_params.py +33 -0
  143. gcore/types/streaming/subtitle.py +12 -0
  144. gcore/types/streaming/subtitle_base.py +18 -0
  145. gcore/types/streaming/subtitle_base_param.py +18 -0
  146. gcore/types/streaming/unique_viewers.py +35 -0
  147. gcore/types/streaming/unique_viewers_cdn.py +17 -0
  148. gcore/types/streaming/video.py +444 -0
  149. gcore/types/streaming/video_create_multiple_params.py +28 -0
  150. gcore/types/streaming/video_create_multiple_response.py +10 -0
  151. gcore/types/streaming/video_create_params.py +13 -0
  152. gcore/types/streaming/video_create_response.py +10 -0
  153. gcore/types/streaming/video_list_names_params.py +13 -0
  154. gcore/types/streaming/video_list_params.py +59 -0
  155. gcore/types/streaming/video_update_params.py +214 -0
  156. gcore/types/streaming/videos/__init__.py +7 -0
  157. gcore/types/streaming/videos/subtitle_create_params.py +17 -0
  158. gcore/types/streaming/videos/subtitle_list_response.py +10 -0
  159. gcore/types/streaming/videos/subtitle_update_params.py +20 -0
  160. gcore/types/streaming/views.py +35 -0
  161. gcore/types/streaming/views_by_browser.py +17 -0
  162. gcore/types/streaming/views_by_country.py +19 -0
  163. gcore/types/streaming/views_by_hostname.py +17 -0
  164. gcore/types/streaming/views_by_operating_system.py +17 -0
  165. gcore/types/streaming/views_by_referer.py +17 -0
  166. gcore/types/streaming/views_by_region.py +19 -0
  167. gcore/types/streaming/views_heatmap.py +19 -0
  168. gcore/types/streaming/vod_statistics_series.py +21 -0
  169. gcore/types/streaming/vod_total_stream_duration_series.py +22 -0
  170. gcore/types/waap/domains/custom_rule_create_params.py +4 -4
  171. gcore/types/waap/domains/custom_rule_update_params.py +4 -4
  172. gcore/types/waap/ip_info_get_blocked_requests_params.py +5 -1
  173. gcore/types/waap/ip_info_get_counts_params.py +2 -1
  174. gcore/types/waap/ip_info_get_top_sessions_params.py +5 -1
  175. gcore/types/waap/ip_info_get_top_urls_params.py +5 -1
  176. gcore/types/waap/ip_info_get_top_user_agents_params.py +5 -1
  177. gcore/types/waap/waap_custom_rule.py +4 -4
  178. {gcore-0.6.0.dist-info → gcore-0.7.0.dist-info}/METADATA +1 -1
  179. {gcore-0.6.0.dist-info → gcore-0.7.0.dist-info}/RECORD +181 -33
  180. {gcore-0.6.0.dist-info → gcore-0.7.0.dist-info}/WHEEL +0 -0
  181. {gcore-0.6.0.dist-info → gcore-0.7.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,214 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Literal, Required, TypedDict
6
+
7
+ __all__ = ["CreateVideoParam"]
8
+
9
+
10
+ class CreateVideoParam(TypedDict, total=False):
11
+ name: Required[str]
12
+ """Video name"""
13
+
14
+ auto_transcribe_audio_language: Literal["disable", "auto", "<language_code>"]
15
+ """Automatic creation of subtitles by transcribing the audio track. Values:
16
+
17
+ - disable – Do not transcribe.
18
+ - auto – Automatically detects the activation of the option based on the
19
+ settings in your account. If generation is activated, then automatic language
20
+ detection while transcribing.
21
+ - \\ – Transcribe from specific language. Can be used to specify the exact
22
+ language spoken in the audio track, or when auto language detection fails.
23
+ Language is set by 3-letter language code according to ISO-639-2
24
+ (bibliographic code). List of languages is available in `audio_language`
25
+ attribute of API POST /streaming/ai/transcribe . Example:
26
+
27
+ ```
28
+ `auto_transcribe_audio_language`: "auto"
29
+ `auto_transcribe_audio_language`: "ger"
30
+ ```
31
+
32
+ More details:
33
+
34
+ - List of AI tasks – API
35
+ [GET /streaming/ai/tasks](https://api.gcore.com/docs/streaming/docs/api-reference/streaming/ai/get-ai-task-result)
36
+ - Add subtitles to an exist video – API
37
+ [POST /streaming/videos/{`video_id`}/subtitles](https://api.gcore.com/docs/streaming/docs/api-reference/streaming/subtitles/add-subtitle).
38
+ """
39
+
40
+ auto_translate_subtitles_language: Literal["disable", "default", "<language_codes,>"]
41
+ """Automatic translation of auto-transcribed subtitles to the specified
42
+ language(s).
43
+
44
+ Can be used both together with `auto_transcribe_audio_language` option only. Use
45
+ it when you want to make automatic subtitles in languages other than the
46
+ original language in audio. Values:
47
+
48
+ - disable – Do not translate.
49
+ - default – There are 3 default languages: eng,fre,ger
50
+ - \\ – Explicit language to translate to, or list of languages separated by a
51
+ comma. Look at list of available languages in description of AI ASR task
52
+ creation. If several languages are specified for translation, a separate
53
+ subtitle will be generated for each language. Example:
54
+
55
+ ```
56
+ `auto_translate_subtitles_language`: default
57
+ `auto_translate_subtitles_language`: eng,fre,ger
58
+ ```
59
+
60
+ Please note that subtitle translation is done separately and after
61
+ transcription. Thus separate AI-tasks are created for translation.
62
+ """
63
+
64
+ client_user_id: int
65
+ """Custom field where you can specify user ID in your system"""
66
+
67
+ clip_duration_seconds: int
68
+ """
69
+ The length of the trimmed segment to transcode, instead of the entire length of
70
+ the video. Is only used in conjunction with specifying the start of a segment.
71
+ Transcoding duration is a number in seconds.
72
+ """
73
+
74
+ clip_start_seconds: int
75
+ """
76
+ If you want to transcode only a trimmed segment of a video instead of entire
77
+ length if the video, then you can provide timecodes of starting point and
78
+ duration of a segment to process. Start encoding from is a number in seconds.
79
+ """
80
+
81
+ custom_iframe_url: str
82
+ """
83
+ Deprecated. Custom URL of IFrame for video player to be used in share panel in
84
+ player. Auto generated IFrame URL provided by default
85
+ """
86
+
87
+ description: str
88
+ """Video details; not visible to the end-users"""
89
+
90
+ directory_id: int
91
+ """ID of the directory where the video should be uploaded. (beta)"""
92
+
93
+ origin_http_headers: str
94
+ """Authorization HTTP request header.
95
+
96
+ Will be used as credentials to authenticate a request to download a file
97
+ (specified in "`origin_url`" parameter) on an external server. Syntax:
98
+ `Authorization: ` Examples:
99
+
100
+ - "`origin_http_headers`": "Authorization: Basic ..."
101
+ - "`origin_http_headers`": "Authorization: Bearer ..."
102
+ - "`origin_http_headers`": "Authorization: APIKey ..." Example of usage when
103
+ downloading a file from Google Drive:
104
+
105
+ ```
106
+ POST https://api.gcore.com/streaming/videos
107
+ "video": {
108
+ "name": "IBC 2024 intro.mp4",
109
+ "`origin_url`": "https://www.googleapis.com/drive/v3/files/...?alt=media",
110
+ "`origin_http_headers`": "Authorization: Bearer ABC"
111
+ }
112
+ ```
113
+ """
114
+
115
+ origin_url: str
116
+ """
117
+ URL to an original file which you want to copy from external storage. If
118
+ specified, system will download the file and will use it as video source for
119
+ transcoding.
120
+ """
121
+
122
+ poster: str
123
+ """
124
+ Poster is your own static image which can be displayed before the video starts.
125
+ After uploading the video, the system will automatically create several
126
+ screenshots (they will be stored in "screenshots" attribute) from which you can
127
+ select an default screenshot. This "poster" field is for uploading your own
128
+ image. Also use attribute "`screenshot_id`" to select poster as a default
129
+ screnshot. Attribute accepts single image as base64-encoded string
130
+ [(RFC 2397 – The "data" URL scheme)](https://www.rfc-editor.org/rfc/rfc2397). In
131
+ format: `data:[];base64,` MIME-types are image/jpeg, image/webp, and image/png
132
+ and file sizes up to 1Mb. Examples:
133
+
134
+ - `data:image/jpeg;base64,/9j/4AA...qf/2Q==`
135
+ - `data:image/png;base64,iVBORw0KGg...ggg==`
136
+ - `data:image/webp;base64,UklGRt.../DgAAAAA`
137
+ """
138
+
139
+ priority: int
140
+ """
141
+ Priority allows you to adjust the urgency of processing some videos before
142
+ others in your account, if your algorithm requires it. For example, when there
143
+ are very urgent video and some regular ones that can wait in the queue. Value
144
+ range, integer [-10..10]. -10 is the lowest down-priority, 10 is the highest
145
+ up-priority. Default priority is 0.
146
+ """
147
+
148
+ projection: str
149
+ """Deprecated. Regulates the video format:
150
+
151
+ - **regular** — plays the video as usual
152
+ - **vr360** — plays the video in 360 degree mode
153
+ - **vr180** — plays the video in 180 degree mode
154
+ - **vr360tb** — plays the video in 3D 360 degree mode Top-Bottom.
155
+
156
+ Default is regular
157
+ """
158
+
159
+ quality_set_id: int
160
+ """
161
+ Custom quality set ID for transcoding, if transcoding is required according to
162
+ your conditions. Look at GET /`quality_sets` method
163
+ """
164
+
165
+ remote_poster_url: str
166
+ """
167
+ Poster URL to download from external resource, instead of uploading via "poster"
168
+ attribute. It has the same restrictions as "poster" attribute.
169
+ """
170
+
171
+ remove_poster: bool
172
+ """Set it to true to remove poster"""
173
+
174
+ screenshot_id: int
175
+ """
176
+ Default screenshot index. Specify an ID from the "screenshots" array, so that
177
+ the URL of the required screenshot appears in the "screenshot" attribute as the
178
+ default screenshot. By default 5 static screenshots will be taken from different
179
+ places in the video after transcoding. If the video is short, there may be fewer
180
+ screenshots. Counting from 0. A value of -1 sets the default screenshot to the
181
+ URL of your own image from the "poster" attribute. Look at "screenshot"
182
+ attribute in GET /videos/{`video_id`} for details.
183
+ """
184
+
185
+ share_url: str
186
+ """
187
+ Deprecated. Custom URL or iframe displayed in the link field when a user clicks
188
+ on a sharing button in player. If empty, the link field and social network
189
+ sharing is disabled
190
+ """
191
+
192
+ source_bitrate_limit: bool
193
+ """
194
+ The option allows you to set the video transcoding rule so that the output
195
+ bitrate in ABR ladder is not exceeding the bitrate of the original video.
196
+
197
+ This option is for advanced users only.
198
+
199
+ By default `source_bitrate_limit: true` this option allows you to have the
200
+ output bitrate not more than in the original video, thus to transcode video
201
+ faster and to deliver it to end-viewers faster as well. At the same time, the
202
+ quality will be similar to the original. If for some reason you need more
203
+ byte-space in the output quality when encoding, you can set this option to
204
+ `source_bitrate_limit: false`. Then, when transcoding, the quality ceiling will
205
+ be raised from the bitrate of the original video to the maximum possible limit
206
+ specified in our the Product Documentation. For example, this may be needed
207
+ when:
208
+
209
+ - to improve the visual quality parameters using PSNR, SSIM, VMAF metrics,
210
+ - to improve the picture quality on dynamic scenes,
211
+ - etc. The option is applied only at the video creation stage and cannot be
212
+ changed later. If you want to re-transcode the video using new value, then you
213
+ need to create and upload a new video only.
214
+ """
@@ -0,0 +1,33 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["DirectUploadParameters"]
8
+
9
+
10
+ class DirectUploadParameters(BaseModel):
11
+ token: Optional[str] = None
12
+ """Token"""
13
+
14
+ servers: Optional[List[object]] = None
15
+ """An array which contains information about servers you can upload a video to.
16
+
17
+ **Server;** type — object.
18
+
19
+ ---
20
+
21
+ Server has the following fields:
22
+
23
+ - **id;** type — integer
24
+ Server ID
25
+ - **hostname;** type — string
26
+ Server hostname
27
+ """
28
+
29
+ video: Optional[object] = None
30
+ """Contains information about the created video.
31
+
32
+ See the full description in the Get video request
33
+ """
@@ -0,0 +1,19 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List, Optional
6
+
7
+ from ..._models import BaseModel
8
+ from .directory_base import DirectoryBase
9
+
10
+ __all__ = ["DirectoriesTree", "Tree"]
11
+
12
+
13
+ class Tree(DirectoryBase):
14
+ descendants: Optional[List["DirectoriesTree"]] = None
15
+ """Array of subdirectories, if any."""
16
+
17
+
18
+ class DirectoriesTree(BaseModel):
19
+ tree: Optional[List[Tree]] = None
@@ -0,0 +1,31 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["DirectoryBase"]
8
+
9
+
10
+ class DirectoryBase(BaseModel):
11
+ id: Optional[int] = None
12
+ """ID of the directory"""
13
+
14
+ created_at: Optional[str] = None
15
+ """Time of creation. Datetime in ISO 8601 format."""
16
+
17
+ items_count: Optional[int] = None
18
+ """Number of objects in this directory.
19
+
20
+ Counting files and folders. The quantity is calculated only at one level (not
21
+ recursively in all subfolders).
22
+ """
23
+
24
+ name: Optional[str] = None
25
+ """Title of the directory"""
26
+
27
+ parent_id: Optional[int] = None
28
+ """ID of a parent directory. "null" if it's in the root."""
29
+
30
+ updated_at: Optional[str] = None
31
+ """Time of last update of the directory entity. Datetime in ISO 8601 format."""
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["DirectoryCreateParams"]
8
+
9
+
10
+ class DirectoryCreateParams(TypedDict, total=False):
11
+ name: Required[str]
12
+ """Title of the directory."""
13
+
14
+ parent_id: int
15
+ """ID of a parent directory. "null" if it's in the root."""
@@ -0,0 +1,19 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Union, Optional
4
+
5
+ from ..._models import BaseModel
6
+ from .directory_base import DirectoryBase
7
+ from .directory_item import DirectoryItem
8
+ from .directory_video import DirectoryVideo
9
+
10
+ __all__ = ["DirectoryGetResponse", "Directory"]
11
+
12
+
13
+ class Directory(DirectoryBase):
14
+ items: Optional[List[Union[DirectoryVideo, DirectoryItem]]] = None
15
+ """Array of subdirectories, if any."""
16
+
17
+
18
+ class DirectoryGetResponse(BaseModel):
19
+ directory: Optional[Directory] = None
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from .directory_base import DirectoryBase
7
+
8
+ __all__ = ["DirectoryItem"]
9
+
10
+
11
+ class DirectoryItem(DirectoryBase):
12
+ item_type: Optional[Literal["Directory"]] = None
13
+ """Type of the entity: directory, or video"""
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["DirectoryUpdateParams"]
8
+
9
+
10
+ class DirectoryUpdateParams(TypedDict, total=False):
11
+ name: str
12
+ """Title of the directory. Omit this if you don't want to change."""
13
+
14
+ parent_id: int
15
+ """ID of a parent directory.
16
+
17
+ "null" if it's in the root. Omit this if you don't want to change.
18
+ """
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from .video import Video
7
+
8
+ __all__ = ["DirectoryVideo"]
9
+
10
+
11
+ class DirectoryVideo(Video):
12
+ item_type: Optional[Literal["Video"]] = None
13
+ """Type of the entity: directory, or video"""
@@ -0,0 +1,25 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["Ffprobes", "Data"]
8
+
9
+
10
+ class Data(BaseModel):
11
+ avg_bitrate: float
12
+
13
+ max_fps: float
14
+
15
+ max_height: int
16
+
17
+ max_keyframe_interval: int
18
+
19
+ sum_frames: int
20
+
21
+ time: str
22
+
23
+
24
+ class Ffprobes(BaseModel):
25
+ data: Optional[List[Data]] = None
@@ -0,0 +1,21 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from typing_extensions import TypeAlias
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["MaxStreamSeries", "MaxStreamSeryItem", "MaxStreamSeryItemMetrics"]
9
+
10
+
11
+ class MaxStreamSeryItemMetrics(BaseModel):
12
+ streams: List[int]
13
+
14
+
15
+ class MaxStreamSeryItem(BaseModel):
16
+ client: int
17
+
18
+ metrics: MaxStreamSeryItemMetrics
19
+
20
+
21
+ MaxStreamSeries: TypeAlias = List[MaxStreamSeryItem]
@@ -0,0 +1,23 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from typing_extensions import TypeAlias
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["MeetSeries", "MeetSeryItem", "MeetSeryItemMetrics"]
9
+
10
+
11
+ class MeetSeryItemMetrics(BaseModel):
12
+ max_meet_usage: Optional[List[int]] = None
13
+
14
+ meet: Optional[List[List[int]]] = None
15
+
16
+
17
+ class MeetSeryItem(BaseModel):
18
+ client: int
19
+
20
+ metrics: MeetSeryItemMetrics
21
+
22
+
23
+ MeetSeries: TypeAlias = List[MeetSeryItem]
@@ -0,0 +1,114 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["Player"]
8
+
9
+
10
+ class Player(BaseModel):
11
+ name: str
12
+ """Player name"""
13
+
14
+ id: Optional[int] = None
15
+ """Player ID"""
16
+
17
+ autoplay: Optional[bool] = None
18
+ """Enables video playback right after player load:
19
+
20
+ - **true** — video starts playing right after player loads
21
+ - **false** — video isn’t played automatically. A user must click play to start
22
+
23
+ Default is false
24
+ """
25
+
26
+ bg_color: Optional[str] = None
27
+ """Color of skin background in format #AAAAAA"""
28
+
29
+ client_id: Optional[int] = None
30
+ """Client ID"""
31
+
32
+ custom_css: Optional[str] = None
33
+ """Custom CSS to be added to player iframe"""
34
+
35
+ design: Optional[str] = None
36
+ """String to be rendered as JS parameters to player"""
37
+
38
+ disable_skin: Optional[bool] = None
39
+ """Enables/Disables player skin:
40
+
41
+ - **true** — player skin is disabled
42
+ - **false** — player skin is enabled
43
+
44
+ Default is false
45
+ """
46
+
47
+ fg_color: Optional[str] = None
48
+ """Color of skin foreground (elements) in format #AAAAAA"""
49
+
50
+ framework: Optional[str] = None
51
+ """Player framework type"""
52
+
53
+ hover_color: Optional[str] = None
54
+ """Color of foreground elements when mouse is over in format #AAAAAA"""
55
+
56
+ js_url: Optional[str] = None
57
+ """Player main JS file URL. Leave empty to use JS URL from the default player"""
58
+
59
+ logo: Optional[str] = None
60
+ """URL to logo image"""
61
+
62
+ logo_position: Optional[str] = None
63
+ """Logotype position.
64
+ Has four possible values:
65
+
66
+ - **tl** — top left
67
+ - **tr** — top right
68
+ - **bl** — bottom left
69
+ - **br** — bottom right
70
+
71
+ Default is null
72
+ """
73
+
74
+ mute: Optional[bool] = None
75
+ """Regulates the sound volume:
76
+
77
+ - **true** — video starts with volume off
78
+ - **false** — video starts with volume on
79
+
80
+ Default is false
81
+ """
82
+
83
+ save_options_to_cookies: Optional[bool] = None
84
+ """Enables/Disables saving volume and other options in cookies:
85
+
86
+ - **true** — user settings will be saved
87
+ - **false** — user settings will not be saved
88
+
89
+ Default is true
90
+ """
91
+
92
+ show_sharing: Optional[bool] = None
93
+ """Enables/Disables sharing button display:
94
+
95
+ - **true** — sharing button is displayed
96
+ - **false** — no sharing button is displayed
97
+
98
+ Default is true
99
+ """
100
+
101
+ skin_is_url: Optional[str] = None
102
+ """URL to custom skin JS file"""
103
+
104
+ speed_control: Optional[bool] = None
105
+ """Enables/Disables speed control button display:
106
+
107
+ - **true** — sharing button is displayed
108
+ - **false** — no sharing button is displayed
109
+
110
+ Default is false
111
+ """
112
+
113
+ text_color: Optional[str] = None
114
+ """Color of skin text elements in format #AAAAAA"""
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ from .player_param import PlayerParam
8
+
9
+ __all__ = ["PlayerCreateParams"]
10
+
11
+
12
+ class PlayerCreateParams(TypedDict, total=False):
13
+ player: PlayerParam
14
+ """Set of properties for displaying videos.
15
+
16
+ All parameters may be blank to inherit their values from default Streaming
17
+ player.
18
+ """
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["PlayerListParams"]
8
+
9
+
10
+ class PlayerListParams(TypedDict, total=False):
11
+ page: int
12
+ """Query parameter. Use it to list the paginated content"""