polyaxon 2.4.0rc1__py3-none-any.whl → 2.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.
Files changed (218) hide show
  1. polyaxon/_auxiliaries/default_scheduling.py +17 -7
  2. polyaxon/_auxiliaries/init.py +14 -6
  3. polyaxon/_auxiliaries/sidecar.py +10 -8
  4. polyaxon/_cli/dashboard.py +2 -5
  5. polyaxon/_cli/run.py +14 -0
  6. polyaxon/_cli/version.py +4 -1
  7. polyaxon/_compiler/contexts/contexts.py +4 -0
  8. polyaxon/_compiler/resolver/agent.py +10 -9
  9. polyaxon/_compiler/resolver/runtime.py +4 -0
  10. polyaxon/_constants/metadata.py +1 -0
  11. polyaxon/_contexts/keys.py +1 -0
  12. polyaxon/_deploy/schemas/auth.py +3 -3
  13. polyaxon/_deploy/schemas/celery.py +10 -8
  14. polyaxon/_deploy/schemas/deployment.py +148 -116
  15. polyaxon/_deploy/schemas/email.py +8 -8
  16. polyaxon/_deploy/schemas/ingress.py +7 -7
  17. polyaxon/_deploy/schemas/intervals.py +3 -1
  18. polyaxon/_deploy/schemas/operators.py +8 -8
  19. polyaxon/_deploy/schemas/proxy.py +9 -9
  20. polyaxon/_deploy/schemas/rbac.py +1 -1
  21. polyaxon/_deploy/schemas/root_user.py +5 -5
  22. polyaxon/_deploy/schemas/security_context.py +25 -15
  23. polyaxon/_deploy/schemas/service.py +73 -69
  24. polyaxon/_deploy/schemas/ssl.py +3 -3
  25. polyaxon/_deploy/schemas/ui.py +10 -6
  26. polyaxon/_docker/builder/builder.py +4 -1
  27. polyaxon/_docker/converter/base/containers.py +4 -7
  28. polyaxon/_docker/converter/base/env_vars.py +5 -5
  29. polyaxon/_docker/converter/base/mounts.py +2 -2
  30. polyaxon/_docker/docker_types.py +57 -30
  31. polyaxon/_env_vars/keys.py +2 -0
  32. polyaxon/_flow/__init__.py +3 -2
  33. polyaxon/_flow/builds/__init__.py +8 -8
  34. polyaxon/_flow/cache/__init__.py +4 -4
  35. polyaxon/_flow/component/base.py +25 -18
  36. polyaxon/_flow/component/component.py +4 -3
  37. polyaxon/_flow/early_stopping/__init__.py +1 -1
  38. polyaxon/_flow/early_stopping/policies.py +12 -10
  39. polyaxon/_flow/environment/__init__.py +42 -24
  40. polyaxon/_flow/events/__init__.py +1 -1
  41. polyaxon/_flow/hooks/__init__.py +11 -11
  42. polyaxon/_flow/init/__init__.py +41 -25
  43. polyaxon/_flow/io/io.py +57 -47
  44. polyaxon/_flow/joins/__init__.py +5 -5
  45. polyaxon/_flow/matrix/bayes.py +23 -17
  46. polyaxon/_flow/matrix/grid_search.py +16 -7
  47. polyaxon/_flow/matrix/hyperband.py +10 -10
  48. polyaxon/_flow/matrix/hyperopt.py +14 -9
  49. polyaxon/_flow/matrix/iterative.py +14 -8
  50. polyaxon/_flow/matrix/mapping.py +4 -4
  51. polyaxon/_flow/matrix/params.py +138 -77
  52. polyaxon/_flow/matrix/random_search.py +10 -5
  53. polyaxon/_flow/matrix/tuner.py +4 -4
  54. polyaxon/_flow/mounts/artifacts_mounts.py +1 -1
  55. polyaxon/_flow/notifications/__init__.py +1 -1
  56. polyaxon/_flow/operations/base.py +10 -8
  57. polyaxon/_flow/operations/compiled_operation.py +5 -4
  58. polyaxon/_flow/operations/operation.py +30 -22
  59. polyaxon/_flow/optimization/__init__.py +2 -2
  60. polyaxon/_flow/params/params.py +10 -9
  61. polyaxon/_flow/plugins/__init__.py +19 -13
  62. polyaxon/_flow/run/dag.py +12 -9
  63. polyaxon/_flow/run/dask/dask.py +4 -4
  64. polyaxon/_flow/run/dask/replica.py +17 -11
  65. polyaxon/_flow/run/job.py +17 -11
  66. polyaxon/_flow/run/kubeflow/mpi_job.py +10 -5
  67. polyaxon/_flow/run/kubeflow/mx_job.py +25 -9
  68. polyaxon/_flow/run/kubeflow/paddle_job.py +16 -9
  69. polyaxon/_flow/run/kubeflow/pytorch_job.py +24 -17
  70. polyaxon/_flow/run/kubeflow/replica.py +17 -11
  71. polyaxon/_flow/run/kubeflow/scheduling_policy.py +7 -5
  72. polyaxon/_flow/run/kubeflow/tf_job.py +15 -8
  73. polyaxon/_flow/run/kubeflow/xgboost_job.py +9 -4
  74. polyaxon/_flow/run/ray/ray.py +9 -6
  75. polyaxon/_flow/run/ray/replica.py +25 -16
  76. polyaxon/_flow/run/resources.py +14 -13
  77. polyaxon/_flow/run/service.py +4 -4
  78. polyaxon/_flow/schedules/cron.py +4 -4
  79. polyaxon/_flow/schedules/interval.py +4 -4
  80. polyaxon/_flow/templates/__init__.py +3 -3
  81. polyaxon/_flow/termination/__init__.py +3 -3
  82. polyaxon/_fs/async_manager.py +1 -1
  83. polyaxon/_fs/watcher.py +26 -27
  84. polyaxon/_k8s/k8s_validation.py +1 -1
  85. polyaxon/_k8s/logging/async_monitor.py +18 -3
  86. polyaxon/_local_process/converter/base/containers.py +4 -7
  87. polyaxon/_local_process/converter/base/env_vars.py +5 -5
  88. polyaxon/_local_process/process_types.py +15 -12
  89. polyaxon/_polyaxonfile/specs/compiled_operation.py +1 -1
  90. polyaxon/_polyaxonfile/specs/libs/parser.py +1 -1
  91. polyaxon/_polyaxonfile/specs/libs/validator.py +1 -1
  92. polyaxon/_polyaxonfile/specs/operation.py +1 -1
  93. polyaxon/_polyaxonfile/specs/sections.py +8 -0
  94. polyaxon/_runner/agent/async_agent.py +9 -6
  95. polyaxon/_runner/agent/base_agent.py +8 -5
  96. polyaxon/_runner/agent/sync_agent.py +8 -5
  97. polyaxon/_runner/converter/converter.py +12 -4
  98. polyaxon/_schemas/agent.py +69 -37
  99. polyaxon/_schemas/authentication.py +4 -4
  100. polyaxon/_schemas/base.py +26 -2
  101. polyaxon/_schemas/checks.py +3 -3
  102. polyaxon/_schemas/cli.py +4 -6
  103. polyaxon/_schemas/client.py +20 -18
  104. polyaxon/_schemas/compatibility.py +4 -4
  105. polyaxon/_schemas/container_resources.py +1 -1
  106. polyaxon/_schemas/home.py +3 -3
  107. polyaxon/_schemas/installation.py +13 -9
  108. polyaxon/_schemas/lifecycle.py +23 -23
  109. polyaxon/_schemas/log_handler.py +2 -2
  110. polyaxon/_schemas/services.py +26 -14
  111. polyaxon/_schemas/types/artifacts.py +3 -3
  112. polyaxon/_schemas/types/dockerfile.py +14 -12
  113. polyaxon/_schemas/types/event.py +2 -2
  114. polyaxon/_schemas/types/file.py +3 -3
  115. polyaxon/_schemas/types/git.py +12 -4
  116. polyaxon/_schemas/types/tensorboard.py +14 -8
  117. polyaxon/_schemas/user.py +3 -3
  118. polyaxon/_schemas/version.py +2 -2
  119. polyaxon/_sdk/api/agents_v1_api.py +45 -45
  120. polyaxon/_sdk/api/artifacts_stores_v1_api.py +3 -3
  121. polyaxon/_sdk/api/auth_v1_api.py +13 -13
  122. polyaxon/_sdk/api/connections_v1_api.py +15 -15
  123. polyaxon/_sdk/api/dashboards_v1_api.py +15 -15
  124. polyaxon/_sdk/api/organizations_v1_api.py +77 -77
  125. polyaxon/_sdk/api/presets_v1_api.py +15 -15
  126. polyaxon/_sdk/api/project_dashboards_v1_api.py +17 -17
  127. polyaxon/_sdk/api/project_searches_v1_api.py +17 -17
  128. polyaxon/_sdk/api/projects_v1_api.py +65 -65
  129. polyaxon/_sdk/api/queues_v1_api.py +19 -19
  130. polyaxon/_sdk/api/runs_v1_api.py +127 -127
  131. polyaxon/_sdk/api/searches_v1_api.py +15 -15
  132. polyaxon/_sdk/api/service_accounts_v1_api.py +27 -27
  133. polyaxon/_sdk/api/tags_v1_api.py +17 -17
  134. polyaxon/_sdk/api/teams_v1_api.py +51 -51
  135. polyaxon/_sdk/api/users_v1_api.py +25 -25
  136. polyaxon/_sdk/api/versions_v1_api.py +7 -7
  137. polyaxon/_sdk/schemas/v1_activity.py +8 -8
  138. polyaxon/_sdk/schemas/v1_agent.py +17 -16
  139. polyaxon/_sdk/schemas/v1_agent_state_response.py +4 -4
  140. polyaxon/_sdk/schemas/v1_agent_state_response_agent_state.py +10 -10
  141. polyaxon/_sdk/schemas/v1_agent_status_body_request.py +3 -3
  142. polyaxon/_sdk/schemas/v1_analytics_spec.py +4 -4
  143. polyaxon/_sdk/schemas/v1_artifact_tree.py +3 -3
  144. polyaxon/_sdk/schemas/v1_auth.py +1 -1
  145. polyaxon/_sdk/schemas/v1_cloning.py +3 -3
  146. polyaxon/_sdk/schemas/v1_connection_response.py +9 -9
  147. polyaxon/_sdk/schemas/v1_dashboard.py +9 -9
  148. polyaxon/_sdk/schemas/v1_dashboard_spec.py +5 -5
  149. polyaxon/_sdk/schemas/v1_entities_tags.py +2 -2
  150. polyaxon/_sdk/schemas/v1_entities_transfer.py +2 -2
  151. polyaxon/_sdk/schemas/v1_entity_notification_body.py +7 -7
  152. polyaxon/_sdk/schemas/v1_entity_stage_body_request.py +5 -5
  153. polyaxon/_sdk/schemas/v1_entity_status_body_request.py +5 -5
  154. polyaxon/_sdk/schemas/v1_events_response.py +2 -2
  155. polyaxon/_sdk/schemas/v1_list_activities_response.py +4 -4
  156. polyaxon/_sdk/schemas/v1_list_agents_response.py +4 -4
  157. polyaxon/_sdk/schemas/v1_list_bookmarks_response.py +4 -4
  158. polyaxon/_sdk/schemas/v1_list_connections_response.py +4 -4
  159. polyaxon/_sdk/schemas/v1_list_dashboards_response.py +4 -4
  160. polyaxon/_sdk/schemas/v1_list_organization_members_response.py +4 -4
  161. polyaxon/_sdk/schemas/v1_list_organizations_response.py +4 -4
  162. polyaxon/_sdk/schemas/v1_list_presets_response.py +4 -4
  163. polyaxon/_sdk/schemas/v1_list_project_versions_response.py +4 -4
  164. polyaxon/_sdk/schemas/v1_list_projects_response.py +4 -4
  165. polyaxon/_sdk/schemas/v1_list_queues_response.py +4 -4
  166. polyaxon/_sdk/schemas/v1_list_run_artifacts_response.py +4 -4
  167. polyaxon/_sdk/schemas/v1_list_run_connections_response.py +4 -4
  168. polyaxon/_sdk/schemas/v1_list_run_edges_response.py +4 -4
  169. polyaxon/_sdk/schemas/v1_list_runs_response.py +4 -4
  170. polyaxon/_sdk/schemas/v1_list_searches_response.py +4 -4
  171. polyaxon/_sdk/schemas/v1_list_service_accounts_response.py +4 -4
  172. polyaxon/_sdk/schemas/v1_list_tags_response.py +4 -4
  173. polyaxon/_sdk/schemas/v1_list_team_members_response.py +4 -4
  174. polyaxon/_sdk/schemas/v1_list_teams_response.py +4 -4
  175. polyaxon/_sdk/schemas/v1_list_token_response.py +4 -4
  176. polyaxon/_sdk/schemas/v1_operation_body.py +8 -8
  177. polyaxon/_sdk/schemas/v1_organization.py +16 -16
  178. polyaxon/_sdk/schemas/v1_organization_member.py +6 -6
  179. polyaxon/_sdk/schemas/v1_password_change.py +3 -3
  180. polyaxon/_sdk/schemas/v1_pipeline.py +3 -3
  181. polyaxon/_sdk/schemas/v1_preset.py +11 -12
  182. polyaxon/_sdk/schemas/v1_project.py +17 -17
  183. polyaxon/_sdk/schemas/v1_project_settings.py +11 -11
  184. polyaxon/_sdk/schemas/v1_project_version.py +20 -20
  185. polyaxon/_sdk/schemas/v1_queue.py +12 -12
  186. polyaxon/_sdk/schemas/v1_run.py +38 -38
  187. polyaxon/_sdk/schemas/v1_run_connection.py +3 -3
  188. polyaxon/_sdk/schemas/v1_run_edge.py +5 -5
  189. polyaxon/_sdk/schemas/v1_run_edge_lineage.py +3 -3
  190. polyaxon/_sdk/schemas/v1_run_edges_graph.py +1 -1
  191. polyaxon/_sdk/schemas/v1_run_reference_catalog.py +4 -4
  192. polyaxon/_sdk/schemas/v1_run_settings.py +9 -9
  193. polyaxon/_sdk/schemas/v1_search.py +10 -10
  194. polyaxon/_sdk/schemas/v1_search_spec.py +14 -14
  195. polyaxon/_sdk/schemas/v1_section_spec.py +12 -12
  196. polyaxon/_sdk/schemas/v1_service_account.py +9 -9
  197. polyaxon/_sdk/schemas/v1_settings_catalog.py +4 -4
  198. polyaxon/_sdk/schemas/v1_tag.py +6 -6
  199. polyaxon/_sdk/schemas/v1_team.py +11 -11
  200. polyaxon/_sdk/schemas/v1_team_member.py +6 -6
  201. polyaxon/_sdk/schemas/v1_team_settings.py +2 -2
  202. polyaxon/_sdk/schemas/v1_token.py +10 -10
  203. polyaxon/_sdk/schemas/v1_trial_start.py +6 -6
  204. polyaxon/_sdk/schemas/v1_user.py +6 -6
  205. polyaxon/_sdk/schemas/v1_user_access.py +7 -7
  206. polyaxon/_sdk/schemas/v1_user_email.py +1 -1
  207. polyaxon/_sdk/schemas/v1_user_singup.py +5 -5
  208. polyaxon/_sdk/schemas/v1_uuids.py +1 -1
  209. polyaxon/_sidecar/container/__init__.py +13 -8
  210. polyaxon/_utils/cli_constants.py +2 -0
  211. polyaxon/_utils/test_utils.py +2 -1
  212. polyaxon/pkg.py +1 -1
  213. {polyaxon-2.4.0rc1.dist-info → polyaxon-2.6.0.dist-info}/METADATA +13 -13
  214. {polyaxon-2.4.0rc1.dist-info → polyaxon-2.6.0.dist-info}/RECORD +218 -218
  215. {polyaxon-2.4.0rc1.dist-info → polyaxon-2.6.0.dist-info}/WHEEL +1 -1
  216. {polyaxon-2.4.0rc1.dist-info → polyaxon-2.6.0.dist-info}/LICENSE +0 -0
  217. {polyaxon-2.4.0rc1.dist-info → polyaxon-2.6.0.dist-info}/entry_points.txt +0 -0
  218. {polyaxon-2.4.0rc1.dist-info → polyaxon-2.6.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,12 @@
1
1
  from typing import Dict, List, Optional, Union
2
2
 
3
- from clipped.compact.pydantic import Field, StrictStr, validator
3
+ from clipped.compact.pydantic import (
4
+ Field,
5
+ StrictStr,
6
+ field_validator,
7
+ validation_always,
8
+ validation_before,
9
+ )
4
10
 
5
11
  from polyaxon._containers.pull_policy import PullPolicy
6
12
  from polyaxon._k8s import k8s_schemas, k8s_validation
@@ -14,25 +20,31 @@ class BaseServiceConfig(BaseSchemaModel):
14
20
  "tolerations",
15
21
  }
