gcore 0.4.0__py3-none-any.whl → 0.6.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 (145) hide show
  1. gcore/_base_client.py +9 -2
  2. gcore/_client.py +9 -0
  3. gcore/_constants.py +2 -2
  4. gcore/_models.py +8 -5
  5. gcore/_version.py +1 -1
  6. gcore/pagination.py +192 -1
  7. gcore/resources/__init__.py +14 -0
  8. gcore/resources/cloud/__init__.py +14 -0
  9. gcore/resources/cloud/audit_logs.py +480 -0
  10. gcore/resources/cloud/baremetal/servers.py +2 -2
  11. gcore/resources/cloud/cloud.py +32 -0
  12. gcore/resources/cloud/file_shares/file_shares.py +64 -9
  13. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +2 -2
  14. gcore/resources/cloud/inference/__init__.py +14 -0
  15. gcore/resources/cloud/inference/api_keys.py +621 -0
  16. gcore/resources/cloud/inference/deployments/deployments.py +66 -33
  17. gcore/resources/cloud/inference/deployments/logs.py +7 -7
  18. gcore/resources/cloud/inference/inference.py +37 -5
  19. gcore/resources/cloud/inference/models.py +16 -15
  20. gcore/resources/cloud/inference/registry_credentials.py +16 -16
  21. gcore/resources/cloud/inference/secrets.py +4 -5
  22. gcore/resources/cloud/instances/instances.py +2 -2
  23. gcore/resources/cloud/load_balancers/pools/members.py +22 -6
  24. gcore/resources/cloud/secrets.py +14 -224
  25. gcore/resources/cloud/tasks.py +30 -28
  26. gcore/resources/fastedge/__init__.py +103 -0
  27. gcore/resources/fastedge/apps/__init__.py +33 -0
  28. gcore/resources/fastedge/apps/apps.py +932 -0
  29. gcore/resources/fastedge/apps/logs.py +248 -0
  30. gcore/resources/fastedge/binaries.py +286 -0
  31. gcore/resources/fastedge/fastedge.py +327 -0
  32. gcore/resources/fastedge/kv_stores.py +523 -0
  33. gcore/resources/fastedge/secrets.py +687 -0
  34. gcore/resources/fastedge/statistics.py +347 -0
  35. gcore/resources/fastedge/templates.py +652 -0
  36. gcore/types/cloud/__init__.py +4 -28
  37. gcore/types/cloud/audit_log_entry.py +254 -0
  38. gcore/types/cloud/audit_log_list_params.py +158 -0
  39. gcore/types/cloud/baremetal/server_create_params.py +1 -1
  40. gcore/types/cloud/file_share_update_params.py +29 -3
  41. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +1 -1
  42. gcore/types/cloud/inference/__init__.py +17 -8
  43. gcore/types/cloud/inference/api_key_create_params.py +21 -0
  44. gcore/types/cloud/inference/api_key_list_params.py +21 -0
  45. gcore/types/cloud/inference/api_key_update_params.py +16 -0
  46. gcore/types/cloud/inference/deployment_create_params.py +224 -7
  47. gcore/types/cloud/inference/deployment_update_params.py +24 -3
  48. gcore/types/cloud/inference/deployments/__init__.py +1 -0
  49. gcore/types/cloud/inference/{inference_log.py → deployments/inference_deployment_log.py} +3 -3
  50. gcore/types/cloud/inference/inference_api_key.py +24 -0
  51. gcore/types/cloud/inference/inference_api_key_create.py +27 -0
  52. gcore/types/cloud/inference/inference_deployment.py +266 -0
  53. gcore/types/cloud/inference/{inference_apikey_secret.py → inference_deployment_api_key.py} +2 -2
  54. gcore/types/cloud/inference/{mlcatalog_model_card.py → inference_model.py} +2 -2
  55. gcore/types/cloud/inference/{inference_registry_credential.py → inference_registry_credentials.py} +2 -2
  56. gcore/types/cloud/inference/{inference_registry_credential_full.py → inference_registry_credentials_create.py} +2 -2
  57. gcore/types/cloud/inference/inference_secret.py +10 -3
  58. gcore/types/cloud/inference/model_list_params.py +2 -4
  59. gcore/types/cloud/{container_probe.py → inference/probe.py} +9 -9
  60. gcore/types/cloud/{container_probe_config.py → inference/probe_config.py} +5 -5
  61. gcore/types/cloud/{container_probe_exec.py → inference/probe_exec.py} +3 -3
  62. gcore/types/cloud/{container_probe_http_get.py → inference/probe_http_get.py} +3 -3
  63. gcore/types/cloud/{container_probe_tcp_socket.py → inference/probe_tcp_socket.py} +3 -3
  64. gcore/types/cloud/inference/secret_create_params.py +10 -4
  65. gcore/types/cloud/inference/secret_replace_params.py +10 -4
  66. gcore/types/cloud/{region_capacity.py → inference_region_capacity.py} +10 -3
  67. gcore/types/cloud/{region_capacity_list.py → inference_region_capacity_list.py} +4 -4
  68. gcore/types/cloud/instance_create_params.py +1 -1
  69. gcore/types/cloud/load_balancer_create_params.py +14 -3
  70. gcore/types/cloud/load_balancers/pool_create_params.py +14 -3
  71. gcore/types/cloud/load_balancers/pool_update_params.py +14 -3
  72. gcore/types/cloud/load_balancers/pools/member_add_params.py +14 -3
  73. gcore/types/cloud/member.py +12 -4
  74. gcore/types/cloud/task_list_params.py +15 -14
  75. gcore/types/fastedge/__init__.py +48 -0
  76. gcore/types/fastedge/app.py +81 -0
  77. gcore/types/fastedge/app_create_params.py +56 -0
  78. gcore/types/fastedge/app_list_params.py +50 -0
  79. gcore/types/fastedge/app_param.py +56 -0
  80. gcore/types/fastedge/app_replace_params.py +17 -0
  81. gcore/types/fastedge/app_short.py +60 -0
  82. gcore/types/fastedge/app_update_params.py +56 -0
  83. gcore/types/fastedge/apps/__init__.py +6 -0
  84. gcore/types/fastedge/apps/log.py +28 -0
  85. gcore/types/fastedge/apps/log_list_params.py +37 -0
  86. gcore/types/fastedge/binary.py +40 -0
  87. gcore/types/fastedge/binary_list_response.py +12 -0
  88. gcore/types/fastedge/binary_short.py +32 -0
  89. gcore/types/fastedge/call_status.py +24 -0
  90. gcore/types/fastedge/client.py +57 -0
  91. gcore/types/fastedge/duration_stats.py +30 -0
  92. gcore/types/fastedge/kv_store.py +33 -0
  93. gcore/types/fastedge/kv_store_create_params.py +23 -0
  94. gcore/types/fastedge/kv_store_get_response.py +10 -0
  95. gcore/types/fastedge/kv_store_list_params.py +12 -0
  96. gcore/types/fastedge/kv_store_list_response.py +15 -0
  97. gcore/types/fastedge/kv_store_replace_params.py +23 -0
  98. gcore/types/fastedge/kv_store_short.py +19 -0
  99. gcore/types/fastedge/kv_store_stats.py +26 -0
  100. gcore/types/fastedge/secret.py +29 -0
  101. gcore/types/fastedge/secret_create_params.py +27 -0
  102. gcore/types/fastedge/secret_create_response.py +12 -0
  103. gcore/types/fastedge/secret_delete_params.py +12 -0
  104. gcore/types/fastedge/secret_list_params.py +15 -0
  105. gcore/types/{cloud → fastedge}/secret_list_response.py +2 -6
  106. gcore/types/fastedge/secret_replace_params.py +27 -0
  107. gcore/types/fastedge/secret_short.py +21 -0
  108. gcore/types/fastedge/secret_update_params.py +27 -0
  109. gcore/types/fastedge/statistic_get_call_series_params.py +28 -0
  110. gcore/types/fastedge/statistic_get_call_series_response.py +12 -0
  111. gcore/types/fastedge/statistic_get_duration_series_params.py +28 -0
  112. gcore/types/fastedge/statistic_get_duration_series_response.py +12 -0
  113. gcore/types/fastedge/template.py +31 -0
  114. gcore/types/fastedge/template_create_params.py +30 -0
  115. gcore/types/fastedge/template_delete_params.py +12 -0
  116. gcore/types/fastedge/template_list_params.py +25 -0
  117. gcore/types/fastedge/template_parameter.py +22 -0
  118. gcore/types/fastedge/template_parameter_param.py +21 -0
  119. gcore/types/fastedge/template_replace_params.py +30 -0
  120. gcore/types/fastedge/template_short.py +27 -0
  121. {gcore-0.4.0.dist-info → gcore-0.6.0.dist-info}/METADATA +8 -7
  122. {gcore-0.4.0.dist-info → gcore-0.6.0.dist-info}/RECORD +124 -80
  123. gcore/types/cloud/aws_iam_data.py +0 -13
  124. gcore/types/cloud/aws_iam_data_param.py +0 -15
  125. gcore/types/cloud/capacity.py +0 -13
  126. gcore/types/cloud/container_probe_config_create_param.py +0 -17
  127. gcore/types/cloud/container_probe_create_param.py +0 -38
  128. gcore/types/cloud/container_probe_exec_create_param.py +0 -13
  129. gcore/types/cloud/container_probe_http_get_create_param.py +0 -25
  130. gcore/types/cloud/container_probe_tcp_socket_create_param.py +0 -12
  131. gcore/types/cloud/container_scale.py +0 -25
  132. gcore/types/cloud/container_scale_trigger_rate.py +0 -13
  133. gcore/types/cloud/container_scale_trigger_sqs.py +0 -33
  134. gcore/types/cloud/container_scale_trigger_threshold.py +0 -10
  135. gcore/types/cloud/container_scale_triggers.py +0 -36
  136. gcore/types/cloud/deploy_status.py +0 -13
  137. gcore/types/cloud/inference/container.py +0 -26
  138. gcore/types/cloud/inference/inference.py +0 -95
  139. gcore/types/cloud/inference/mlcatalog_order_by_choices.py +0 -7
  140. gcore/types/cloud/inference_probes.py +0 -19
  141. gcore/types/cloud/ingress_opts_out.py +0 -16
  142. gcore/types/cloud/ingress_opts_param.py +0 -18
  143. gcore/types/cloud/secret_create_params.py +0 -66
  144. {gcore-0.4.0.dist-info → gcore-0.6.0.dist-info}/WHEEL +0 -0
  145. {gcore-0.4.0.dist-info → gcore-0.6.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,31 @@
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
+ from .template_parameter import TemplateParameter
7
+
8
+ __all__ = ["Template"]
9
+
10
+
11
+ class Template(BaseModel):
12
+ api_type: str
13
+ """Wasm API type"""
14
+
15
+ binary_id: int
16
+ """Binary ID"""
17
+
18
+ name: str
19
+ """Name of the template"""
20
+
21
+ owned: bool
22
+ """Is the template owned by user?"""
23
+
24
+ params: List[TemplateParameter]
25
+ """Parameters"""
26
+
27
+ long_descr: Optional[str] = None
28
+ """Long description of the template"""
29
+
30
+ short_descr: Optional[str] = None
31
+ """Short description of the template"""
@@ -0,0 +1,30 @@
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
+ from .template_parameter_param import TemplateParameterParam
9
+
10
+ __all__ = ["TemplateCreateParams"]
11
+
12
+
13
+ class TemplateCreateParams(TypedDict, total=False):
14
+ binary_id: Required[int]
15
+ """Binary ID"""
16
+
17
+ name: Required[str]
18
+ """Name of the template"""
19
+
20
+ owned: Required[bool]
21
+ """Is the template owned by user?"""
22
+
23
+ params: Required[Iterable[TemplateParameterParam]]
24
+ """Parameters"""
25
+
26
+ long_descr: str
27
+ """Long description of the template"""
28
+
29
+ short_descr: str
30
+ """Short description of the template"""
@@ -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__ = ["TemplateDeleteParams"]
8
+
9
+
10
+ class TemplateDeleteParams(TypedDict, total=False):
11
+ force: bool
12
+ """Force template deletion even if it is shared to groups"""
@@ -0,0 +1,25 @@
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, TypedDict
6
+
7
+ __all__ = ["TemplateListParams"]
8
+
9
+
10
+ class TemplateListParams(TypedDict, total=False):
11
+ api_type: Literal["wasi-http", "proxy-wasm"]
12
+ """
13
+ API type:
14
+ wasi-http - WASI with HTTP entry point
15
+ proxy-wasm - Proxy-Wasm app, callable from CDN
16
+ """
17
+
18
+ limit: int
19
+ """Limit for pagination"""
20
+
21
+ offset: int
22
+ """Offset for pagination"""
23
+
24
+ only_mine: bool
25
+ """Only my templates"""
@@ -0,0 +1,22 @@
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 ..._models import BaseModel
7
+
8
+ __all__ = ["TemplateParameter"]
9
+
10
+
11
+ class TemplateParameter(BaseModel):
12
+ data_type: Literal["string", "number", "date", "time", "secret"]
13
+ """Parameter type"""
14
+
15
+ mandatory: bool
16
+ """Is this field mandatory?"""
17
+
18
+ name: str
19
+ """Parameter name"""
20
+
21
+ descr: Optional[str] = None
22
+ """Parameter description"""
@@ -0,0 +1,21 @@
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__ = ["TemplateParameterParam"]
8
+
9
+
10
+ class TemplateParameterParam(TypedDict, total=False):
11
+ data_type: Required[Literal["string", "number", "date", "time", "secret"]]
12
+ """Parameter type"""
13
+
14
+ mandatory: Required[bool]
15
+ """Is this field mandatory?"""
16
+
17
+ name: Required[str]
18
+ """Parameter name"""
19
+
20
+ descr: str
21
+ """Parameter description"""
@@ -0,0 +1,30 @@
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
+ from .template_parameter_param import TemplateParameterParam
9
+
10
+ __all__ = ["TemplateReplaceParams"]
11
+
12
+
13
+ class TemplateReplaceParams(TypedDict, total=False):
14
+ binary_id: Required[int]
15
+ """Binary ID"""
16
+
17
+ name: Required[str]
18
+ """Name of the template"""
19
+
20
+ owned: Required[bool]
21
+ """Is the template owned by user?"""
22
+
23
+ params: Required[Iterable[TemplateParameterParam]]
24
+ """Parameters"""
25
+
26
+ long_descr: str
27
+ """Long description of the template"""
28
+
29
+ short_descr: str
30
+ """Short description of the template"""
@@ -0,0 +1,27 @@
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__ = ["TemplateShort"]
8
+
9
+
10
+ class TemplateShort(BaseModel):
11
+ id: int
12
+ """Template ID"""
13
+
14
+ api_type: str
15
+ """Wasm API type"""
16
+
17
+ name: str
18
+ """Name of the template"""
19
+
20
+ owned: bool
21
+ """Is the template owned by user?"""
22
+
23
+ long_descr: Optional[str] = None
24
+ """Long description of the template"""
25
+
26
+ short_descr: Optional[str] = None
27
+ """Short description of the template"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: gcore
3
- Version: 0.4.0
3
+ Version: 0.6.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
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.9
18
18
  Classifier: Programming Language :: Python :: 3.10
19
19
  Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
21
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
23
  Classifier: Typing :: Typed
23
24
  Requires-Python: >=3.8
@@ -29,12 +30,13 @@ Requires-Dist: sniffio
29
30
  Requires-Dist: typing-extensions<5,>=4.10
30
31
  Provides-Extra: aiohttp
31
32
  Requires-Dist: aiohttp; extra == 'aiohttp'
32
- Requires-Dist: httpx-aiohttp>=0.1.6; extra == 'aiohttp'
33
+ Requires-Dist: httpx-aiohttp>=0.1.8; extra == 'aiohttp'
33
34
  Description-Content-Type: text/markdown
34
35
 
35
36
  # Gcore Python API library
36
37
 
37
- [![PyPI version](https://github.com/G-Core/gcore-python/tree/main/<https://img.shields.io/pypi/v/gcore.svg?label=pypi%20(stable)>)](https://pypi.org/project/gcore/)
38
+ <!-- prettier-ignore -->
39
+ [![PyPI version](https://img.shields.io/pypi/v/gcore.svg?label=pypi%20(stable))](https://pypi.org/project/gcore/)
38
40
 
39
41
  The Gcore Python library provides convenient access to the Gcore REST API from any Python 3.8+
40
42
  application. The library includes type definitions for all request params and response fields,
@@ -116,7 +118,6 @@ pip install gcore[aiohttp]
116
118
  Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
117
119
 
118
120
  ```python
119
- import os
120
121
  import asyncio
121
122
  from gcore import DefaultAioHttpClient
122
123
  from gcore import AsyncGcore
@@ -124,7 +125,7 @@ from gcore import AsyncGcore
124
125
 
125
126
  async def main() -> None:
126
127
  async with AsyncGcore(
127
- api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
128
+ api_key="My API Key",
128
129
  http_client=DefaultAioHttpClient(),
129
130
  ) as client:
130
131
  project = await client.cloud.projects.create(
@@ -319,7 +320,7 @@ client.with_options(max_retries=5).cloud.projects.create(
319
320
 
320
321
  ### Timeouts
321
322
 
322
- By default requests time out after 1 minute. You can configure this with a `timeout` option,
323
+ By default requests time out after 2 minutes. You can configure this with a `timeout` option,
323
324
  which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object:
324
325
 
325
326
  ```python
@@ -327,7 +328,7 @@ from gcore import Gcore
327
328
 
328
329
  # Configure the default for all requests:
329
330
  client = Gcore(
330
- # 20 seconds (default is 1 minute)
331
+ # 20 seconds (default is 2 minutes)
331
332
  timeout=20.0,
332
333
  )
333
334