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__ = ["VideoUpdateParams"]
8
+
9
+
10
+ class VideoUpdateParams(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,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .subtitle_create_params import SubtitleCreateParams as SubtitleCreateParams
6
+ from .subtitle_list_response import SubtitleListResponse as SubtitleListResponse
7
+ from .subtitle_update_params import SubtitleUpdateParams as SubtitleUpdateParams
@@ -0,0 +1,17 @@
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
+ from ..subtitle_base_param import SubtitleBaseParam
8
+
9
+ __all__ = ["SubtitleCreateParams", "Body"]
10
+
11
+
12
+ class SubtitleCreateParams(TypedDict, total=False):
13
+ body: Required[Body]
14
+
15
+
16
+ class Body(SubtitleBaseParam, total=False):
17
+ pass
@@ -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 ..subtitle import Subtitle
7
+
8
+ __all__ = ["SubtitleListResponse"]
9
+
10
+ SubtitleListResponse: TypeAlias = List[Subtitle]
@@ -0,0 +1,20 @@
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__ = ["SubtitleUpdateParams"]
8
+
9
+
10
+ class SubtitleUpdateParams(TypedDict, total=False):
11
+ video_id: Required[int]
12
+
13
+ language: str
14
+ """3-letter language code according to ISO-639-2 (bibliographic code)"""
15
+
16
+ name: str
17
+ """Name of subtitle file"""
18
+
19
+ vtt: str
20
+ """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__ = ["Views", "Data"]
8
+
9
+
10
+ class Data(BaseModel):
11
+ date: str
12
+
13
+ type: str
14
+
15
+ views: int
16
+
17
+ id: Optional[int] = None
18
+
19
+ browser: Optional[str] = None
20
+
21
+ country: Optional[str] = None
22
+
23
+ event: Optional[str] = None
24
+
25
+ host: Optional[str] = None
26
+
27
+ ip: Optional[str] = None
28
+
29
+ os: Optional[str] = None
30
+
31
+ platform: Optional[str] = None
32
+
33
+
34
+ class Views(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__ = ["ViewsByBrowser", "Data"]
8
+
9
+
10
+ class Data(BaseModel):
11
+ browser: str
12
+
13
+ views: int
14
+
15
+
16
+ class ViewsByBrowser(BaseModel):
17
+ data: Optional[List[Data]] = None
@@ -0,0 +1,19 @@
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__ = ["ViewsByCountry", "Data"]
8
+
9
+
10
+ class Data(BaseModel):
11
+ country: str
12
+
13
+ country_name: str
14
+
15
+ views: int
16
+
17
+
18
+ class ViewsByCountry(BaseModel):
19
+ 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__ = ["ViewsByHostname", "Data"]
8
+
9
+
10
+ class Data(BaseModel):
11
+ host: str
12
+
13
+ views: int
14
+
15
+
16
+ class ViewsByHostname(BaseModel):
17
+ 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__ = ["ViewsByOperatingSystem", "Data"]
8
+
9
+
10
+ class Data(BaseModel):
11
+ os: str
12
+
13
+ views: int
14
+
15
+
16
+ class ViewsByOperatingSystem(BaseModel):
17
+ 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__ = ["ViewsByReferer", "Data"]
8
+
9
+
10
+ class Data(BaseModel):
11
+ embed_url: str
12
+
13
+ views: int
14
+
15
+
16
+ class ViewsByReferer(BaseModel):
17
+ data: Optional[List[Data]] = None
@@ -0,0 +1,19 @@
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__ = ["ViewsByRegion", "Data"]
8
+
9
+
10
+ class Data(BaseModel):
11
+ region: str
12
+
13
+ region_name: str
14
+
15
+ views: int
16
+
17
+
18
+ class ViewsByRegion(BaseModel):
19
+ data: Optional[List[Data]] = None
@@ -0,0 +1,19 @@
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__ = ["ViewsHeatmap", "Data"]
8
+
9
+
10
+ class Data(BaseModel):
11
+ viewers: int
12
+
13
+ seconds: Optional[int] = None
14
+
15
+ time: Optional[str] = None
16
+
17
+
18
+ class ViewsHeatmap(BaseModel):
19
+ 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__ = ["VodStatisticsSeries", "VodStatisticsSeryItem", "VodStatisticsSeryItemMetrics"]
9
+
10
+
11
+ class VodStatisticsSeryItemMetrics(BaseModel):
12
+ vod: List[int]
13
+
14
+
15
+ class VodStatisticsSeryItem(BaseModel):
16
+ client: int
17
+
18
+ metrics: VodStatisticsSeryItemMetrics
19
+
20
+
21
+ VodStatisticsSeries: TypeAlias = List[VodStatisticsSeryItem]
@@ -0,0 +1,22 @@
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__ = ["VodTotalStreamDurationSeries", "VodTotalStreamDurationSeryItem"]
9
+
10
+
11
+ class VodTotalStreamDurationSeryItem(BaseModel):
12
+ client: int
13
+
14
+ duration: int
15
+ """count of minutes"""
16
+
17
+ client_user_id: Optional[int] = None
18
+
19
+ stream_id: Optional[str] = None
20
+
21
+
22
+ VodTotalStreamDurationSeries: TypeAlias = List[VodTotalStreamDurationSeryItem]
@@ -278,10 +278,10 @@ class ConditionURL(TypedDict, total=False):
278
278
  The pattern to match against the request URL. Constraints depend on
279
279
  `match_type`:
280
280
 
281
- - **Exact/Contains**: plain text matching (e.g., `/admin`).
282
- - **Regex**: a valid regular expression (must comply with
283
- `^[\\ww!\\$$~:#\\[[\\]]@\\((\\))\\*\\++,=\\//\\--\\..\\%%]+$`). Lookahead/lookbehind constructs are
284
- forbidden.
281
+ - **Exact/Contains**: plain text matching (e.g., `/admin`, must comply with
282
+ `^[\\ww!\\$$~:#\\[[\\]]@\\((\\))\\*\\++,=\\//\\--\\..\\%%]+$`).
283
+ - **Regex**: a valid regular expression (e.g., `^/upload(/\\dd+)?/\\ww+`).
284
+ Lookahead/lookbehind constructs are forbidden.
285
285
  """
286
286
 
287
287
  match_type: Literal["Exact", "Contains", "Regex"]
@@ -281,10 +281,10 @@ class ConditionURL(TypedDict, total=False):
281
281
  The pattern to match against the request URL. Constraints depend on
282
282
  `match_type`:
283
283
 
284
- - **Exact/Contains**: plain text matching (e.g., `/admin`).
285
- - **Regex**: a valid regular expression (must comply with
286
- `^[\\ww!\\$$~:#\\[[\\]]@\\((\\))\\*\\++,=\\//\\--\\..\\%%]+$`). Lookahead/lookbehind constructs are
287
- forbidden.
284
+ - **Exact/Contains**: plain text matching (e.g., `/admin`, must comply with
285
+ `^[\\ww!\\$$~:#\\[[\\]]@\\((\\))\\*\\++,=\\//\\--\\..\\%%]+$`).
286
+ - **Regex**: a valid regular expression (e.g., `^/upload(/\\dd+)?/\\ww+`).
287
+ Lookahead/lookbehind constructs are forbidden.
288
288
  """
289
289
 
290
290
  match_type: Literal["Exact", "Contains", "Regex"]
@@ -9,7 +9,11 @@ __all__ = ["IPInfoGetBlockedRequestsParams"]
9
9
 
10
10
  class IPInfoGetBlockedRequestsParams(TypedDict, total=False):
11
11
  domain_id: Required[int]
12
- """The domain ID"""
12
+ """The identifier for a domain.
13
+
14
+ When specified, the response will exclusively contain data pertinent to the
15
+ indicated domain, filtering out information from other domains.
16
+ """
13
17
 
14
18
  ip: Required[str]
15
19
  """The IP address to check"""
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from typing import Optional
5
6
  from typing_extensions import Required, TypedDict
6
7
 
7
8
  __all__ = ["IPInfoGetCountsParams"]
@@ -11,7 +12,7 @@ class IPInfoGetCountsParams(TypedDict, total=False):
11
12
  ip: Required[str]
12
13
  """The IP address to check"""
13
14
 
14
- domain_id: int
15
+ domain_id: Optional[int]
15
16
  """The identifier for a domain.
16
17
 
17
18
  When specified, the response will exclusively contain data pertinent to the
@@ -9,7 +9,11 @@ __all__ = ["IPInfoGetTopSessionsParams"]
9
9
 
10
10
  class IPInfoGetTopSessionsParams(TypedDict, total=False):
11
11
  domain_id: Required[int]
12
- """The domain ID"""
12
+ """The identifier for a domain.
13
+
14
+ When specified, the response will exclusively contain data pertinent to the
15
+ indicated domain, filtering out information from other domains.
16
+ """
13
17
 
14
18
  ip: Required[str]
15
19
  """The IP address to check"""
@@ -9,7 +9,11 @@ __all__ = ["IPInfoGetTopURLsParams"]
9
9
 
10
10
  class IPInfoGetTopURLsParams(TypedDict, total=False):
11
11
  domain_id: Required[int]
12
- """The domain ID"""
12
+ """The identifier for a domain.
13
+
14
+ When specified, the response will exclusively contain data pertinent to the
15
+ indicated domain, filtering out information from other domains.
16
+ """
13
17
 
14
18
  ip: Required[str]
15
19
  """The IP address to check"""
@@ -9,7 +9,11 @@ __all__ = ["IPInfoGetTopUserAgentsParams"]
9
9
 
10
10
  class IPInfoGetTopUserAgentsParams(TypedDict, total=False):
11
11
  domain_id: Required[int]
12
- """The domain ID"""
12
+ """The identifier for a domain.
13
+
14
+ When specified, the response will exclusively contain data pertinent to the
15
+ indicated domain, filtering out information from other domains.
16
+ """
13
17
 
14
18
  ip: Required[str]
15
19
  """The IP address to check"""
@@ -259,10 +259,10 @@ class ConditionURL(BaseModel):
259
259
  The pattern to match against the request URL. Constraints depend on
260
260
  `match_type`:
261
261
 
262
- - **Exact/Contains**: plain text matching (e.g., `/admin`).
263
- - **Regex**: a valid regular expression (must comply with
264
- `^[\\ww!\\$$~:#\\[[\\]]@\\((\\))\\*\\++,=\\//\\--\\..\\%%]+$`). Lookahead/lookbehind constructs are
265
- forbidden.
262
+ - **Exact/Contains**: plain text matching (e.g., `/admin`, must comply with
263
+ `^[\\ww!\\$$~:#\\[[\\]]@\\((\\))\\*\\++,=\\//\\--\\..\\%%]+$`).
264
+ - **Regex**: a valid regular expression (e.g., `^/upload(/\\dd+)?/\\ww+`).
265
+ Lookahead/lookbehind constructs are forbidden.
266
266
  """
267
267
 
268
268
  match_type: Optional[Literal["Exact", "Contains", "Regex"]] = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: gcore
3
- Version: 0.6.0
3
+ Version: 0.7.0
4
4
  Summary: The official Python library for the gcore API
5
5
  Project-URL: Homepage, https://github.com/G-Core/gcore-python
6
6
  Project-URL: Repository, https://github.com/G-Core/gcore-python