16
22
 
17
- image: Optional[StrictStr]
18
- image_tag: Optional[StrictStr] = Field(alias="imageTag")
19
- image_pull_policy: Optional[PullPolicy] = Field(alias="imagePullPolicy")
20
- resources: Optional[Union[k8s_schemas.V1ResourceRequirements, Dict]]
21
- node_selector: Optional[Dict[StrictStr, StrictStr]] = Field(alias="nodeSelector")
22
- affinity: Optional[Union[k8s_schemas.V1Affinity, Dict]]
23
- tolerations: Optional[List[Union[k8s_schemas.V1Toleration, Dict]]]
24
- image_pull_secrets: Optional[List[StrictStr]] = Field(alias="imagePullSecrets")
25
- hpa: Optional[Dict]
26
-
27
- @validator("resources", always=True, pre=True)
23
+ image: Optional[StrictStr] = None
24
+ image_tag: Optional[StrictStr] = Field(default=None, alias="imageTag")
25
+ image_pull_policy: Optional[PullPolicy] = Field(
26
+ default=None, alias="imagePullPolicy"
27
+ )
28
+ resources: Optional[Union[k8s_schemas.V1ResourceRequirements, Dict]] = None
29
+ node_selector: Optional[Dict[StrictStr, StrictStr]] = Field(
30
+ default=None, alias="nodeSelector"
31
+ )
32
+ affinity: Optional[Union[k8s_schemas.V1Affinity, Dict]] = None
33
+ tolerations: Optional[List[Union[k8s_schemas.V1Toleration, Dict]]] = None
34
+ image_pull_secrets: Optional[List[StrictStr]] = Field(
35
+ default=None, alias="imagePullSecrets"
36
+ )
37
+ hpa: Optional[Dict] = None
38
+
39
+ @field_validator("resources", **validation_always, **validation_before)
28
40
  def validate_resources(cls, v):
