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,76 @@
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 Literal
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = [
9
+ "StreamStartRecordingResponse",
10
+ "Data",
11
+ "DataStream",
12
+ "DataStreamClient",
13
+ "Warning",
14
+ "WarningMeta",
15
+ "WarningSourceObject",
16
+ ]
17
+
18
+
19
+ class DataStreamClient(BaseModel):
20
+ id: Optional[int] = None
21
+ """Client ID"""
22
+
23
+ storage_limit_mb: Optional[int] = None
24
+ """Current storage limit for client by megabytes"""
25
+
26
+ storage_usage_mb: Optional[float] = None
27
+ """Current storage usage for client by megabytes"""
28
+
29
+
30
+ class DataStream(BaseModel):
31
+ id: Optional[int] = None
32
+ """Stream ID"""
33
+
34
+ client: Optional[DataStreamClient] = None
35
+
36
+
37
+ class Data(BaseModel):
38
+ stream: Optional[DataStream] = None
39
+
40
+
41
+ class WarningMeta(BaseModel):
42
+ storage_limit_mb: Optional[int] = None
43
+ """Current storage limit for client by megabytes"""
44
+
45
+ storage_usage_mb: Optional[float] = None
46
+ """Current storage usage for client by megabytes"""
47
+
48
+
49
+ class WarningSourceObject(BaseModel):
50
+ id: Optional[int] = None
51
+ """Client ID"""
52
+
53
+ type: Optional[Literal["client"]] = None
54
+ """Object type (class)"""
55
+
56
+
57
+ class Warning(BaseModel):
58
+ key: Optional[Literal["client_storage_almost_exceeded"]] = None
59
+ """current warning key"""
60
+
61
+ meta: Optional[WarningMeta] = None
62
+ """storage usage state for client"""
63
+
64
+ source_object: Optional[WarningSourceObject] = None
65
+ """Warning source object"""
66
+
67
+
68
+ class StreamStartRecordingResponse(BaseModel):
69
+ data: Optional[Data] = None
70
+ """Stream data"""
71
+
72
+ errors: Optional[List[object]] = None
73
+ """List of errors received on attempt to start recording process"""
74
+
75
+ warnings: Optional[List[Warning]] = None
76
+ """List of warnings received on starting recording process"""
@@ -0,0 +1,169 @@
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 Iterable
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ __all__ = ["StreamUpdateParams", "Stream"]
9
+
10
+
11
+ class StreamUpdateParams(TypedDict, total=False):
12
+ stream: Stream
13
+
14
+
15
+ class Stream(TypedDict, total=False):
16
+ name: Required[str]
17
+ """
18
+ Stream name. Often used as a human-readable name for the stream, but can contain
19
+ any text you wish. The values are not unique and may be repeated. Examples:
20
+
21
+ - Conference in July
22
+ - Stream #10003
23
+ - Open-Air Camera #31 Backstage
24
+ - 480fd499-2de2-4988-bc1a-a4eebe9818ee
25
+ """
26
+
27
+ active: bool
28
+ """Stream switch between on and off.
29
+
30
+ This is not an indicator of the status "stream is receiving and it is LIVE", but
31
+ rather an on/off switch. When stream is switched off, there is no way to process
32
+ it: PULL is deactivated and PUSH will return an error.
33
+
34
+ - true – stream can be processed
35
+ - false – stream is off, and cannot be processed
36
+ """
37
+
38
+ auto_record: bool
39
+ """Enables autotomatic recording of the stream when it started.
40
+
41
+ So you don't need to call recording manually. Result of recording is
42
+ automatically added to video hosting. For details see the
43
+ /streams/`start_recording` method and in knowledge base Values:
44
+
45
+ - true – auto recording is enabled
46
+ - false – auto recording is disabled
47
+ """
48
+
49
+ broadcast_ids: Iterable[int]
50
+ """IDs of broadcasts which will include this stream"""
51
+
52
+ cdn_id: int
53
+ """
54
+ ID of custom CDN resource from which the content will be delivered (only if you
55
+ know what you do)
56
+ """
57
+
58
+ client_entity_data: str
59
+ """
60
+ Custom meta field designed to store your own extra information about a video
61
+ entity: video source, video id, parameters, etc. We do not use this field in any
62
+ way when processing the stream. You can store any data in any format (string,
63
+ json, etc), saved as a text string. Example:
64
+ `` client_entity_data = '{ "`seq_id`": "1234567890", "name": "John Doe", "iat": 1516239022 }' ``
65
+ """
66
+
67
+ client_user_id: int
68
+ """Custom meta field for storing the Identifier in your system.
69
+
70
+ We do not use this field in any way when processing the stream. Example:
71
+ `client_user_id = 1001`
72
+ """
73
+
74
+ dvr_duration: int
75
+ """DVR duration in seconds if DVR feature is enabled for the stream.
76
+
77
+ So this is duration of how far the user can rewind the live stream.
78
+ `dvr_duration` range is [30...14400]. Maximum value is 4 hours = 14400 seconds.
79
+ If you need more, ask the Support Team please.
80
+ """
81
+
82
+ dvr_enabled: bool
83
+ """Enables DVR for the stream:
84
+
85
+ - true – DVR is enabled
86
+ - false – DVR is disabled
87
+ """
88
+
89
+ hls_mpegts_endlist_tag: bool
90
+ """
91
+ Add `#EXT-X-ENDLIST` tag within .m3u8 playlist after the last segment of a live
92
+ stream when broadcast is ended.
93
+ """
94
+
95
+ html_overlay: bool
96
+ """
97
+ Switch on mode to insert and display real-time HTML overlay widgets on top of
98
+ live streams
99
+ """
100
+
101
+ low_latency_enabled: bool
102
+ """
103
+ Deprecated, always returns "true". The only exception is that the attribute can
104
+ only be used by clients that have previously used the old stream format. This
105
+ method is outdated since we've made it easier to manage streams. For your
106
+ convenience, you no longer need to set this parameter at the stage of creating a
107
+ stream. Now all streams are prepared in 2 formats simultaniously: Low Latency
108
+ and Legacy. You can get the desired output format in the attributes
109
+ "`dash_url`", "`hls_cmaf_url`", "`hls_mpegts_url`". Or use them all at once.
110
+
111
+ ---
112
+
113
+ Note: Links /streams/{id}/playlist.m3u8 are depricated too. Use value of the
114
+ "`hls_mpegts_url`" attribute instead.
115
+ """
116
+
117
+ projection: Literal["regular", "vr360", "vr180", "vr360tb"]
118
+ """
119
+ Visualization mode for 360° streams, how the stream is rendered in our web
120
+ player ONLY. If you would like to show video 360° in an external video player,
121
+ then use parameters of that video player. Modes:
122
+
123
+ - regular – regular “flat” stream
124
+ - vr360 – display stream in 360° mode
125
+ - vr180 – display stream in 180° mode
126
+ - vr360tb – display stream in 3D 360° mode Top-Bottom
127
+ """
128
+
129
+ pull: bool
130
+ """Indicates if stream is pulled from external server or not.
131
+
132
+ Has two possible values:
133
+
134
+ - true – stream is received by PULL method. Use this when need to get stream
135
+ from external server by srt, rtmp\\ss, hls, dash, etc protocols.
136
+ - false – stream is received by PUSH method. Use this when need to send stream
137
+ from end-device to our Streaming Platform, i.e. from mobile app or OBS Studio.
138
+ """
139
+
140
+ quality_set_id: int
141
+ """
142
+ Custom quality set ID for transcoding, if transcoding is required according to
143
+ your conditions. Look at GET /`quality_sets` method
144
+ """
145
+
146
+ record_type: Literal["origin", "transcoded"]
147
+ """Method of recording a stream.
148
+
149
+ Specifies the source from which the stream will be recorded: original or
150
+ transcoded. Types:
151
+
152
+ - "origin" – To record RMTP/SRT/etc original clean media source.
153
+ - "transcoded" – To record the output transcoded version of the stream,
154
+ including overlays, texts, logos, etc. additional media layers.
155
+ """
156
+
157
+ uri: str
158
+ """
159
+ When using PULL method, this is the URL to pull a stream from. You can specify
160
+ multiple addresses separated by a space (" "), so you can organize a backup
161
+ plan. In this case, the specified addresses will be selected one by one using
162
+ round robin scheduling. If the first address does not respond, then the next one
163
+ in the list will be automatically requested, returning to the first and so on in
164
+ a circle. Also, if the sucessfully working stream stops sending data, then the
165
+ next one will be selected according to the same scheme. After 24 hours of
166
+ inactivity of your streams we will stop PULL-ing, and will switch "active" field
167
+ to "false". Please, note that this field is for PULL only, so is not suitable
168
+ for PUSH. Look at fields "`push_url`" and "`push_url_srt`" from GET method.
169
+ """
@@ -0,0 +1,11 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .overlay import Overlay as Overlay
6
+ from .overlay_create_params import OverlayCreateParams as OverlayCreateParams
7
+ from .overlay_list_response import OverlayListResponse as OverlayListResponse
8
+ from .overlay_update_params import OverlayUpdateParams as OverlayUpdateParams
9
+ from .overlay_create_response import OverlayCreateResponse as OverlayCreateResponse
10
+ from .overlay_update_multiple_params import OverlayUpdateMultipleParams as OverlayUpdateMultipleParams
11
+ from .overlay_update_multiple_response import OverlayUpdateMultipleResponse as OverlayUpdateMultipleResponse
@@ -0,0 +1,43 @@
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__ = ["Overlay"]
8
+
9
+
10
+ class Overlay(BaseModel):
11
+ id: int
12
+ """ID of the overlay"""
13
+
14
+ created_at: str
15
+ """Datetime of creation in ISO 8601"""
16
+
17
+ stream_id: int
18
+ """ID of a stream to which it is attached"""
19
+
20
+ updated_at: str
21
+ """Datetime of last update in ISO 8601"""
22
+
23
+ url: str
24
+ """Valid http/https URL to an HTML page/widget"""
25
+
26
+ height: Optional[int] = None
27
+ """Height of the widget"""
28
+
29
+ stretch: Optional[bool] = None
30
+ """Switch of auto scaling the widget.
31
+
32
+ Must not be used as "true" simultaneously with the coordinate installation
33
+ method (w, h, x, y).
34
+ """
35
+
36
+ width: Optional[int] = None
37
+ """Width of the widget"""
38
+
39
+ x: Optional[int] = None
40
+ """Coordinate of left upper corner"""
41
+
42
+ y: Optional[int] = None
43
+ """Coordinate of left upper corner"""
@@ -0,0 +1,36 @@
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 Iterable
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["OverlayCreateParams", "Body"]
9
+
10
+
11
+ class OverlayCreateParams(TypedDict, total=False):
12
+ body: Iterable[Body]
13
+
14
+
15
+ class Body(TypedDict, total=False):
16
+ url: Required[str]
17
+ """Valid http/https URL to an HTML page/widget"""
18
+
19
+ height: int
20
+ """Height of the widget"""
21
+
22
+ stretch: bool
23
+ """Switch of auto scaling the widget.
24
+
25
+ Must not be used as "true" simultaneously with the coordinate installation
26
+ method (w, h, x, y).
27
+ """
28
+
29
+ width: int
30
+ """Width of the widget"""
31
+
32
+ x: int
33
+ """Coordinate of left upper corner"""
34
+
35
+ y: int
36
+ """Coordinate of left upper corner"""
@@ -0,0 +1,10 @@
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 .overlay import Overlay
7
+
8
+ __all__ = ["OverlayCreateResponse"]
9
+
10
+ OverlayCreateResponse: TypeAlias = List[Overlay]
@@ -0,0 +1,10 @@
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 .overlay import Overlay
7
+
8
+ __all__ = ["OverlayListResponse"]
9
+
10
+ OverlayListResponse: TypeAlias = List[Overlay]
@@ -0,0 +1,39 @@
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 Iterable
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["OverlayUpdateMultipleParams", "Body"]
9
+
10
+
11
+ class OverlayUpdateMultipleParams(TypedDict, total=False):
12
+ body: Iterable[Body]
13
+
14
+
15
+ class Body(TypedDict, total=False):
16
+ id: Required[int]
17
+ """ID of the overlay"""
18
+
19
+ height: int
20
+ """Height of the widget"""
21
+
22
+ stretch: bool
23
+ """Switch of auto scaling the widget.
24
+
25
+ Must not be used as "true" simultaneously with the coordinate installation
26
+ method (w, h, x, y).
27
+ """
28
+
29
+ url: str
30
+ """Valid http/https URL to an HTML page/widget"""
31
+
32
+ width: int
33
+ """Width of the widget"""
34
+
35
+ x: int
36
+ """Coordinate of left upper corner"""
37
+
38
+ y: int
39
+ """Coordinate of left upper corner"""
@@ -0,0 +1,10 @@
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 .overlay import Overlay
7
+
8
+ __all__ = ["OverlayUpdateMultipleResponse"]
9
+
10
+ OverlayUpdateMultipleResponse: TypeAlias = List[Overlay]
@@ -0,0 +1,33 @@
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__ = ["OverlayUpdateParams"]
8
+
9
+
10
+ class OverlayUpdateParams(TypedDict, total=False):
11
+ stream_id: Required[int]
12
+
13
+ height: int
14
+ """Height of the widget"""
15
+
16
+ stretch: bool
17
+ """Switch of auto scaling the widget.
18
+
19
+ Must not be used as "true" simultaneously with the coordinate installation
20
+ method (w, h, x, y).
21
+ """
22
+
23
+ url: str
24
+ """Valid http/https URL to an HTML page/widget"""
25
+
26
+ width: int
27
+ """Width of the widget"""
28
+
29
+ x: int
30
+ """Coordinate of left upper corner"""
31
+
32
+ y: int
33
+ """Coordinate of left upper corner"""
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .subtitle_base import SubtitleBase
6
+
7
+ __all__ = ["Subtitle"]
8
+
9
+
10
+ class Subtitle(SubtitleBase):
11
+ id: Optional[int] = None
12
+ """ID of subtitle file"""
@@ -0,0 +1,18 @@
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__ = ["SubtitleBase"]
8
+
9
+
10
+ class SubtitleBase(BaseModel):
11
+ language: Optional[str] = None
12
+ """3-letter language code according to ISO-639-2 (bibliographic code)"""
13
+
14
+ name: Optional[str] = None
15
+ """Name of subtitle file"""
16
+
17
+ vtt: Optional[str] = None
18
+ """Full text of subtitles/captions, with escaped "\n" ("\r") symbol of new line"""
@@ -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__ = ["SubtitleBaseParam"]
8
+
9
+
10
+ class SubtitleBaseParam(TypedDict, total=False):
11
+ language: str
12
+ """3-letter language code according to ISO-639-2 (bibliographic code)"""
13
+
14
+ name: str
15
+ """Name of subtitle file"""
16
+
17
+ vtt: str
18
+ """Full text of subtitles/captions, with escaped "\n" ("\r") symbol of new line"""
@@ -0,0 +1,35 @@
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__ = ["UniqueViewers", "Data"]
8
+
9
+
10
+ class Data(BaseModel):
11
+ date: str
12
+
13
+ unique_ips: int
14
+
15
+ id: Optional[int] = None
16
+
17
+ browser: Optional[str] = None
18
+
19
+ country: Optional[str] = None
20
+
21
+ event: Optional[str] = None
22
+
23
+ host: Optional[str] = None
24
+
25
+ ip: Optional[str] = None
26
+
27
+ os: Optional[str] = None
28
+
29
+ platform: Optional[str] = None
30
+
31
+ type: Optional[str] = None
32
+
33
+
34
+ class UniqueViewers(BaseModel):
35
+ data: Optional[List[Data]] = None
@@ -0,0 +1,17 @@
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__ = ["UniqueViewersCdn", "Data"]
8
+
9
+
10
+ class Data(BaseModel):
11
+ type: str
12
+
13
+ uniqs: int
14
+
15
+
16
+ class UniqueViewersCdn(BaseModel):
17
+ data: Optional[List[Data]] = None