29
41
  return k8s_validation.validate_k8s_resource_requirements(v)
30
42
 
31
- @validator("affinity", always=True, pre=True)
43
+ @field_validator("affinity", **validation_always, **validation_before)
32
44
  def validate_affinity(cls, v):
33
45
  return k8s_validation.validate_k8s_affinity(v)
34
46
 
35
- @validator("tolerations", always=True, pre=True)
47
+ @field_validator("tolerations", **validation_always, **validation_before)
36
48
  def validate_tolerations(cls, v):
37
49
  if not v:
38
50
  return v
@@ -154,6 +154,6 @@ class V1ArtifactsType(BaseTypeConfig):
154
154
 
155
155
  _IDENTIFIER = "artifacts"
156
156
 
157
- files: Optional[Union[List[Union[str, List[str]]], RefField]]
158
- dirs: Optional[Union[List[Union[str, List[str]]], RefField]]
159
- workers: Optional[Union[StrictInt, RefField]]
157
+ files: Optional[Union[List[Union[str, List[str]]], RefField]] = None
158
+ dirs: Optional[Union[List[Union[str, List[str]]], RefField]] = None
159
+ workers: Optional[Union[StrictInt, RefField]] = None
@@ -1,6 +1,6 @@
1
1
  from typing import Any, Dict, List, Optional, Tuple, Union
2
2
 
3
- from clipped.compact.pydantic import Field, StrictStr, validator
3
+ from clipped.compact.pydantic import Field, StrictStr, field_validator
4
4
  from clipped.config.schema import skip_partial
5
5
  from clipped.types.docker_image import validate_image
6
6
  from clipped.types.ref_or_obj import RefField
@@ -179,31 +179,33 @@ class V1DockerfileType(BaseTypeConfig):
179
179
  _IDENTIFIER = "dockerfile"
180
180
 
181
181
  image: StrictStr
182
- env: Optional[Union[Dict[StrictStr, Any], RefField]]
183
- path: Optional[Union[List[StrictStr], RefField]]
182
+ env: Optional[
183
+ Union[Dict[str, Any], List[Union[Tuple[str, str], List[str]]], RefField]
184
+ ] = None
185
+ path: Optional[Union[List[StrictStr], RefField]] = None
184
186
  copy_: Optional[
185
187
  Union[
186
188
  List[Union[StrictStr, List[StrictStr], Tuple[StrictStr, StrictStr]]],
187
189
  RefField,
188
190
  ]
189
- ] = Field(alias="copy")
191
+ ] = Field(alias="copy", default=None)
190
192
  post_run_copy: Optional[
191
193
  Union[
192
194
  List[Union[StrictStr, List[StrictStr], Tuple[StrictStr, StrictStr]]],
193
195
  RefField,
194
196
  ]
195
- ] = Field(alias="postRunCopy")
196
- run: Optional[Union[List[StrictStr], RefField]]
197
- lang_env: Optional[StrictStr] = Field(alias="langEnv")
198
- uid: Optional[Union[int, RefField]]
199
- gid: Optional[Union[int, RefField]]
200
- username: Optional[StrictStr]
197
+ ] = Field(alias="postRunCopy", default=None)
198
+ run: Optional[Union[List[StrictStr], RefField]] = None
199
+ lang_env: Optional[StrictStr] = Field(alias="langEnv", default=None)
200
+ uid: Optional[Union[int, RefField]] = None
201
+ gid: Optional[Union[int, RefField]] = None
202
+ username: Optional[StrictStr] = None
201
203
  filename: Optional[StrictStr] = Field(default=POLYAXON_DOCKERFILE_NAME)
202
204
  workdir: Optional[StrictStr] = Field(default=POLYAXON_DOCKER_WORKDIR)
203
- workdir_path: Optional[StrictStr] = Field(alias="workdirPath")
205
+ workdir_path: Optional[StrictStr] = Field(alias="workdirPath", default=None)
204
206
  shell: Optional[StrictStr] = Field(default=POLYAXON_DOCKER_SHELL)
205
207
 
206
- @validator("image")
208
+ @field_validator("image")
207
209
  @skip_partial
208
210
  def check_image(cls, image):
209
211
  validate_image(image)
@@ -8,5 +8,5 @@ from polyaxon._schemas.types.base import BaseTypeConfig
8
8
  class V1EventType(BaseTypeConfig):
9
9
  _IDENTIFIER = "event"
10
10
 
11
- name: Optional[StrictStr]
12
- kind: Optional[StrictStr]
11
+ name: Optional[StrictStr] = None
12
+ kind: Optional[StrictStr] = None
@@ -143,7 +143,7 @@ class V1FileType(BaseTypeConfig):
143
143
 
144
144
  _IDENTIFIER = "file"
145
145
 
146
- kind: Optional[Union[V1ArtifactKind, RefField]]
146
+ kind: Optional[Union[V1ArtifactKind, RefField]] = None
147
147
  content: StrictStr
148
- filename: Optional[StrictStr]
149
- chmod: Optional[StrictStr]
148
+ filename: Optional[StrictStr] = None
149
+ chmod: Optional[StrictStr] = None
@@ -1,10 +1,13 @@
1
- from typing import List, Optional, Union
1
+ from typing import TYPE_CHECKING, List, Optional, Union
2
2
 
3
3
  from clipped.compact.pydantic import StrictStr
4
4
  from clipped.types.ref_or_obj import RefField
5
5
 
6
6
  from polyaxon._schemas.types.base import BaseTypeConfig
7
7
 
8
+ if TYPE_CHECKING:
9
+ from polyaxon._connections import V1GitConnection
10
+
8
11
 
9
12
  class V1GitType(BaseTypeConfig):
10
13
  """Git type allows you to pass a git repo as a parameter.
@@ -124,11 +127,16 @@ class V1GitType(BaseTypeConfig):
124
127
 
125
128
  _IDENTIFIER = "git"
126
129
 
127
- url: Optional[StrictStr]
128
- revision: Optional[StrictStr]
129
- flags: Optional[Union[List[StrictStr], RefField]]
130
+ url: Optional[StrictStr] = None
131
+ revision: Optional[StrictStr] = None
132
+ flags: Optional[Union[List[StrictStr], RefField]] = None
130
133
 
131
134
  def get_name(self):
132
135
  if self.url:
133
136
  return self.url.split("/")[-1].split(".")[0]
134
137
  return None
138
+
139
+ def to_connection(self) -> "V1GitConnection":
140
+ from polyaxon._connections import V1GitConnection
141
+
142
+ return V1GitConnection(url=self.url, revision=self.revision, flags=self.flags)
@@ -1,6 +1,12 @@
1
1
  from typing import List, Optional, Union
2
2
 
3
- from clipped.compact.pydantic import Field, StrictInt, StrictStr, validator
3
+ from clipped.compact.pydantic import (
4
+ Field,
5
+ StrictInt,
6
+ StrictStr,
7
+ field_validator,
8
+ validation_before,
9
+ )
4
10
  from clipped.config.constants import PARAM_REGEX
5
11
  from clipped.types.ref_or_obj import RefField
6
12
  from clipped.types.uuids import UUIDStr
@@ -129,14 +135,14 @@ class V1TensorboardType(BaseTypeConfig):
129
135
 
130
136
  _IDENTIFIER = "tensorboard"
131
137
 
132
- port: Optional[Union[StrictInt, RefField]]
133
- uuids: Optional[Union[List[UUIDStr], RefField]]
134
- use_names: Optional[Union[bool, RefField]] = Field(alias="useNames")
135
- path_prefix: Optional[StrictStr] = Field(alias="pathPrefix")
136
- plugins: Optional[Union[List[StrictStr], RefField]]
138
+ port: Optional[Union[StrictInt, RefField]] = None
139
+ uuids: Optional[Union[List[UUIDStr], RefField]] = None
140
+ use_names: Optional[Union[bool, RefField]] = Field(alias="useNames", default=None)
141
+ path_prefix: Optional[StrictStr] = Field(alias="pathPrefix", default=None)
142
+ plugins: Optional[Union[List[StrictStr], RefField]] = None
137
143
 
138
- @validator("uuids", "plugins", pre=True)
139
- def validate_str_list(cls, v, field):
144
+ @field_validator("uuids", "plugins", **validation_before)
145
+ def validate_str_list(cls, v):
140
146
  if isinstance(v, str) and v is not None and not PARAM_REGEX.search(v):
141
147
  return to_list(v, check_str=True)
142
148
  return v
polyaxon/_schemas/user.py CHANGED
@@ -10,6 +10,6 @@ class UserConfig(BaseSchemaModel):
10
10
  _IDENTIFIER = "user"
11
11
 
12
12
  username: StrictStr
13
- email: Optional[EmailStr]
14
- name: Optional[StrictStr]
15
- theme: Optional[int]
13
+ email: Optional[EmailStr] = None
14
+ name: Optional[StrictStr] = None
15
+ theme: Optional[int] = None
@@ -6,5 +6,5 @@ from polyaxon._schemas.base import BaseSchemaModel
6
6
 
7
7
 
8
8
  class V1Version(BaseSchemaModel):
9
- min: Optional[StrictStr]
10
- latest: Optional[StrictStr]
9
+ min: Optional[StrictStr] = None
10
+ latest: Optional[StrictStr] = None
@@ -1,7 +1,7 @@
1
1
  from typing import Dict, Optional
2
2
  from typing_extensions import Annotated
3
3
 
4
- from clipped.compact.pydantic import Field, StrictInt, StrictStr, validate_arguments
4
+ from clipped.compact.pydantic import Field, StrictInt, StrictStr, validate_call
5
5
 
6
6
  from polyaxon._schemas.lifecycle import V1Status
7
7
  from polyaxon._sdk.base_api import BaseApi
@@ -18,7 +18,7 @@ from traceml.logging import V1Logs
18
18
 
19
19
 
20
20
  class AgentsV1Api(BaseApi):
21
- @validate_arguments
21
+ @validate_call
22
22
  def collect_agent_data(
23
23
  self,
24
24
  namespace: Annotated[StrictStr, Field(..., description="namespace")],
@@ -62,7 +62,7 @@ class AgentsV1Api(BaseApi):
62
62
  namespace, owner, uuid, **kwargs
63
63
  ) # noqa: E501
64
64
 
65
- @validate_arguments
65
+ @validate_call
66
66
  def collect_agent_data_with_http_info(
67
67
  self,
68
68
  namespace: Annotated[StrictStr, Field(..., description="namespace")],
@@ -189,7 +189,7 @@ class AgentsV1Api(BaseApi):
189
189
  _request_auth=_params.get("_request_auth"),
190
190
  )
191
191
 
192
- @validate_arguments
192
+ @validate_call
193
193
  def create_agent(
194
194
  self,
195
195
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -226,7 +226,7 @@ class AgentsV1Api(BaseApi):
226
226
  kwargs["_return_http_data_only"] = True
227
227
  return self.create_agent_with_http_info(owner, body, **kwargs) # noqa: E501
228
228
 
229
- @validate_arguments
229
+ @validate_call
230
230
  def create_agent_with_http_info(
231
231
  self,
232
232
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -358,7 +358,7 @@ class AgentsV1Api(BaseApi):
358
358
  _request_auth=_params.get("_request_auth"),
359
359
  )
360
360
 
361
- @validate_arguments
361
+ @validate_call
362
362
  def create_agent_status(
363
363
  self,
364
364
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -402,7 +402,7 @@ class AgentsV1Api(BaseApi):
402
402
  owner, uuid, body, **kwargs
403
403
  ) # noqa: E501
404
404
 
405
- @validate_arguments
405
+ @validate_call
406
406
  def create_agent_status_with_http_info(
407
407
  self,
408
408
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -541,7 +541,7 @@ class AgentsV1Api(BaseApi):
541
541
  _request_auth=_params.get("_request_auth"),
542
542
  )
543
543
 
544
- @validate_arguments
544
+ @validate_call
545
545
  def delete_agent(
546
546
  self,
547
547
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -588,7 +588,7 @@ class AgentsV1Api(BaseApi):
588
588
  owner, uuid, entity, **kwargs
589
589
  ) # noqa: E501
590
590
 
591
- @validate_arguments
591
+ @validate_call
592
592
  def delete_agent_with_http_info(
593
593
  self,
594
594
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -717,7 +717,7 @@ class AgentsV1Api(BaseApi):
717
717
  _request_auth=_params.get("_request_auth"),
718
718
  )
719
719
 
720
- @validate_arguments
720
+ @validate_call
721
721
  def get_agent(
722
722
  self,
723
723
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -764,7 +764,7 @@ class AgentsV1Api(BaseApi):
764
764
  owner, uuid, entity, **kwargs
765
765
  ) # noqa: E501
766
766
 
767
- @validate_arguments
767
+ @validate_call
768
768
  def get_agent_with_http_info(
769
769
  self,
770
770
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -898,7 +898,7 @@ class AgentsV1Api(BaseApi):
898
898
  _request_auth=_params.get("_request_auth"),
899
899
  )
900
900
 
901
- @validate_arguments
901
+ @validate_call
902
902
  def get_agent_config(
903
903
  self,
904
904
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -945,7 +945,7 @@ class AgentsV1Api(BaseApi):
945
945
  owner, uuid, entity, **kwargs
946
946
  ) # noqa: E501
947
947
 
948
- @validate_arguments
948
+ @validate_call
949
949
  def get_agent_config_with_http_info(
950
950
  self,
951
951
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -1079,7 +1079,7 @@ class AgentsV1Api(BaseApi):
1079
1079
  _request_auth=_params.get("_request_auth"),
1080
1080
  )
1081
1081
 
1082
- @validate_arguments
1082
+ @validate_call
1083
1083
  def get_agent_logs(
1084
1084
  self,
1085
1085
  namespace: Annotated[StrictStr, Field(..., description="namespace")],
@@ -1141,7 +1141,7 @@ class AgentsV1Api(BaseApi):
1141
1141
  namespace, owner, uuid, service, last_file, force, connection, **kwargs
1142
1142
  ) # noqa: E501
1143
1143
 
1144
- @validate_arguments
1144
+ @validate_call
1145
1145
  def get_agent_logs_with_http_info(
1146
1146
  self,
1147
1147
  namespace: Annotated[StrictStr, Field(..., description="namespace")],
@@ -1303,7 +1303,7 @@ class AgentsV1Api(BaseApi):
1303
1303
  _request_auth=_params.get("_request_auth"),
1304
1304
  )
1305
1305
 
1306
- @validate_arguments
1306
+ @validate_call
1307
1307
  def get_agent_state(
1308
1308
  self,
1309
1309
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -1342,7 +1342,7 @@ class AgentsV1Api(BaseApi):
1342
1342
  kwargs["_return_http_data_only"] = True
1343
1343
  return self.get_agent_state_with_http_info(owner, uuid, **kwargs) # noqa: E501
1344
1344
 
1345
- @validate_arguments
1345
+ @validate_call
1346
1346
  def get_agent_state_with_http_info(
1347
1347
  self,
1348
1348
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -1468,7 +1468,7 @@ class AgentsV1Api(BaseApi):
1468
1468
  _request_auth=_params.get("_request_auth"),
1469
1469
  )
1470
1470
 
1471
- @validate_arguments
1471
+ @validate_call
1472
1472
  def get_agent_statuses(
1473
1473
  self,
1474
1474
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -1515,7 +1515,7 @@ class AgentsV1Api(BaseApi):
1515
1515
  owner, uuid, entity, **kwargs
1516
1516
  ) # noqa: E501
1517
1517
 
1518
- @validate_arguments
1518
+ @validate_call
1519
1519
  def get_agent_statuses_with_http_info(
1520
1520
  self,
1521
1521
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -1647,7 +1647,7 @@ class AgentsV1Api(BaseApi):
1647
1647
  _request_auth=_params.get("_request_auth"),
1648
1648
  )
1649
1649
 
1650
- @validate_arguments
1650
+ @validate_call
1651
1651
  def get_agent_token(
1652
1652
  self,
1653
1653
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -1686,7 +1686,7 @@ class AgentsV1Api(BaseApi):
1686
1686
  kwargs["_return_http_data_only"] = True
1687
1687
  return self.get_agent_token_with_http_info(owner, uuid, **kwargs) # noqa: E501
1688
1688
 
1689
- @validate_arguments
1689
+ @validate_call
1690
1690
  def get_agent_token_with_http_info(
1691
1691
  self,
1692
1692
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -1812,7 +1812,7 @@ class AgentsV1Api(BaseApi):
1812
1812
  _request_auth=_params.get("_request_auth"),
1813
1813
  )
1814
1814
 
1815
- @validate_arguments
1815
+ @validate_call
1816
1816
  def get_global_state(
1817
1817
  self,
1818
1818
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -1846,7 +1846,7 @@ class AgentsV1Api(BaseApi):
1846
1846
  kwargs["_return_http_data_only"] = True
1847
1847
  return self.get_global_state_with_http_info(owner, **kwargs) # noqa: E501
1848
1848
 
1849
- @validate_arguments
1849
+ @validate_call
1850
1850
  def get_global_state_with_http_info(
1851
1851
  self,
1852
1852
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -1961,7 +1961,7 @@ class AgentsV1Api(BaseApi):
1961
1961
  _request_auth=_params.get("_request_auth"),
1962
1962
  )
1963
1963
 
1964
- @validate_arguments
1964
+ @validate_call
1965
1965
  def inspect_agent(
1966
1966
  self,
1967
1967
  namespace: Annotated[StrictStr, Field(..., description="namespace")],
@@ -2023,7 +2023,7 @@ class AgentsV1Api(BaseApi):
2023
2023
  namespace, owner, uuid, service, last_file, force, connection, **kwargs
2024
2024
  ) # noqa: E501
2025
2025
 
2026
- @validate_arguments
2026
+ @validate_call
2027
2027
  def inspect_agent_with_http_info(
2028
2028
  self,
2029
2029
  namespace: Annotated[StrictStr, Field(..., description="namespace")],
@@ -2185,7 +2185,7 @@ class AgentsV1Api(BaseApi):
2185
2185
  _request_auth=_params.get("_request_auth"),
2186
2186
  )
2187
2187
 
2188
- @validate_arguments
2188
+ @validate_call
2189
2189
  def list_agent_names(
2190
2190
  self,
2191
2191
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -2252,7 +2252,7 @@ class AgentsV1Api(BaseApi):
2252
2252
  owner, offset, limit, sort, query, bookmarks, mode, no_page, **kwargs
2253
2253
  ) # noqa: E501
2254
2254
 
2255
- @validate_arguments
2255
+ @validate_call
2256
2256
  def list_agent_names_with_http_info(
2257
2257
  self,
2258
2258
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -2425,7 +2425,7 @@ class AgentsV1Api(BaseApi):
2425
2425
  _request_auth=_params.get("_request_auth"),
2426
2426
  )
2427
2427
 
2428
- @validate_arguments
2428
+ @validate_call
2429
2429
  def list_agents(
2430
2430
  self,
2431
2431
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -2492,7 +2492,7 @@ class AgentsV1Api(BaseApi):
2492
2492
  owner, offset, limit, sort, query, bookmarks, mode, no_page, **kwargs
2493
2493
  ) # noqa: E501
2494
2494
 
2495
- @validate_arguments
2495
+ @validate_call
2496
2496
  def list_agents_with_http_info(
2497
2497
  self,
2498
2498
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -2665,7 +2665,7 @@ class AgentsV1Api(BaseApi):
2665
2665
  _request_auth=_params.get("_request_auth"),
2666
2666
  )
2667
2667
 
2668
- @validate_arguments
2668
+ @validate_call
2669
2669
  def patch_agent(
2670
2670
  self,
2671
2671
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -2707,7 +2707,7 @@ class AgentsV1Api(BaseApi):
2707
2707
  owner, agent_uuid, body, **kwargs
2708
2708
  ) # noqa: E501
2709
2709
 
2710
- @validate_arguments
2710
+ @validate_call
2711
2711
  def patch_agent_with_http_info(
2712
2712
  self,
2713
2713
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -2844,7 +2844,7 @@ class AgentsV1Api(BaseApi):
2844
2844
  _request_auth=_params.get("_request_auth"),
2845
2845
  )
2846
2846
 
2847
- @validate_arguments
2847
+ @validate_call
2848
2848
  def patch_agent_token(
2849
2849
  self,
2850
2850
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -2886,7 +2886,7 @@ class AgentsV1Api(BaseApi):
2886
2886
  owner, entity, body, **kwargs
2887
2887
  ) # noqa: E501
2888
2888
 
2889
- @validate_arguments
2889
+ @validate_call
2890
2890
  def patch_agent_token_with_http_info(
2891
2891
  self,
2892
2892
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -3023,7 +3023,7 @@ class AgentsV1Api(BaseApi):
3023
3023
  _request_auth=_params.get("_request_auth"),
3024
3024
  )
3025
3025
 
3026
- @validate_arguments
3026
+ @validate_call
3027
3027
  def reconcile_agent(
3028
3028
  self,
3029
3029
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -3067,7 +3067,7 @@ class AgentsV1Api(BaseApi):
3067
3067
  owner, uuid, body, **kwargs
3068
3068
  ) # noqa: E501
3069
3069
 
3070
- @validate_arguments
3070
+ @validate_call
3071
3071
  def reconcile_agent_with_http_info(
3072
3072
  self,
3073
3073
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -3203,7 +3203,7 @@ class AgentsV1Api(BaseApi):
3203
3203
  _request_auth=_params.get("_request_auth"),
3204
3204
  )
3205
3205
 
3206
- @validate_arguments
3206
+ @validate_call
3207
3207
  def sync_agent(
3208
3208
  self,
3209
3209
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -3245,7 +3245,7 @@ class AgentsV1Api(BaseApi):
3245
3245
  owner, agent_uuid, body, **kwargs
3246
3246
  ) # noqa: E501
3247
3247
 
3248
- @validate_arguments
3248
+ @validate_call
3249
3249
  def sync_agent_with_http_info(
3250
3250
  self,
3251
3251
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -3377,7 +3377,7 @@ class AgentsV1Api(BaseApi):
3377
3377
  _request_auth=_params.get("_request_auth"),
3378
3378
  )
3379
3379
 
3380
- @validate_arguments
3380
+ @validate_call
3381
3381
  def cron_agent(
3382
3382
  self,
3383
3383
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -3414,7 +3414,7 @@ class AgentsV1Api(BaseApi):
3414
3414
  kwargs["_return_http_data_only"] = True
3415
3415
  return self.cron_agent_with_http_info(owner, body, **kwargs) # noqa: E501
3416
3416
 
3417
- @validate_arguments
3417
+ @validate_call
3418
3418
  def cron_agent_with_http_info(
3419
3419
  self,
3420
3420
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -3542,7 +3542,7 @@ class AgentsV1Api(BaseApi):
3542
3542
  _request_auth=_params.get("_request_auth"),
3543
3543
  )
3544
3544
 
3545
- @validate_arguments
3545
+ @validate_call
3546
3546
  def update_agent(
3547
3547
  self,
3548
3548
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -3584,7 +3584,7 @@ class AgentsV1Api(BaseApi):
3584
3584
  owner, agent_uuid, body, **kwargs
3585
3585
  ) # noqa: E501
3586
3586
 
3587
- @validate_arguments
3587
+ @validate_call
3588
3588
  def update_agent_with_http_info(
3589
3589
  self,
3590
3590
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -3721,7 +3721,7 @@ class AgentsV1Api(BaseApi):
3721
3721
  _request_auth=_params.get("_request_auth"),
3722
3722
  )
3723
3723
 
3724
- @validate_arguments
3724
+ @validate_call
3725
3725
  def update_agent_config(
3726
3726
  self,
3727
3727
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -3763,7 +3763,7 @@ class AgentsV1Api(BaseApi):
3763
3763
  owner, agent_uuid, body, **kwargs
3764
3764
  ) # noqa: E501
3765
3765
 
3766
- @validate_arguments
3766
+ @validate_call
3767
3767
  def update_agent_config_with_http_info(
3768
3768
  self,
3769
3769
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -3900,7 +3900,7 @@ class AgentsV1Api(BaseApi):
3900
3900
  _request_auth=_params.get("_request_auth"),
3901
3901
  )
3902
3902
 
3903
- @validate_arguments
3903
+ @validate_call
3904
3904
  def update_agent_token(
3905
3905
  self,
3906
3906
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -3942,7 +3942,7 @@ class AgentsV1Api(BaseApi):
3942
3942
  owner, entity, body, **kwargs
3943
3943
  ) # noqa: E501
3944
3944
 
3945
- @validate_arguments
3945
+ @validate_call
3946
3946
  def update_agent_token_with_http_info(
3947
3947
  self,
3948
3948
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -1,14 +1,14 @@
1
1
  from typing import Optional
2
2
  from typing_extensions import Annotated
3
3
 
4
- from clipped.compact.pydantic import Field, StrictStr, validate_arguments
4
+ from clipped.compact.pydantic import Field, StrictStr, validate_call
5
5
 
6
6
  from polyaxon._sdk.base_api import BaseApi
7
7
  from polyaxon.exceptions import ApiTypeError
8
8
 
9
9
 
10
10
  class ArtifactsStoresV1Api(BaseApi):
11
- @validate_arguments
11
+ @validate_call
12
12
  def upload_artifact(
13
13
  self,
14
14
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],
@@ -62,7 +62,7 @@ class ArtifactsStoresV1Api(BaseApi):
62
62
  owner, uuid, uploadfile, path, overwrite, **kwargs
63
63
  )
64
64
 
65
- @validate_arguments
65
+ @validate_call
66
66
  def upload_artifact_with_http_info(
67
67
  self,
68
68
  owner: Annotated[StrictStr, Field(..., description="Owner of the namespace")],