zenml-nightly 0.55.0.dev20240124__py3-none-any.whl → 0.72.0.dev20250116__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 (1240) hide show
  1. zenml/VERSION +1 -1
  2. zenml/__init__.py +9 -12
  3. zenml/actions/__init__.py +14 -0
  4. zenml/actions/base_action.py +682 -0
  5. zenml/actions/pipeline_run/__init__.py +0 -0
  6. zenml/actions/pipeline_run/pipeline_run_action.py +223 -0
  7. zenml/analytics/context.py +70 -15
  8. zenml/analytics/enums.py +21 -17
  9. zenml/analytics/models.py +1 -0
  10. zenml/analytics/utils.py +19 -7
  11. zenml/annotators/base_annotator.py +4 -3
  12. zenml/artifact_stores/base_artifact_store.py +155 -72
  13. zenml/artifact_stores/local_artifact_store.py +3 -2
  14. zenml/artifacts/artifact_config.py +67 -58
  15. zenml/artifacts/external_artifact.py +24 -39
  16. zenml/artifacts/external_artifact_config.py +27 -37
  17. zenml/artifacts/preexisting_data_materializer.py +90 -0
  18. zenml/artifacts/unmaterialized_artifact.py +2 -12
  19. zenml/artifacts/utils.py +521 -220
  20. zenml/cli/__init__.py +1511 -456
  21. zenml/cli/annotator.py +48 -14
  22. zenml/cli/artifact.py +22 -4
  23. zenml/cli/authorized_device.py +1 -0
  24. zenml/cli/base.py +185 -22
  25. zenml/cli/code_repository.py +1 -0
  26. zenml/cli/formatter.py +1 -1
  27. zenml/cli/integration.py +119 -24
  28. zenml/cli/login.py +1053 -0
  29. zenml/cli/model.py +42 -15
  30. zenml/cli/model_registry.py +1 -2
  31. zenml/cli/pipeline.py +168 -82
  32. zenml/cli/secret.py +1 -2
  33. zenml/cli/served_model.py +56 -26
  34. zenml/cli/server.py +486 -619
  35. zenml/cli/service_accounts.py +55 -14
  36. zenml/cli/service_connectors.py +97 -6
  37. zenml/cli/stack.py +821 -531
  38. zenml/cli/stack_components.py +15 -598
  39. zenml/cli/tag.py +1 -0
  40. zenml/cli/text_utils.py +36 -2
  41. zenml/cli/user_management.py +204 -6
  42. zenml/cli/utils.py +411 -290
  43. zenml/client.py +1742 -298
  44. zenml/client_lazy_loader.py +224 -0
  45. zenml/code_repositories/base_code_repository.py +5 -4
  46. zenml/code_repositories/git/local_git_repository_context.py +1 -0
  47. zenml/code_repositories/local_repository_context.py +1 -0
  48. zenml/config/__init__.py +2 -0
  49. zenml/config/base_settings.py +6 -6
  50. zenml/config/build_configuration.py +43 -17
  51. zenml/config/compiler.py +82 -49
  52. zenml/config/docker_settings.py +139 -83
  53. zenml/config/global_config.py +260 -234
  54. zenml/config/pipeline_configurations.py +32 -11
  55. zenml/config/pipeline_run_configuration.py +15 -3
  56. zenml/config/pipeline_spec.py +6 -6
  57. zenml/config/resource_settings.py +8 -9
  58. zenml/config/retry_config.py +27 -0
  59. zenml/config/schedule.py +27 -18
  60. zenml/config/secret_reference_mixin.py +8 -4
  61. zenml/config/secrets_store_config.py +16 -24
  62. zenml/config/server_config.py +434 -51
  63. zenml/config/settings_resolver.py +2 -1
  64. zenml/config/source.py +97 -31
  65. zenml/config/step_configurations.py +83 -39
  66. zenml/config/step_run_info.py +3 -0
  67. zenml/config/store_config.py +20 -54
  68. zenml/config/strict_base_model.py +2 -6
  69. zenml/console.py +0 -1
  70. zenml/constants.py +232 -74
  71. zenml/container_registries/azure_container_registry.py +1 -0
  72. zenml/container_registries/base_container_registry.py +7 -3
  73. zenml/container_registries/default_container_registry.py +4 -3
  74. zenml/container_registries/dockerhub_container_registry.py +1 -0
  75. zenml/container_registries/gcp_container_registry.py +1 -0
  76. zenml/container_registries/github_container_registry.py +2 -10
  77. zenml/data_validators/base_data_validator.py +2 -2
  78. zenml/entrypoints/base_entrypoint_configuration.py +76 -17
  79. zenml/entrypoints/pipeline_entrypoint_configuration.py +1 -0
  80. zenml/entrypoints/step_entrypoint_configuration.py +21 -2
  81. zenml/enums.py +91 -9
  82. zenml/environment.py +52 -319
  83. zenml/{steps/base_parameters.py → event_hub/__init__.py} +5 -7
  84. zenml/event_hub/base_event_hub.py +196 -0
  85. zenml/event_hub/event_hub.py +181 -0
  86. zenml/event_sources/__init__.py +14 -0
  87. zenml/{lineage_graph/edge.py → event_sources/base_event.py} +5 -7
  88. zenml/event_sources/base_event_source.py +695 -0
  89. zenml/event_sources/webhooks/__init__.py +14 -0
  90. zenml/event_sources/webhooks/base_webhook_event_source.py +231 -0
  91. zenml/exceptions.py +40 -41
  92. zenml/feature_stores/base_feature_store.py +4 -6
  93. zenml/hooks/hook_validators.py +3 -11
  94. zenml/image_builders/base_image_builder.py +5 -2
  95. zenml/image_builders/build_context.py +24 -80
  96. zenml/image_builders/local_image_builder.py +14 -6
  97. zenml/integrations/__init__.py +16 -4
  98. zenml/integrations/airflow/__init__.py +3 -5
  99. zenml/integrations/airflow/flavors/airflow_orchestrator_flavor.py +15 -7
  100. zenml/integrations/airflow/orchestrators/airflow_orchestrator.py +15 -252
  101. zenml/integrations/airflow/orchestrators/dag_generator.py +5 -3
  102. zenml/integrations/argilla/__init__.py +46 -0
  103. zenml/integrations/argilla/annotators/__init__.py +20 -0
  104. zenml/integrations/argilla/annotators/argilla_annotator.py +443 -0
  105. zenml/{post_execution → integrations/argilla/flavors}/__init__.py +9 -13
  106. zenml/integrations/argilla/flavors/argilla_annotator_flavor.py +150 -0
  107. zenml/integrations/aws/__init__.py +7 -3
  108. zenml/integrations/aws/container_registries/aws_container_registry.py +44 -8
  109. zenml/integrations/aws/flavors/__init__.py +6 -0
  110. zenml/integrations/aws/flavors/aws_container_registry_flavor.py +3 -2
  111. zenml/integrations/aws/flavors/aws_image_builder_flavor.py +146 -0
  112. zenml/integrations/aws/flavors/sagemaker_orchestrator_flavor.py +104 -16
  113. zenml/integrations/aws/flavors/sagemaker_step_operator_flavor.py +6 -2
  114. zenml/integrations/aws/image_builders/__init__.py +20 -0
  115. zenml/integrations/aws/image_builders/aws_image_builder.py +307 -0
  116. zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py +421 -133
  117. zenml/integrations/aws/service_connectors/aws_service_connector.py +175 -48
  118. zenml/integrations/aws/step_operators/sagemaker_step_operator.py +1 -1
  119. zenml/integrations/azure/__init__.py +14 -5
  120. zenml/integrations/azure/azureml_utils.py +201 -0
  121. zenml/integrations/azure/flavors/__init__.py +11 -0
  122. zenml/integrations/azure/flavors/azureml.py +139 -0
  123. zenml/integrations/azure/flavors/azureml_orchestrator_flavor.py +166 -0
  124. zenml/integrations/azure/flavors/azureml_step_operator_flavor.py +71 -18
  125. zenml/integrations/azure/orchestrators/__init__.py +19 -0
  126. zenml/integrations/azure/orchestrators/azureml_orchestrator.py +583 -0
  127. zenml/integrations/azure/orchestrators/azureml_orchestrator_entrypoint_config.py +82 -0
  128. zenml/integrations/azure/service_connectors/azure_service_connector.py +15 -6
  129. zenml/integrations/azure/step_operators/azureml_step_operator.py +78 -173
  130. zenml/integrations/bentoml/__init__.py +1 -1
  131. zenml/integrations/bentoml/constants.py +1 -1
  132. zenml/integrations/bentoml/materializers/bentoml_bento_materializer.py +19 -31
  133. zenml/integrations/bentoml/model_deployers/bentoml_model_deployer.py +128 -239
  134. zenml/integrations/bentoml/services/__init__.py +15 -4
  135. zenml/integrations/bentoml/services/bentoml_container_deployment.py +399 -0
  136. zenml/integrations/bentoml/services/{bentoml_deployment.py → bentoml_local_deployment.py} +85 -43
  137. zenml/integrations/bentoml/services/deployment_type.py +23 -0
  138. zenml/integrations/bentoml/steps/bento_builder.py +2 -0
  139. zenml/integrations/bentoml/steps/bentoml_deployer.py +97 -47
  140. zenml/integrations/bitbucket/__init__.py +42 -0
  141. zenml/integrations/bitbucket/plugins/__init__.py +20 -0
  142. zenml/integrations/bitbucket/plugins/bitbucket_webhook_event_source_flavor.py +43 -0
  143. zenml/integrations/bitbucket/plugins/event_sources/__init__.py +0 -0
  144. zenml/integrations/bitbucket/plugins/event_sources/bitbucket_webhook_event_source.py +486 -0
  145. zenml/integrations/comet/__init__.py +49 -0
  146. zenml/integrations/{kserve/services → comet/experiment_trackers}/__init__.py +5 -6
  147. zenml/integrations/comet/experiment_trackers/comet_experiment_tracker.py +175 -0
  148. zenml/integrations/comet/flavors/__init__.py +24 -0
  149. zenml/integrations/comet/flavors/comet_experiment_tracker_flavor.py +129 -0
  150. zenml/integrations/constants.py +14 -2
  151. zenml/integrations/databricks/__init__.py +70 -0
  152. zenml/{lineage_graph → integrations/databricks/flavors}/__init__.py +14 -18
  153. zenml/integrations/databricks/flavors/databricks_model_deployer_flavor.py +118 -0
  154. zenml/integrations/databricks/flavors/databricks_orchestrator_flavor.py +174 -0
  155. zenml/integrations/{kserve → databricks}/model_deployers/__init__.py +5 -5
  156. zenml/integrations/databricks/model_deployers/databricks_model_deployer.py +249 -0
  157. zenml/integrations/databricks/orchestrators/__init__.py +20 -0
  158. zenml/integrations/databricks/orchestrators/databricks_orchestrator.py +501 -0
  159. zenml/integrations/databricks/orchestrators/databricks_orchestrator_entrypoint_config.py +97 -0
  160. zenml/integrations/databricks/services/__init__.py +19 -0
  161. zenml/integrations/databricks/services/databricks_deployment.py +407 -0
  162. zenml/integrations/{gcp/orchestrators/vertex_scheduler → databricks/utils}/__init__.py +2 -2
  163. zenml/integrations/databricks/utils/databricks_utils.py +87 -0
  164. zenml/integrations/deepchecks/__init__.py +30 -10
  165. zenml/integrations/deepchecks/data_validators/deepchecks_data_validator.py +59 -18
  166. zenml/integrations/deepchecks/materializers/deepchecks_dataset_materializer.py +3 -1
  167. zenml/integrations/deepchecks/materializers/deepchecks_results_materializer.py +3 -3
  168. zenml/integrations/deepchecks/validation_checks.py +62 -35
  169. zenml/integrations/discord/__init__.py +1 -0
  170. zenml/integrations/discord/steps/discord_alerter_ask_step.py +1 -0
  171. zenml/integrations/discord/steps/discord_alerter_post_step.py +1 -0
  172. zenml/integrations/evidently/__init__.py +22 -4
  173. zenml/integrations/evidently/column_mapping.py +11 -3
  174. zenml/integrations/evidently/data_validators/evidently_data_validator.py +24 -6
  175. zenml/integrations/evidently/metrics.py +7 -8
  176. zenml/integrations/evidently/tests.py +7 -8
  177. zenml/integrations/facets/__init__.py +22 -5
  178. zenml/integrations/facets/models.py +2 -7
  179. zenml/integrations/feast/__init__.py +19 -3
  180. zenml/integrations/feast/feature_stores/feast_feature_store.py +13 -32
  181. zenml/integrations/gcp/__init__.py +6 -6
  182. zenml/integrations/gcp/artifact_stores/gcp_artifact_store.py +6 -0
  183. zenml/integrations/gcp/flavors/gcp_artifact_store_flavor.py +1 -0
  184. zenml/integrations/gcp/flavors/vertex_orchestrator_flavor.py +24 -2
  185. zenml/integrations/gcp/flavors/vertex_step_operator_flavor.py +14 -1
  186. zenml/integrations/gcp/google_credentials_mixin.py +1 -1
  187. zenml/integrations/gcp/orchestrators/vertex_orchestrator.py +519 -296
  188. zenml/integrations/gcp/service_connectors/gcp_service_connector.py +788 -113
  189. zenml/integrations/gcp/step_operators/vertex_step_operator.py +9 -1
  190. zenml/integrations/github/__init__.py +15 -0
  191. zenml/integrations/github/code_repositories/github_code_repository.py +3 -2
  192. zenml/integrations/github/plugins/__init__.py +19 -0
  193. zenml/integrations/github/plugins/event_sources/__init__.py +0 -0
  194. zenml/integrations/github/plugins/event_sources/github_webhook_event_source.py +510 -0
  195. zenml/integrations/github/plugins/github_webhook_event_source_flavor.py +43 -0
  196. zenml/integrations/gitlab/code_repositories/gitlab_code_repository.py +7 -1
  197. zenml/integrations/great_expectations/__init__.py +22 -10
  198. zenml/integrations/great_expectations/data_validators/ge_data_validator.py +61 -57
  199. zenml/integrations/great_expectations/flavors/great_expectations_data_validator_flavor.py +35 -2
  200. zenml/integrations/great_expectations/ge_store_backend.py +24 -11
  201. zenml/integrations/great_expectations/materializers/ge_materializer.py +9 -9
  202. zenml/integrations/great_expectations/utils.py +5 -5
  203. zenml/integrations/huggingface/__init__.py +52 -1
  204. zenml/integrations/huggingface/flavors/__init__.py +26 -0
  205. zenml/integrations/huggingface/flavors/huggingface_model_deployer_flavor.py +130 -0
  206. zenml/integrations/huggingface/materializers/__init__.py +3 -0
  207. zenml/integrations/huggingface/materializers/huggingface_datasets_materializer.py +102 -19
  208. zenml/integrations/huggingface/materializers/huggingface_pt_model_materializer.py +18 -19
  209. zenml/integrations/huggingface/materializers/huggingface_t5_materializer.py +104 -0
  210. zenml/integrations/huggingface/materializers/huggingface_tf_model_materializer.py +18 -19
  211. zenml/integrations/huggingface/materializers/huggingface_tokenizer_materializer.py +13 -15
  212. zenml/integrations/huggingface/model_deployers/__init__.py +20 -0
  213. zenml/integrations/huggingface/model_deployers/huggingface_model_deployer.py +247 -0
  214. zenml/integrations/huggingface/services/__init__.py +19 -0
  215. zenml/integrations/huggingface/services/huggingface_deployment.py +292 -0
  216. zenml/integrations/huggingface/steps/__init__.py +21 -0
  217. zenml/integrations/huggingface/steps/accelerate_runner.py +166 -0
  218. zenml/integrations/huggingface/steps/huggingface_deployer.py +110 -0
  219. zenml/integrations/hyperai/__init__.py +53 -0
  220. zenml/integrations/hyperai/flavors/__init__.py +20 -0
  221. zenml/integrations/hyperai/flavors/hyperai_orchestrator_flavor.py +170 -0
  222. zenml/integrations/hyperai/orchestrators/__init__.py +21 -0
  223. zenml/integrations/hyperai/orchestrators/hyperai_orchestrator.py +510 -0
  224. zenml/integrations/hyperai/service_connectors/__init__.py +20 -0
  225. zenml/integrations/hyperai/service_connectors/hyperai_service_connector.py +375 -0
  226. zenml/integrations/integration.py +101 -47
  227. zenml/integrations/kaniko/flavors/kaniko_image_builder_flavor.py +6 -44
  228. zenml/integrations/kaniko/image_builders/kaniko_image_builder.py +9 -6
  229. zenml/integrations/kubeflow/__init__.py +4 -1
  230. zenml/integrations/kubeflow/flavors/kubeflow_orchestrator_flavor.py +67 -82
  231. zenml/integrations/kubeflow/orchestrators/kubeflow_orchestrator.py +306 -248
  232. zenml/integrations/kubernetes/__init__.py +6 -3
  233. zenml/integrations/kubernetes/flavors/__init__.py +8 -0
  234. zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py +43 -2
  235. zenml/integrations/kubernetes/flavors/kubernetes_step_operator_flavor.py +166 -0
  236. zenml/integrations/kubernetes/orchestrators/kube_utils.py +67 -12
  237. zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py +89 -21
  238. zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py +39 -7
  239. zenml/integrations/kubernetes/orchestrators/manifest_utils.py +42 -19
  240. zenml/integrations/kubernetes/pod_settings.py +21 -31
  241. zenml/integrations/kubernetes/serialization_utils.py +3 -3
  242. zenml/integrations/kubernetes/service_connectors/kubernetes_service_connector.py +14 -11
  243. zenml/integrations/kubernetes/step_operators/__init__.py +22 -0
  244. zenml/integrations/kubernetes/step_operators/kubernetes_step_operator.py +236 -0
  245. zenml/integrations/label_studio/__init__.py +1 -3
  246. zenml/integrations/label_studio/annotators/label_studio_annotator.py +46 -14
  247. zenml/integrations/label_studio/flavors/__init__.py +2 -0
  248. zenml/integrations/label_studio/flavors/label_studio_annotator_flavor.py +20 -5
  249. zenml/integrations/langchain/__init__.py +7 -1
  250. zenml/integrations/langchain/materializers/document_materializer.py +44 -8
  251. zenml/integrations/langchain/materializers/openai_embedding_materializer.py +28 -2
  252. zenml/integrations/lightgbm/__init__.py +1 -0
  253. zenml/integrations/lightgbm/materializers/lightgbm_booster_materializer.py +8 -15
  254. zenml/integrations/lightgbm/materializers/lightgbm_dataset_materializer.py +11 -16
  255. zenml/integrations/lightning/__init__.py +48 -0
  256. zenml/integrations/lightning/flavors/__init__.py +23 -0
  257. zenml/integrations/lightning/flavors/lightning_orchestrator_flavor.py +168 -0
  258. zenml/integrations/lightning/orchestrators/__init__.py +23 -0
  259. zenml/integrations/lightning/orchestrators/lightning_orchestrator.py +617 -0
  260. zenml/integrations/lightning/orchestrators/lightning_orchestrator_entrypoint.py +303 -0
  261. zenml/integrations/lightning/orchestrators/lightning_orchestrator_entrypoint_configuration.py +77 -0
  262. zenml/integrations/lightning/orchestrators/utils.py +67 -0
  263. zenml/integrations/mlflow/__init__.py +55 -8
  264. zenml/integrations/mlflow/experiment_trackers/mlflow_experiment_tracker.py +31 -13
  265. zenml/integrations/mlflow/flavors/mlflow_experiment_tracker_flavor.py +32 -37
  266. zenml/integrations/mlflow/model_deployers/mlflow_model_deployer.py +42 -233
  267. zenml/integrations/mlflow/model_registries/mlflow_model_registry.py +42 -49
  268. zenml/integrations/mlflow/services/mlflow_deployment.py +30 -5
  269. zenml/integrations/mlflow/steps/mlflow_deployer.py +25 -27
  270. zenml/integrations/mlflow/steps/mlflow_registry.py +3 -1
  271. zenml/integrations/modal/__init__.py +46 -0
  272. zenml/integrations/modal/flavors/__init__.py +26 -0
  273. zenml/integrations/modal/flavors/modal_step_operator_flavor.py +125 -0
  274. zenml/integrations/modal/step_operators/__init__.py +22 -0
  275. zenml/integrations/modal/step_operators/modal_step_operator.py +242 -0
  276. zenml/integrations/neptune/experiment_trackers/neptune_experiment_tracker.py +7 -5
  277. zenml/integrations/neptune/experiment_trackers/run_state.py +71 -55
  278. zenml/integrations/neptune/flavors/neptune_experiment_tracker_flavor.py +1 -1
  279. zenml/integrations/neural_prophet/__init__.py +6 -1
  280. zenml/integrations/numpy/__init__.py +32 -0
  281. zenml/integrations/{kserve/constants.py → numpy/materializers/__init__.py} +5 -4
  282. zenml/integrations/numpy/materializers/numpy_materializer.py +246 -0
  283. zenml/integrations/openai/__init__.py +1 -1
  284. zenml/integrations/openai/hooks/open_ai_failure_hook.py +39 -14
  285. zenml/{steps/external_artifact.py → integrations/pandas/__init__.py} +17 -11
  286. zenml/integrations/{kserve/custom_deployer → pandas/materializers}/__init__.py +5 -5
  287. zenml/integrations/pandas/materializers/pandas_materializer.py +192 -0
  288. zenml/integrations/pigeon/__init__.py +44 -0
  289. zenml/integrations/pigeon/annotators/__init__.py +20 -0
  290. zenml/integrations/pigeon/annotators/pigeon_annotator.py +330 -0
  291. zenml/integrations/{kserve → pigeon}/flavors/__init__.py +7 -7
  292. zenml/integrations/pigeon/flavors/pigeon_annotator_flavor.py +104 -0
  293. zenml/integrations/pillow/materializers/pillow_image_materializer.py +17 -20
  294. zenml/integrations/polars/__init__.py +1 -0
  295. zenml/integrations/polars/materializers/dataframe_materializer.py +26 -39
  296. zenml/integrations/prodigy/__init__.py +48 -0
  297. zenml/integrations/prodigy/annotators/__init__.py +20 -0
  298. zenml/integrations/prodigy/annotators/prodigy_annotator.py +275 -0
  299. zenml/integrations/prodigy/flavors/__init__.py +24 -0
  300. zenml/integrations/prodigy/flavors/prodigy_annotator_flavor.py +101 -0
  301. zenml/integrations/pycaret/__init__.py +6 -0
  302. zenml/integrations/pycaret/materializers/model_materializer.py +7 -22
  303. zenml/integrations/pytorch/materializers/base_pytorch_materializer.py +8 -2
  304. zenml/integrations/pytorch/materializers/pytorch_module_materializer.py +4 -1
  305. zenml/integrations/registry.py +38 -1
  306. zenml/integrations/s3/__init__.py +2 -3
  307. zenml/integrations/s3/artifact_stores/s3_artifact_store.py +191 -9
  308. zenml/integrations/s3/flavors/s3_artifact_store_flavor.py +22 -45
  309. zenml/integrations/s3/utils.py +39 -0
  310. zenml/integrations/seldon/__init__.py +18 -2
  311. zenml/integrations/seldon/model_deployers/seldon_model_deployer.py +19 -141
  312. zenml/integrations/seldon/secret_schemas/secret_schemas.py +2 -2
  313. zenml/integrations/seldon/seldon_client.py +55 -70
  314. zenml/integrations/seldon/services/seldon_deployment.py +4 -5
  315. zenml/integrations/seldon/steps/seldon_deployer.py +21 -20
  316. zenml/integrations/sklearn/__init__.py +1 -1
  317. zenml/integrations/skypilot/flavors/skypilot_orchestrator_base_vm_config.py +29 -7
  318. zenml/integrations/skypilot/orchestrators/skypilot_base_vm_orchestrator.py +47 -28
  319. zenml/integrations/skypilot/orchestrators/skypilot_orchestrator_entrypoint.py +2 -2
  320. zenml/integrations/skypilot_aws/__init__.py +3 -2
  321. zenml/integrations/skypilot_aws/flavors/skypilot_orchestrator_aws_vm_flavor.py +1 -1
  322. zenml/integrations/skypilot_azure/__init__.py +2 -4
  323. zenml/integrations/skypilot_azure/flavors/skypilot_orchestrator_azure_vm_flavor.py +1 -1
  324. zenml/integrations/skypilot_gcp/__init__.py +3 -2
  325. zenml/integrations/skypilot_gcp/flavors/skypilot_orchestrator_gcp_vm_flavor.py +1 -1
  326. zenml/integrations/skypilot_kubernetes/__init__.py +52 -0
  327. zenml/integrations/skypilot_kubernetes/flavors/__init__.py +26 -0
  328. zenml/integrations/skypilot_kubernetes/flavors/skypilot_orchestrator_kubernetes_vm_flavor.py +125 -0
  329. zenml/integrations/skypilot_kubernetes/orchestrators/__init__.py +25 -0
  330. zenml/integrations/skypilot_kubernetes/orchestrators/skypilot_kubernetes_vm_orchestrator.py +74 -0
  331. zenml/integrations/skypilot_lambda/__init__.py +50 -0
  332. zenml/integrations/{kserve/secret_schemas → skypilot_lambda/flavors}/__init__.py +9 -12
  333. zenml/integrations/skypilot_lambda/flavors/skypilot_orchestrator_lambda_vm_flavor.py +130 -0
  334. zenml/{lineage_graph/node → integrations/skypilot_lambda/orchestrators}/__init__.py +8 -15
  335. zenml/integrations/skypilot_lambda/orchestrators/skypilot_lambda_vm_orchestrator.py +92 -0
  336. zenml/integrations/slack/__init__.py +1 -0
  337. zenml/integrations/slack/alerters/slack_alerter.py +22 -2
  338. zenml/integrations/slack/flavors/__init__.py +2 -0
  339. zenml/integrations/slack/flavors/slack_alerter_flavor.py +13 -4
  340. zenml/integrations/slack/steps/slack_alerter_ask_step.py +1 -0
  341. zenml/integrations/slack/steps/slack_alerter_post_step.py +1 -0
  342. zenml/integrations/spark/flavors/spark_step_operator_flavor.py +2 -39
  343. zenml/integrations/spark/step_operators/kubernetes_step_operator.py +1 -0
  344. zenml/integrations/spark/step_operators/spark_entrypoint_configuration.py +1 -0
  345. zenml/integrations/spark/step_operators/spark_step_operator.py +2 -0
  346. zenml/integrations/tekton/__init__.py +2 -1
  347. zenml/integrations/tekton/flavors/tekton_orchestrator_flavor.py +66 -23
  348. zenml/integrations/tekton/orchestrators/tekton_orchestrator.py +549 -235
  349. zenml/integrations/tensorboard/__init__.py +1 -13
  350. zenml/integrations/tensorboard/services/tensorboard_service.py +3 -4
  351. zenml/integrations/tensorboard/visualizers/tensorboard_visualizer.py +66 -59
  352. zenml/integrations/tensorflow/__init__.py +10 -15
  353. zenml/integrations/tensorflow/materializers/keras_materializer.py +24 -27
  354. zenml/integrations/tensorflow/materializers/tf_dataset_materializer.py +9 -16
  355. zenml/integrations/vllm/__init__.py +50 -0
  356. zenml/integrations/vllm/flavors/__init__.py +21 -0
  357. zenml/integrations/vllm/flavors/vllm_model_deployer_flavor.py +91 -0
  358. zenml/integrations/vllm/model_deployers/__init__.py +19 -0
  359. zenml/integrations/vllm/model_deployers/vllm_model_deployer.py +263 -0
  360. zenml/integrations/vllm/services/__init__.py +19 -0
  361. zenml/integrations/vllm/services/vllm_deployment.py +206 -0
  362. zenml/integrations/wandb/__init__.py +1 -0
  363. zenml/integrations/wandb/flavors/wandb_experiment_tracker_flavor.py +21 -18
  364. zenml/integrations/whylogs/__init__.py +18 -2
  365. zenml/integrations/whylogs/data_validators/whylogs_data_validator.py +3 -3
  366. zenml/integrations/whylogs/flavors/whylogs_data_validator_flavor.py +1 -1
  367. zenml/integrations/whylogs/materializers/whylogs_materializer.py +14 -21
  368. zenml/integrations/xgboost/materializers/xgboost_booster_materializer.py +11 -22
  369. zenml/integrations/xgboost/materializers/xgboost_dmatrix_materializer.py +10 -19
  370. zenml/io/fileio.py +1 -0
  371. zenml/io/filesystem.py +2 -2
  372. zenml/io/local_filesystem.py +3 -3
  373. zenml/logger.py +41 -17
  374. zenml/logging/__init__.py +5 -0
  375. zenml/logging/step_logging.py +280 -32
  376. zenml/{new/steps → login}/__init__.py +4 -1
  377. zenml/login/credentials.py +370 -0
  378. zenml/login/credentials_store.py +638 -0
  379. zenml/{new/pipelines → login/pro}/__init__.py +4 -1
  380. zenml/login/pro/client.py +492 -0
  381. zenml/login/pro/constants.py +28 -0
  382. zenml/{zen_stores/schemas/identity_schemas.py → login/pro/models.py} +9 -11
  383. zenml/login/pro/organization/__init__.py +14 -0
  384. zenml/login/pro/organization/client.py +79 -0
  385. zenml/{lineage_graph/node/base_node.py → login/pro/organization/models.py} +13 -12
  386. zenml/{_hub → login/pro/tenant}/__init__.py +2 -2
  387. zenml/login/pro/tenant/client.py +92 -0
  388. zenml/login/pro/tenant/models.py +176 -0
  389. zenml/login/pro/utils.py +107 -0
  390. zenml/login/server_info.py +52 -0
  391. zenml/{cli → login}/web_login.py +71 -21
  392. zenml/materializers/__init__.py +2 -4
  393. zenml/materializers/base_materializer.py +180 -51
  394. zenml/materializers/built_in_materializer.py +50 -23
  395. zenml/materializers/cloudpickle_materializer.py +4 -5
  396. zenml/materializers/numpy_materializer.py +23 -233
  397. zenml/materializers/pandas_materializer.py +22 -174
  398. zenml/materializers/pydantic_materializer.py +2 -2
  399. zenml/materializers/service_materializer.py +12 -10
  400. zenml/materializers/structured_string_materializer.py +12 -6
  401. zenml/materializers/uuid_materializer.py +79 -0
  402. zenml/metadata/lazy_load.py +33 -17
  403. zenml/metadata/metadata_types.py +112 -3
  404. zenml/model/lazy_load.py +85 -4
  405. zenml/model/model.py +236 -226
  406. zenml/model/utils.py +99 -141
  407. zenml/model_deployers/base_model_deployer.py +319 -47
  408. zenml/model_registries/base_model_registry.py +17 -15
  409. zenml/models/__init__.py +254 -175
  410. zenml/models/v2/base/base.py +254 -112
  411. zenml/models/v2/base/base_plugin_flavor.py +76 -0
  412. zenml/models/v2/base/filter.py +530 -199
  413. zenml/models/v2/base/page.py +2 -12
  414. zenml/models/v2/base/scoped.py +292 -22
  415. zenml/models/v2/core/action.py +276 -0
  416. zenml/models/v2/core/action_flavor.py +57 -0
  417. zenml/models/v2/core/api_key.py +35 -12
  418. zenml/models/v2/core/artifact.py +126 -6
  419. zenml/models/v2/core/artifact_version.py +289 -65
  420. zenml/models/v2/core/artifact_visualization.py +10 -4
  421. zenml/models/v2/core/code_reference.py +13 -4
  422. zenml/models/v2/core/code_repository.py +39 -16
  423. zenml/models/v2/core/component.py +113 -61
  424. zenml/models/v2/core/device.py +25 -5
  425. zenml/models/v2/core/event_source.py +244 -0
  426. zenml/models/v2/core/event_source_flavor.py +67 -0
  427. zenml/models/v2/core/flavor.py +90 -27
  428. zenml/models/v2/core/logs.py +81 -12
  429. zenml/models/v2/core/model.py +91 -42
  430. zenml/models/v2/core/model_version.py +100 -55
  431. zenml/models/v2/core/model_version_artifact.py +96 -89
  432. zenml/models/v2/core/model_version_pipeline_run.py +86 -53
  433. zenml/models/v2/core/pipeline.py +205 -80
  434. zenml/models/v2/core/pipeline_build.py +110 -21
  435. zenml/models/v2/core/pipeline_deployment.py +101 -36
  436. zenml/models/v2/core/pipeline_run.py +545 -33
  437. zenml/models/v2/core/run_metadata.py +23 -181
  438. zenml/models/v2/core/run_template.py +439 -0
  439. zenml/models/v2/core/schedule.py +66 -29
  440. zenml/models/v2/core/secret.py +33 -21
  441. zenml/models/v2/core/server_settings.py +224 -0
  442. zenml/models/v2/core/service.py +500 -0
  443. zenml/models/v2/core/service_account.py +40 -15
  444. zenml/models/v2/core/service_connector.py +247 -49
  445. zenml/models/v2/core/stack.py +163 -70
  446. zenml/models/v2/core/step_run.py +210 -48
  447. zenml/models/v2/core/tag.py +21 -8
  448. zenml/models/v2/core/tag_resource.py +13 -4
  449. zenml/models/v2/core/trigger.py +422 -0
  450. zenml/models/v2/core/trigger_execution.py +119 -0
  451. zenml/models/v2/core/user.py +136 -69
  452. zenml/models/v2/core/workspace.py +26 -7
  453. zenml/models/v2/misc/auth_models.py +11 -2
  454. zenml/models/v2/misc/build_item.py +3 -3
  455. zenml/models/v2/misc/external_user.py +3 -6
  456. zenml/models/v2/misc/info_models.py +78 -0
  457. zenml/models/v2/misc/loaded_visualization.py +2 -2
  458. zenml/models/v2/misc/run_metadata.py +38 -0
  459. zenml/models/v2/misc/server_models.py +100 -0
  460. zenml/models/v2/misc/service_connector_type.py +9 -17
  461. zenml/models/v2/misc/stack_deployment.py +96 -0
  462. zenml/models/v2/misc/user_auth.py +7 -9
  463. zenml/orchestrators/__init__.py +4 -0
  464. zenml/orchestrators/base_orchestrator.py +136 -25
  465. zenml/orchestrators/containerized_orchestrator.py +1 -0
  466. zenml/orchestrators/dag_runner.py +18 -3
  467. zenml/orchestrators/input_utils.py +109 -48
  468. zenml/orchestrators/local/local_orchestrator.py +10 -0
  469. zenml/orchestrators/local_docker/local_docker_orchestrator.py +14 -42
  470. zenml/orchestrators/output_utils.py +16 -6
  471. zenml/orchestrators/publish_utils.py +12 -5
  472. zenml/orchestrators/step_launcher.py +142 -194
  473. zenml/orchestrators/step_run_utils.py +386 -0
  474. zenml/orchestrators/step_runner.py +181 -270
  475. zenml/orchestrators/utils.py +219 -84
  476. zenml/orchestrators/wheeled_orchestrator.py +147 -0
  477. zenml/pipelines/__init__.py +3 -16
  478. zenml/{new/pipelines → pipelines}/build_utils.py +287 -47
  479. zenml/{new/pipelines → pipelines}/pipeline_context.py +6 -2
  480. zenml/pipelines/pipeline_decorator.py +40 -64
  481. zenml/{new/pipelines/pipeline.py → pipelines/pipeline_definition.py} +376 -440
  482. zenml/pipelines/run_utils.py +358 -0
  483. zenml/plugins/__init__.py +0 -0
  484. zenml/plugins/base_plugin_flavor.py +88 -0
  485. zenml/plugins/plugin_flavor_registry.py +342 -0
  486. zenml/secret/base_secret.py +7 -8
  487. zenml/secret/schemas/basic_auth_secret_schema.py +0 -1
  488. zenml/service_connectors/docker_service_connector.py +19 -4
  489. zenml/service_connectors/service_connector.py +12 -14
  490. zenml/service_connectors/service_connector_registry.py +71 -55
  491. zenml/service_connectors/service_connector_utils.py +418 -0
  492. zenml/services/__init__.py +0 -2
  493. zenml/services/container/container_service.py +9 -6
  494. zenml/services/container/container_service_endpoint.py +1 -1
  495. zenml/services/container/entrypoint.py +3 -2
  496. zenml/services/local/local_daemon_entrypoint.py +9 -6
  497. zenml/services/local/local_service.py +1 -1
  498. zenml/services/local/local_service_endpoint.py +1 -1
  499. zenml/services/service.py +222 -130
  500. zenml/services/service_status.py +2 -1
  501. zenml/services/service_type.py +6 -5
  502. zenml/stack/flavor.py +25 -18
  503. zenml/stack/flavor_registry.py +4 -4
  504. zenml/stack/stack.py +20 -131
  505. zenml/stack/stack_component.py +136 -110
  506. zenml/stack/utils.py +36 -15
  507. zenml/stack_deployments/__init__.py +14 -0
  508. zenml/stack_deployments/aws_stack_deployment.py +320 -0
  509. zenml/stack_deployments/azure_stack_deployment.py +315 -0
  510. zenml/stack_deployments/gcp_stack_deployment.py +315 -0
  511. zenml/stack_deployments/stack_deployment.py +232 -0
  512. zenml/stack_deployments/utils.py +48 -0
  513. zenml/step_operators/step_operator_entrypoint_configuration.py +2 -1
  514. zenml/steps/__init__.py +3 -9
  515. zenml/steps/base_step.py +172 -315
  516. zenml/{new/steps → steps}/decorated_step.py +1 -0
  517. zenml/steps/entrypoint_function_utils.py +33 -93
  518. zenml/{new/steps → steps}/step_context.py +70 -50
  519. zenml/steps/step_decorator.py +47 -93
  520. zenml/steps/step_invocation.py +22 -60
  521. zenml/steps/utils.py +161 -48
  522. zenml/types.py +14 -1
  523. zenml/utils/archivable.py +178 -0
  524. zenml/utils/callback_registry.py +71 -0
  525. zenml/utils/code_repository_utils.py +1 -0
  526. zenml/utils/code_utils.py +346 -0
  527. zenml/utils/cuda_utils.py +50 -0
  528. zenml/utils/dashboard_utils.py +67 -21
  529. zenml/utils/deprecation_utils.py +22 -24
  530. zenml/utils/dict_utils.py +22 -0
  531. zenml/utils/docker_utils.py +34 -5
  532. zenml/utils/downloaded_repository_context.py +1 -0
  533. zenml/utils/env_utils.py +55 -1
  534. zenml/utils/filesync_model.py +65 -28
  535. zenml/utils/function_utils.py +260 -0
  536. zenml/utils/integration_utils.py +1 -0
  537. zenml/utils/json_utils.py +131 -0
  538. zenml/utils/materializer_utils.py +1 -1
  539. zenml/utils/metadata_utils.py +368 -0
  540. zenml/utils/notebook_utils.py +136 -0
  541. zenml/utils/package_utils.py +89 -0
  542. zenml/utils/pagination_utils.py +9 -7
  543. zenml/utils/pipeline_docker_image_builder.py +152 -149
  544. zenml/utils/pydantic_utils.py +276 -66
  545. zenml/utils/requirements_utils.py +71 -0
  546. zenml/utils/secret_utils.py +66 -12
  547. zenml/utils/settings_utils.py +2 -1
  548. zenml/utils/singleton.py +15 -3
  549. zenml/utils/source_code_utils.py +1 -0
  550. zenml/utils/source_utils.py +236 -14
  551. zenml/utils/string_utils.py +140 -0
  552. zenml/utils/typed_model.py +5 -3
  553. zenml/utils/typing_utils.py +223 -0
  554. zenml/utils/visualization_utils.py +5 -3
  555. zenml/utils/yaml_utils.py +1 -1
  556. zenml/zen_server/auth.py +387 -55
  557. zenml/zen_server/cache.py +208 -0
  558. zenml/zen_server/cloud_utils.py +253 -0
  559. zenml/zen_server/csrf.py +91 -0
  560. zenml/zen_server/dashboard/assets/404-Dfq64Boz.js +1 -0
  561. zenml/zen_server/dashboard/assets/@radix-DeK6qiuw.js +85 -0
  562. zenml/zen_server/dashboard/assets/@react-router-B3Z5rLr2.js +29 -0
  563. zenml/zen_server/dashboard/assets/@reactflow-BUNIMFeC.js +17 -0
  564. zenml/zen_server/dashboard/assets/@reactflow-C26Olbza.css +1 -0
  565. zenml/zen_server/dashboard/assets/@tanstack-DT5WLu9C.js +22 -0
  566. zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-B73Vs10T.js +1 -0
  567. zenml/zen_server/dashboard/assets/CodeSnippet-Bbx6fIb6.css +1 -0
  568. zenml/zen_server/dashboard/assets/CodeSnippet-DIJRT2NT.js +9 -0
  569. zenml/zen_server/dashboard/assets/CollapsibleCard-BzUHGZOU.js +1 -0
  570. zenml/zen_server/dashboard/assets/Commands-BEGyld4c.js +1 -0
  571. zenml/zen_server/dashboard/assets/ComponentBadge-xyKiek1s.js +1 -0
  572. zenml/zen_server/dashboard/assets/CopyButton-DhW-mapu.js +2 -0
  573. zenml/zen_server/dashboard/assets/CsvVizualization-D8oazBiE.js +15 -0
  574. zenml/zen_server/dashboard/assets/DeleteAlertDialog-WkSIIgfy.js +1 -0
  575. zenml/zen_server/dashboard/assets/DialogItem-Bgroeg29.js +1 -0
  576. zenml/zen_server/dashboard/assets/DisplayDate-CDMUcQHS.js +1 -0
  577. zenml/zen_server/dashboard/assets/EmptyState-BzdlCwp3.js +1 -0
  578. zenml/zen_server/dashboard/assets/Error-CY5tlu17.js +1 -0
  579. zenml/zen_server/dashboard/assets/ExecutionStatus-G8mjIaeA.js +1 -0
  580. zenml/zen_server/dashboard/assets/Helpbox-Bb1ed--O.js +1 -0
  581. zenml/zen_server/dashboard/assets/Infobox-Da6-76M2.js +1 -0
  582. zenml/zen_server/dashboard/assets/InlineAvatar-DqnZaBNq.js +1 -0
  583. zenml/zen_server/dashboard/assets/Lock-CYYy18Mm.js +1 -0
  584. zenml/zen_server/dashboard/assets/MarkdownVisualization-ylXaAxev.js +14 -0
  585. zenml/zen_server/dashboard/assets/NestedCollapsible-aK5ojKoF.js +1 -0
  586. zenml/zen_server/dashboard/assets/NumberBox-Dtp3J6g5.js +1 -0
  587. zenml/zen_server/dashboard/assets/Partials-CqZp5NMX.js +1 -0
  588. zenml/zen_server/dashboard/assets/PasswordChecker-B0nadgh6.js +1 -0
  589. zenml/zen_server/dashboard/assets/ProBadge-B4tRUYve.js +1 -0
  590. zenml/zen_server/dashboard/assets/ProCta-CZuP29Qz.js +1 -0
  591. zenml/zen_server/dashboard/assets/ProviderIcon-Bd7GUQ1_.js +1 -0
  592. zenml/zen_server/dashboard/assets/ProviderRadio-mstdqzsS.js +1 -0
  593. zenml/zen_server/dashboard/assets/RunSelector-CsruSB4i.js +1 -0
  594. zenml/zen_server/dashboard/assets/RunsBody-DxxtWVYz.js +1 -0
  595. zenml/zen_server/dashboard/assets/SearchField-D6tPxyqw.js +1 -0
  596. zenml/zen_server/dashboard/assets/SecretTooltip-CLzJIYW_.js +1 -0
  597. zenml/zen_server/dashboard/assets/SetPassword-Yn50ooBC.js +1 -0
  598. zenml/zen_server/dashboard/assets/StackList-U537qoYd.js +1 -0
  599. zenml/zen_server/dashboard/assets/Tabs-CNv-eTYM.js +1 -0
  600. zenml/zen_server/dashboard/assets/Tick-jEIevzVf.js +1 -0
  601. zenml/zen_server/dashboard/assets/UpdatePasswordSchemas-C16GW-kX.js +1 -0
  602. zenml/zen_server/dashboard/assets/UsageReason-Bf2tzhv1.js +1 -0
  603. zenml/zen_server/dashboard/assets/WizardFooter-D6i-AP1K.js +1 -0
  604. zenml/zen_server/dashboard/assets/acp-DOsXjFc7.webp +0 -0
  605. zenml/zen_server/dashboard/assets/adam-e-y0WnB_.webp +0 -0
  606. zenml/zen_server/dashboard/assets/alex-DcCuDHPg.webp +0 -0
  607. zenml/zen_server/dashboard/assets/all-pipeline-runs-query-DUti43aF.js +1 -0
  608. zenml/zen_server/dashboard/assets/baris-C0ZrZ10g.webp +0 -0
  609. zenml/zen_server/dashboard/assets/check-DloQpStc.js +1 -0
  610. zenml/zen_server/dashboard/assets/check-circle-jNbX5-sR.js +1 -0
  611. zenml/zen_server/dashboard/assets/chevron-down-6JyMkfjR.js +1 -0
  612. zenml/zen_server/dashboard/assets/chevron-right-double-D7ojK9Co.js +1 -0
  613. zenml/zen_server/dashboard/assets/cloud-squares-DeRLMopf.svg +43 -0
  614. zenml/zen_server/dashboard/assets/code-browser-CUFUIHfp.js +1 -0
  615. zenml/zen_server/dashboard/assets/code-snippets-CqONne41.js +13 -0
  616. zenml/zen_server/dashboard/assets/components-Br2ezRib.js +1 -0
  617. zenml/zen_server/dashboard/assets/connectors-video-C9qY4syJ.svg +21 -0
  618. zenml/zen_server/dashboard/assets/copy-C8XQA2Ug.js +1 -0
  619. zenml/zen_server/dashboard/assets/create-stack-Ch2WPs9U.js +1 -0
  620. zenml/zen_server/dashboard/assets/dates-3pMLCNrD.js +1 -0
  621. zenml/zen_server/dashboard/assets/delete-run-Byf9hTjA.js +1 -0
  622. zenml/zen_server/dashboard/assets/docker-BdA9vrnW.js +1 -0
  623. zenml/zen_server/dashboard/assets/dots-horizontal-otGBOSDJ.js +1 -0
  624. zenml/zen_server/dashboard/assets/flyte-Cj-xy_8I.svg +10 -0
  625. zenml/zen_server/dashboard/assets/form-schemas-BZqKBPBF.js +1 -0
  626. zenml/zen_server/dashboard/assets/gcp-CFtm4BA7.js +1 -0
  627. zenml/zen_server/dashboard/assets/hamza-NKKOZz1I.webp +0 -0
  628. zenml/zen_server/dashboard/assets/help-Cc9bBIJH.js +1 -0
  629. zenml/zen_server/dashboard/assets/index-CE0aQlv8.js +55 -0
  630. zenml/zen_server/dashboard/assets/index-CtdYkjUi.js +1 -0
  631. zenml/zen_server/dashboard/assets/index-CyBKZcpO.js +1 -0
  632. zenml/zen_server/dashboard/assets/index-DXvT1_Um.css +1 -0
  633. zenml/zen_server/dashboard/assets/index-Uu49AX48.js +1 -0
  634. zenml/zen_server/dashboard/assets/index-v6gQjDEo.js +1 -0
  635. zenml/zen_server/dashboard/assets/index.esm-Dy6Z9Ung.js +1 -0
  636. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2 +0 -0
  637. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff +0 -0
  638. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2 +0 -0
  639. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-DH2hs3aW.woff +0 -0
  640. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-BGBWG807.woff2 +0 -0
  641. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-BuzJQFbW.woff +0 -0
  642. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff +0 -0
  643. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2 +0 -0
  644. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2 +0 -0
  645. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff +0 -0
  646. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff +0 -0
  647. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2 +0 -0
  648. zenml/zen_server/dashboard/assets/inter-greek-400-normal-BZzXV7-1.woff +0 -0
  649. zenml/zen_server/dashboard/assets/inter-greek-400-normal-DxZsaF_h.woff2 +0 -0
  650. zenml/zen_server/dashboard/assets/inter-greek-500-normal-CeQXL5ds.woff2 +0 -0
  651. zenml/zen_server/dashboard/assets/inter-greek-500-normal-d_eO-yCQ.woff +0 -0
  652. zenml/zen_server/dashboard/assets/inter-greek-600-normal-CwicyhtI.woff +0 -0
  653. zenml/zen_server/dashboard/assets/inter-greek-600-normal-Dhlb-90d.woff2 +0 -0
  654. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-Bput3-QP.woff2 +0 -0
  655. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-DCpCPQOf.woff +0 -0
  656. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-B6guLgqG.woff2 +0 -0
  657. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-M2hEX8vc.woff +0 -0
  658. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-C9WLioJ8.woff +0 -0
  659. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2 +0 -0
  660. zenml/zen_server/dashboard/assets/inter-latin-400-normal-BOOGhInR.woff2 +0 -0
  661. zenml/zen_server/dashboard/assets/inter-latin-400-normal-gitzw0hO.woff +0 -0
  662. zenml/zen_server/dashboard/assets/inter-latin-500-normal-D2bGa7uu.woff2 +0 -0
  663. zenml/zen_server/dashboard/assets/inter-latin-500-normal-deR1Tlfd.woff +0 -0
  664. zenml/zen_server/dashboard/assets/inter-latin-600-normal-B5cFAncS.woff +0 -0
  665. zenml/zen_server/dashboard/assets/inter-latin-600-normal-D273HNI0.woff2 +0 -0
  666. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-C1t-h-pH.woff +0 -0
  667. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-hnt3BR84.woff2 +0 -0
  668. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2 +0 -0
  669. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-UMdmhHu2.woff +0 -0
  670. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-BnYJhD27.woff2 +0 -0
  671. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-CAF0vJDd.woff +0 -0
  672. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-BUNmGMP1.woff +0 -0
  673. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  674. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  675. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff +0 -0
  676. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
  677. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff +0 -0
  678. zenml/zen_server/dashboard/assets/key-icon-aH-QIa5R.js +1 -0
  679. zenml/zen_server/dashboard/assets/kubernetes-B2wmAJ1d.js +1 -0
  680. zenml/zen_server/dashboard/assets/layout-BtHBmE4w.js +1 -0
  681. zenml/zen_server/dashboard/assets/link-external-b9AXw_sW.js +1 -0
  682. zenml/zen_server/dashboard/assets/login-command-CkqxPtV3.js +1 -0
  683. zenml/zen_server/dashboard/assets/login-mutation-DNDVp_2H.js +1 -0
  684. zenml/zen_server/dashboard/assets/logs-WMSM52RF.js +1 -0
  685. zenml/zen_server/dashboard/assets/mcp-Cb1aMeoq.webp +0 -0
  686. zenml/zen_server/dashboard/assets/metaflow-weOkWNyT.svg +10 -0
  687. zenml/zen_server/dashboard/assets/not-found-Bmup4ctE.js +1 -0
  688. zenml/zen_server/dashboard/assets/package-C6uypY4h.js +1 -0
  689. zenml/zen_server/dashboard/assets/page--XLMzHrn.js +1 -0
  690. zenml/zen_server/dashboard/assets/page-ANYGfEUL.js +1 -0
  691. zenml/zen_server/dashboard/assets/page-B5Sr8pib.js +1 -0
  692. zenml/zen_server/dashboard/assets/page-BC27C_OI.js +2 -0
  693. zenml/zen_server/dashboard/assets/page-BNxYrN0q.js +1 -0
  694. zenml/zen_server/dashboard/assets/page-BYJfqgLN.js +1 -0
  695. zenml/zen_server/dashboard/assets/page-B_0XkV48.js +1 -0
  696. zenml/zen_server/dashboard/assets/page-BrmJp1Wt.js +1 -0
  697. zenml/zen_server/dashboard/assets/page-C2nU3Gxn.js +1 -0
  698. zenml/zen_server/dashboard/assets/page-C70wZtV2.js +1 -0
  699. zenml/zen_server/dashboard/assets/page-CHRn1fQm.js +1 -0
  700. zenml/zen_server/dashboard/assets/page-CWr96ZKN.js +1 -0
  701. zenml/zen_server/dashboard/assets/page-CXAbSyp9.js +1 -0
  702. zenml/zen_server/dashboard/assets/page-CaeI9ptC.js +1 -0
  703. zenml/zen_server/dashboard/assets/page-Cc8ZEuj4.js +1 -0
  704. zenml/zen_server/dashboard/assets/page-CltCNL0T.js +1 -0
  705. zenml/zen_server/dashboard/assets/page-CmlYj7Nl.js +1 -0
  706. zenml/zen_server/dashboard/assets/page-D6Ev5P8V.js +1 -0
  707. zenml/zen_server/dashboard/assets/page-D9Oh05fl.js +1 -0
  708. zenml/zen_server/dashboard/assets/page-DGlm1RVc.js +1 -0
  709. zenml/zen_server/dashboard/assets/page-DN4BVIOL.js +1 -0
  710. zenml/zen_server/dashboard/assets/page-Dif8CWyZ.js +1 -0
  711. zenml/zen_server/dashboard/assets/page-DlIi5ThM.js +1 -0
  712. zenml/zen_server/dashboard/assets/page-DoW7YxTu.js +1 -0
  713. zenml/zen_server/dashboard/assets/page-Dth9X1Ih.js +1 -0
  714. zenml/zen_server/dashboard/assets/page-DweqqCkF.js +1 -0
  715. zenml/zen_server/dashboard/assets/page-DyOJ_pq3.js +1 -0
  716. zenml/zen_server/dashboard/assets/page-Hn8q9iJZ.js +1 -0
  717. zenml/zen_server/dashboard/assets/page-IhckKFnD.js +6 -0
  718. zenml/zen_server/dashboard/assets/page-LyZ_l8vR.js +1 -0
  719. zenml/zen_server/dashboard/assets/page-PamGpk0j.js +1 -0
  720. zenml/zen_server/dashboard/assets/page-PxOWfKgF.js +2 -0
  721. zenml/zen_server/dashboard/assets/persist-DeXRG61d.js +1 -0
  722. zenml/zen_server/dashboard/assets/persist-vP0-Xl4f.js +1 -0
  723. zenml/zen_server/dashboard/assets/plus-tf1V2hTJ.js +1 -0
  724. zenml/zen_server/dashboard/assets/refresh-BjOeWlEq.js +1 -0
  725. zenml/zen_server/dashboard/assets/repos-video-D8kpu60k.svg +9 -0
  726. zenml/zen_server/dashboard/assets/rocket-DjT2cDvG.js +1 -0
  727. zenml/zen_server/dashboard/assets/service-DH_oUqQj.js +2 -0
  728. zenml/zen_server/dashboard/assets/settings_preview-0JLrRgHP.webp +0 -0
  729. zenml/zen_server/dashboard/assets/sharedSchema-Bw1_Wa7l.js +14 -0
  730. zenml/zen_server/dashboard/assets/stack-detail-query-B_0R_fd6.js +1 -0
  731. zenml/zen_server/dashboard/assets/stefan-B08Ftbba.webp +0 -0
  732. zenml/zen_server/dashboard/assets/templates-1S_8WeSK.webp +0 -0
  733. zenml/zen_server/dashboard/assets/tick-circle-BEX_Tp4v.js +1 -0
  734. zenml/zen_server/dashboard/assets/tour-cover-BYfeen6M.webp +0 -0
  735. zenml/zen_server/dashboard/assets/trash-arLUMWMS.js +1 -0
  736. zenml/zen_server/dashboard/assets/update-server-settings-mutation-D9qYhfaN.js +1 -0
  737. zenml/zen_server/dashboard/assets/upgrade-form-CwRHBuXB.webp +0 -0
  738. zenml/zen_server/dashboard/assets/url-Dh93fvh0.js +1 -0
  739. zenml/zen_server/dashboard/assets/zod-BwEbpOxH.js +1 -0
  740. zenml/zen_server/dashboard/index.html +19 -1
  741. zenml/zen_server/deploy/__init__.py +7 -16
  742. zenml/zen_server/deploy/base_provider.py +49 -78
  743. zenml/zen_server/deploy/{local → daemon}/__init__.py +3 -3
  744. zenml/zen_server/deploy/{local/local_provider.py → daemon/daemon_provider.py} +48 -66
  745. zenml/zen_server/deploy/{local/local_zen_server.py → daemon/daemon_zen_server.py} +78 -62
  746. zenml/zen_server/deploy/deployer.py +94 -175
  747. zenml/zen_server/deploy/deployment.py +23 -17
  748. zenml/zen_server/deploy/docker/docker_provider.py +15 -31
  749. zenml/zen_server/deploy/docker/docker_zen_server.py +30 -35
  750. zenml/zen_server/deploy/helm/Chart.yaml +1 -1
  751. zenml/zen_server/deploy/helm/README.md +3 -13
  752. zenml/zen_server/deploy/helm/templates/NOTES.txt +23 -7
  753. zenml/zen_server/deploy/helm/templates/_environment.tpl +175 -23
  754. zenml/zen_server/deploy/helm/templates/server-db-job.yaml +45 -18
  755. zenml/zen_server/deploy/helm/templates/server-db-pvc.yaml +25 -0
  756. zenml/zen_server/deploy/helm/templates/server-deployment.yaml +22 -6
  757. zenml/zen_server/deploy/helm/templates/server-secret.yaml +11 -10
  758. zenml/zen_server/deploy/helm/values.yaml +210 -28
  759. zenml/zen_server/exceptions.py +20 -1
  760. zenml/zen_server/feature_gate/__init__.py +13 -0
  761. zenml/zen_server/feature_gate/endpoint_utils.py +61 -0
  762. zenml/zen_server/feature_gate/feature_gate_interface.py +49 -0
  763. zenml/zen_server/feature_gate/zenml_cloud_feature_gate.py +125 -0
  764. zenml/zen_server/jwt.py +64 -32
  765. zenml/zen_server/rate_limit.py +200 -0
  766. zenml/zen_server/rbac/endpoint_utils.py +92 -9
  767. zenml/zen_server/rbac/models.py +21 -17
  768. zenml/zen_server/rbac/rbac_sql_zen_store.py +175 -0
  769. zenml/zen_server/rbac/utils.py +71 -30
  770. zenml/zen_server/rbac/zenml_cloud_rbac.py +13 -188
  771. zenml/zen_server/routers/actions_endpoints.py +324 -0
  772. zenml/zen_server/routers/artifact_version_endpoints.py +28 -2
  773. zenml/zen_server/routers/auth_endpoints.py +249 -131
  774. zenml/zen_server/routers/code_repositories_endpoints.py +1 -0
  775. zenml/zen_server/routers/devices_endpoints.py +56 -49
  776. zenml/zen_server/routers/event_source_endpoints.py +327 -0
  777. zenml/zen_server/routers/logs_endpoints.py +66 -0
  778. zenml/zen_server/routers/model_versions_endpoints.py +59 -0
  779. zenml/zen_server/routers/models_endpoints.py +7 -1
  780. zenml/zen_server/routers/pipeline_builds_endpoints.py +6 -1
  781. zenml/zen_server/routers/pipeline_deployments_endpoints.py +35 -0
  782. zenml/zen_server/routers/pipelines_endpoints.py +19 -32
  783. zenml/zen_server/routers/plugin_endpoints.py +107 -0
  784. zenml/zen_server/routers/run_templates_endpoints.py +212 -0
  785. zenml/zen_server/routers/runs_endpoints.py +91 -32
  786. zenml/zen_server/routers/schedule_endpoints.py +1 -0
  787. zenml/zen_server/routers/secrets_endpoints.py +4 -2
  788. zenml/zen_server/routers/server_endpoints.py +186 -4
  789. zenml/zen_server/routers/service_connectors_endpoints.py +56 -0
  790. zenml/zen_server/routers/service_endpoints.py +180 -0
  791. zenml/zen_server/routers/stack_components_endpoints.py +2 -1
  792. zenml/zen_server/routers/stack_deployment_endpoints.py +164 -0
  793. zenml/zen_server/routers/steps_endpoints.py +21 -12
  794. zenml/zen_server/routers/triggers_endpoints.py +336 -0
  795. zenml/zen_server/routers/users_endpoints.py +280 -45
  796. zenml/zen_server/routers/webhook_endpoints.py +127 -0
  797. zenml/zen_server/routers/workspaces_endpoints.py +220 -185
  798. zenml/zen_server/secure_headers.py +120 -0
  799. zenml/{new → zen_server/template_execution}/__init__.py +1 -1
  800. zenml/zen_server/template_execution/runner_entrypoint_configuration.py +42 -0
  801. zenml/zen_server/template_execution/utils.py +474 -0
  802. zenml/zen_server/template_execution/workload_manager_interface.py +92 -0
  803. zenml/zen_server/utils.py +374 -74
  804. zenml/zen_server/zen_server_api.py +299 -52
  805. zenml/zen_stores/base_zen_store.py +90 -58
  806. zenml/zen_stores/migrations/alembic.py +22 -9
  807. zenml/zen_stores/migrations/env.py +2 -2
  808. zenml/zen_stores/migrations/utils.py +731 -0
  809. zenml/zen_stores/migrations/versions/0.21.0_release.py +0 -1
  810. zenml/zen_stores/migrations/versions/0.21.1_release.py +0 -1
  811. zenml/zen_stores/migrations/versions/0.22.0_release.py +0 -1
  812. zenml/zen_stores/migrations/versions/0.23.0_release.py +0 -1
  813. zenml/zen_stores/migrations/versions/0.30.0_release.py +0 -1
  814. zenml/zen_stores/migrations/versions/0.31.0_release.py +0 -1
  815. zenml/zen_stores/migrations/versions/0.31.1_release.py +0 -1
  816. zenml/zen_stores/migrations/versions/0.32.0_release.py +0 -1
  817. zenml/zen_stores/migrations/versions/0.32.1_release.py +0 -1
  818. zenml/zen_stores/migrations/versions/0.33.0_release.py +0 -1
  819. zenml/zen_stores/migrations/versions/0.34.0_release.py +0 -1
  820. zenml/zen_stores/migrations/versions/0.35.0_release.py +0 -1
  821. zenml/zen_stores/migrations/versions/0.35.1_release.py +0 -1
  822. zenml/zen_stores/migrations/versions/0.36.0_release.py +0 -1
  823. zenml/zen_stores/migrations/versions/0.36.1_release.py +0 -1
  824. zenml/zen_stores/migrations/versions/0.37.0_release.py +0 -1
  825. zenml/zen_stores/migrations/versions/0.38.0_release.py +0 -1
  826. zenml/zen_stores/migrations/versions/0.39.0_release.py +0 -1
  827. zenml/zen_stores/migrations/versions/0.39.1_release.py +0 -1
  828. zenml/zen_stores/migrations/versions/0.40.0_release.py +0 -1
  829. zenml/zen_stores/migrations/versions/0.40.1_release.py +0 -1
  830. zenml/zen_stores/migrations/versions/0.40.2_release.py +0 -1
  831. zenml/zen_stores/migrations/versions/0.40.3_release.py +0 -1
  832. zenml/zen_stores/migrations/versions/0.41.0_release.py +0 -1
  833. zenml/zen_stores/migrations/versions/0.42.0_release.py +0 -1
  834. zenml/zen_stores/migrations/versions/0.42.1_release.py +0 -1
  835. zenml/zen_stores/migrations/versions/0.43.0_release.py +0 -1
  836. zenml/zen_stores/migrations/versions/0.44.0_release.py +0 -1
  837. zenml/zen_stores/migrations/versions/0.44.1_release.py +0 -1
  838. zenml/zen_stores/migrations/versions/0.44.2_release.py +0 -1
  839. zenml/zen_stores/migrations/versions/0.44.3_release.py +0 -1
  840. zenml/zen_stores/migrations/versions/0.45.0_release.py +0 -1
  841. zenml/zen_stores/migrations/versions/0.45.1_release_0_45_1.py +0 -1
  842. zenml/zen_stores/migrations/versions/0.45.2_release.py +0 -1
  843. zenml/zen_stores/migrations/versions/0.45.3_release.py +0 -1
  844. zenml/zen_stores/migrations/versions/0.45.4_release.py +0 -1
  845. zenml/zen_stores/migrations/versions/0.45.5_release.py +0 -1
  846. zenml/zen_stores/migrations/versions/0.45.6_release.py +0 -1
  847. zenml/zen_stores/migrations/versions/0.46.0_release.py +0 -1
  848. zenml/zen_stores/migrations/versions/0.46.1_release.py +0 -1
  849. zenml/zen_stores/migrations/versions/0.47.0_release.py +0 -1
  850. zenml/zen_stores/migrations/versions/0.50.0_release.py +0 -1
  851. zenml/zen_stores/migrations/versions/0.51.0_release.py +0 -1
  852. zenml/zen_stores/migrations/versions/0.52.0_release.py +0 -1
  853. zenml/zen_stores/migrations/versions/0.53.0_release.py +0 -1
  854. zenml/zen_stores/migrations/versions/0.53.1_release.py +0 -1
  855. zenml/zen_stores/migrations/versions/0.54.0_release.py +0 -1
  856. zenml/zen_stores/migrations/versions/0.54.1_release.py +0 -1
  857. zenml/zen_stores/migrations/versions/0.55.0_release.py +0 -1
  858. zenml/zen_stores/migrations/versions/0.55.1_release.py +23 -0
  859. zenml/zen_stores/migrations/versions/0.55.2_release.py +23 -0
  860. zenml/zen_stores/migrations/versions/0.55.3_release.py +23 -0
  861. zenml/zen_stores/migrations/versions/0.55.4_release.py +23 -0
  862. zenml/zen_stores/migrations/versions/0.55.5_release.py +23 -0
  863. zenml/zen_stores/migrations/versions/0.56.0_release.py +23 -0
  864. zenml/zen_stores/migrations/versions/0.56.1_release.py +23 -0
  865. zenml/zen_stores/migrations/versions/0.56.2_release.py +23 -0
  866. zenml/zen_stores/migrations/versions/0.56.3_release.py +23 -0
  867. zenml/zen_stores/migrations/versions/0.56.4_release.py +23 -0
  868. zenml/zen_stores/migrations/versions/0.57.0.rc1_release.py +23 -0
  869. zenml/zen_stores/migrations/versions/0.57.0.rc2_release.py +23 -0
  870. zenml/zen_stores/migrations/versions/0.57.0_release.py +23 -0
  871. zenml/zen_stores/migrations/versions/0.57.1_release.py +23 -0
  872. zenml/zen_stores/migrations/versions/0.58.0_release.py +23 -0
  873. zenml/zen_stores/migrations/versions/0.58.1_release.py +23 -0
  874. zenml/zen_stores/migrations/versions/0.58.2_release.py +23 -0
  875. zenml/zen_stores/migrations/versions/0.60.0_release.py +23 -0
  876. zenml/zen_stores/migrations/versions/0.61.0_release.py +23 -0
  877. zenml/zen_stores/migrations/versions/0.62.0_release.py +23 -0
  878. zenml/zen_stores/migrations/versions/0.63.0_release.py +23 -0
  879. zenml/zen_stores/migrations/versions/0.64.0_release.py +23 -0
  880. zenml/zen_stores/migrations/versions/0.65.0_release.py +23 -0
  881. zenml/zen_stores/migrations/versions/0.66.0_release.py +23 -0
  882. zenml/zen_stores/migrations/versions/0.67.0_release.py +23 -0
  883. zenml/zen_stores/migrations/versions/0.68.0_release.py +23 -0
  884. zenml/zen_stores/migrations/versions/0.68.1_release.py +23 -0
  885. zenml/zen_stores/migrations/versions/0.70.0_release.py +23 -0
  886. zenml/zen_stores/migrations/versions/0.71.0_release.py +23 -0
  887. zenml/zen_stores/migrations/versions/0.72.0_release.py +23 -0
  888. zenml/zen_stores/migrations/versions/026d4577b6a0_add_code_path.py +39 -0
  889. zenml/zen_stores/migrations/versions/03742aa7fdd7_add_secrets.py +1 -0
  890. zenml/zen_stores/migrations/versions/0701da9951a0_added_service_table.py +94 -0
  891. zenml/zen_stores/migrations/versions/0b06faa59c93_add_service_connectors.py +1 -0
  892. zenml/zen_stores/migrations/versions/0d707865f404_adding_labels_to_stacks.py +30 -0
  893. zenml/zen_stores/migrations/versions/0e4735b23577_increase_pipeline_spec_field_length.py +1 -0
  894. zenml/zen_stores/migrations/versions/1041bc644e0d_remove_secrets_manager.py +6 -3
  895. zenml/zen_stores/migrations/versions/10a907dad202_delete_mlmd_tables.py +2 -1
  896. zenml/zen_stores/migrations/versions/14d687c8fa1c_rename_model_config_to_model_version.py +1 -0
  897. zenml/zen_stores/migrations/versions/19f27d5b234e_add_build_and_deployment_tables.py +1 -0
  898. zenml/zen_stores/migrations/versions/1a9a9d2a836d_admin_users.py +56 -0
  899. zenml/zen_stores/migrations/versions/1ac1b9c04da1_make_secrets_values_optional.py +1 -0
  900. zenml/zen_stores/migrations/versions/1cb6477f72d6_move_artifact_save_type.py +99 -0
  901. zenml/zen_stores/migrations/versions/1d74e596abb8_add_run_once_start_time_to_schedule.py +36 -0
  902. zenml/zen_stores/migrations/versions/1d8f30c54477_migrate_to_new_.py +124 -0
  903. zenml/zen_stores/migrations/versions/248dfd320b68_update_size_of_flavor_config_schema.py +1 -0
  904. zenml/zen_stores/migrations/versions/25155145c545_separate_actions_and_triggers.py +228 -0
  905. zenml/zen_stores/migrations/versions/26351d482b9e_add_step_run_unique_constraint.py +37 -0
  906. zenml/zen_stores/migrations/versions/26b776ad583e_redesign_artifacts.py +9 -10
  907. zenml/zen_stores/migrations/versions/2d201872e23c_remove_db_dependency_loop.py +29 -0
  908. zenml/zen_stores/migrations/versions/37835ce041d2_optimizing_database.py +4 -3
  909. zenml/zen_stores/migrations/versions/389046140cad_data_versioning.py +1 -0
  910. zenml/zen_stores/migrations/versions/3944116bbd56_rename_project_to_workspace.py +1 -0
  911. zenml/zen_stores/migrations/versions/3b68abe58f44_add_model_watchtower_entities.py +1 -0
  912. zenml/zen_stores/migrations/versions/3c5a367730c2_add_environment_info_to_runs.py +1 -0
  913. zenml/zen_stores/migrations/versions/3dcc5d20e82f_add_last_user_activity.py +51 -0
  914. zenml/zen_stores/migrations/versions/43a86093b60e_add_labels_for_stack_components.py +1 -0
  915. zenml/zen_stores/migrations/versions/46506f72f0ed_add_server_settings.py +123 -0
  916. zenml/zen_stores/migrations/versions/479103df60b6_add_triggers.py +162 -0
  917. zenml/zen_stores/migrations/versions/4a3087070f4e_add_step_source_code.py +1 -0
  918. zenml/zen_stores/migrations/versions/4c41c0ca42db_add_code_repository_table.py +1 -0
  919. zenml/zen_stores/migrations/versions/4d688d8f7aff_rename_model_version_to_model.py +1 -0
  920. zenml/zen_stores/migrations/versions/4e1972485075_endpoint_artifact_deployment_artifact.py +1 -0
  921. zenml/zen_stores/migrations/versions/4f66af55fbb9_rename_model_config_model_to_model_.py +1 -0
  922. zenml/zen_stores/migrations/versions/5330ba58bf20_rename_tables_and_foreign_keys.py +8 -9
  923. zenml/zen_stores/migrations/versions/5994f9ad0489_introduce_role_permissions.py +4 -2
  924. zenml/zen_stores/migrations/versions/5cc3f41cf048_add_save_models_to_registry.py +1 -0
  925. zenml/zen_stores/migrations/versions/6119cd9b93c2_tags_table.py +1 -0
  926. zenml/zen_stores/migrations/versions/623a234c11f5_add_sdk_docs_url_to_flavors.py +1 -0
  927. zenml/zen_stores/migrations/versions/6917bce75069_add_pipeline_run_unique_constraint.py +5 -4
  928. zenml/zen_stores/migrations/versions/6a28c4fd0ef2_add_caching_info.py +1 -0
  929. zenml/zen_stores/migrations/versions/6f707b385dc1_fix_model_artifacts.py +1 -0
  930. zenml/zen_stores/migrations/versions/722392c91006_make_is_service_account_mandatory.py +1 -0
  931. zenml/zen_stores/migrations/versions/72675226b2de_unique_users.py +31 -0
  932. zenml/zen_stores/migrations/versions/72722dee4686_track_server_version.py +1 -0
  933. zenml/zen_stores/migrations/versions/7280c14811d6_use_text_type.py +1 -0
  934. zenml/zen_stores/migrations/versions/728c6369cfaa_add_name_column_to_input_artifact_pk.py +4 -2
  935. zenml/zen_stores/migrations/versions/729263e47b55_fix_external_input_artifacts.py +1 -0
  936. zenml/zen_stores/migrations/versions/743ec82b1b3c_update_size_of_build_images.py +3 -2
  937. zenml/zen_stores/migrations/versions/7500f434b71c_remove_shared_columns.py +4 -2
  938. zenml/zen_stores/migrations/versions/76a7b9451ccd_add_build_template_deployment_id.py +52 -0
  939. zenml/zen_stores/migrations/versions/7834208cc3f6_artifact_project_scoping.py +9 -7
  940. zenml/zen_stores/migrations/versions/7b651bf6822e_track_secrets_in_db.py +7 -7
  941. zenml/zen_stores/migrations/versions/7d1919bb1ef0_add_run_templates.py +100 -0
  942. zenml/zen_stores/migrations/versions/7e4a481d17f7_add_identity_table.py +3 -2
  943. zenml/zen_stores/migrations/versions/7f603e583dd7_fixed_migration.py +2 -1
  944. zenml/zen_stores/migrations/versions/86fa52918b54_remove_teams_and_roles.py +1 -0
  945. zenml/zen_stores/migrations/versions/8a64fbfecda0_add_num_outputs_to_run_step.py +1 -0
  946. zenml/zen_stores/migrations/versions/8ed03137cacc_polymorthic_run_metadata.py +1 -0
  947. zenml/zen_stores/migrations/versions/904464ea4041_add_pipeline_model_run_unique_constraints.py +192 -0
  948. zenml/zen_stores/migrations/versions/909550c7c4da_remove_user_hub_token.py +36 -0
  949. zenml/zen_stores/migrations/versions/93cbda80a732_add_service_accounts.py +1 -0
  950. zenml/zen_stores/migrations/versions/979eff8fc4b1_add_code_repo_description_and_logo_url.py +1 -0
  951. zenml/zen_stores/migrations/versions/9971237fa937_artifact_visualizations.py +1 -0
  952. zenml/zen_stores/migrations/versions/9d8020441014_increase_step_configuration_length.py +1 -0
  953. zenml/zen_stores/migrations/versions/a1237ba94fd8_add_model_version_producer_run_unique_.py +68 -0
  954. zenml/zen_stores/migrations/versions/a39c4184c8ce_remove_secrets_manager_flavors.py +3 -2
  955. zenml/zen_stores/migrations/versions/a91762e6be36_artifact_version_table.py +5 -4
  956. zenml/zen_stores/migrations/versions/ade72effebaf_added_logs_table.py +1 -0
  957. zenml/zen_stores/migrations/versions/alembic_start.py +2 -1
  958. zenml/zen_stores/migrations/versions/b4eccf34dfa3_add_hub_token_to_user_model.py +1 -0
  959. zenml/zen_stores/migrations/versions/b4fca5241eea_migrate_onboarding_state.py +167 -0
  960. zenml/zen_stores/migrations/versions/b557b2871693_update_step_run_input_types.py +33 -0
  961. zenml/zen_stores/migrations/versions/b59aa68fdb1f_simplify_pipelines.py +139 -0
  962. zenml/zen_stores/migrations/versions/b73bc71f1106_remove_component_spec_path.py +36 -0
  963. zenml/zen_stores/migrations/versions/bf2120261b5a_add_configured_model_version_id.py +74 -0
  964. zenml/zen_stores/migrations/versions/c1b18cec3a48_increase_length_on_flavor_config_schema.py +1 -0
  965. zenml/zen_stores/migrations/versions/c22561cbb3a9_add_artifact_unique_constraints.py +86 -0
  966. zenml/zen_stores/migrations/versions/cc269488e5a9_separate_run_metadata.py +135 -0
  967. zenml/zen_stores/migrations/versions/cc9894cb58aa_add_user_metadata.py +41 -0
  968. zenml/zen_stores/migrations/versions/ccd68b7825ae_add_status_to_pipeline_and_step_run.py +1 -0
  969. zenml/zen_stores/migrations/versions/d02b3d3464cf_add_orchestrator_run_id_column.py +1 -0
  970. zenml/zen_stores/migrations/versions/d26471b6fe8f_update_build_filtering.py +1 -0
  971. zenml/zen_stores/migrations/versions/d7b3acf9aa46_create_schedule_table.py +1 -0
  972. zenml/zen_stores/migrations/versions/e1d66d91a099_add_stack_and_component_spec_paths_to_.py +1 -0
  973. zenml/zen_stores/migrations/versions/e5225281b4d3_add_connector_skew_tolerance.py +1 -0
  974. zenml/zen_stores/migrations/versions/e65aa6708ff7_pipeline_versioning.py +1 -0
  975. zenml/zen_stores/migrations/versions/ec0d785ca296_create_run_metadata_table.py +1 -0
  976. zenml/zen_stores/migrations/versions/ec6307720f92_simplify_model_version_links.py +119 -0
  977. zenml/zen_stores/migrations/versions/f3b3964e3a0f_add_oauth_devices.py +1 -0
  978. zenml/zen_stores/migrations/versions/f49904a80aa7_increase_length_of_artifact_table_sources.py +1 -0
  979. zenml/zen_stores/migrations/versions/fbd7f18ced1e_increase_step_run_field_lengths.py +5 -4
  980. zenml/zen_stores/rest_zen_store.py +1326 -305
  981. zenml/zen_stores/schemas/__init__.py +22 -3
  982. zenml/zen_stores/schemas/action_schemas.py +192 -0
  983. zenml/zen_stores/schemas/api_key_schemas.py +23 -10
  984. zenml/zen_stores/schemas/artifact_schemas.py +112 -49
  985. zenml/zen_stores/schemas/artifact_visualization_schemas.py +17 -8
  986. zenml/zen_stores/schemas/base_schemas.py +27 -0
  987. zenml/zen_stores/schemas/code_repository_schemas.py +25 -10
  988. zenml/zen_stores/schemas/component_schemas.py +74 -11
  989. zenml/zen_stores/schemas/constants.py +16 -0
  990. zenml/zen_stores/schemas/device_schemas.py +29 -15
  991. zenml/zen_stores/schemas/event_source_schemas.py +188 -0
  992. zenml/zen_stores/schemas/flavor_schemas.py +19 -9
  993. zenml/zen_stores/schemas/logs_schemas.py +12 -6
  994. zenml/zen_stores/schemas/model_schemas.py +192 -139
  995. zenml/zen_stores/schemas/pipeline_build_schemas.py +16 -16
  996. zenml/zen_stores/schemas/pipeline_deployment_schemas.py +58 -17
  997. zenml/zen_stores/schemas/pipeline_run_schemas.py +170 -35
  998. zenml/zen_stores/schemas/pipeline_schemas.py +51 -33
  999. zenml/zen_stores/schemas/run_metadata_schemas.py +28 -78
  1000. zenml/zen_stores/schemas/run_template_schemas.py +267 -0
  1001. zenml/zen_stores/schemas/schedule_schema.py +15 -5
  1002. zenml/zen_stores/schemas/secret_schemas.py +18 -10
  1003. zenml/zen_stores/schemas/server_settings_schemas.py +129 -0
  1004. zenml/zen_stores/schemas/service_connector_schemas.py +13 -6
  1005. zenml/zen_stores/schemas/service_schemas.py +258 -0
  1006. zenml/zen_stores/schemas/stack_schemas.py +23 -6
  1007. zenml/zen_stores/schemas/step_run_schemas.py +132 -41
  1008. zenml/zen_stores/schemas/tag_schemas.py +31 -50
  1009. zenml/zen_stores/schemas/trigger_schemas.py +316 -0
  1010. zenml/zen_stores/schemas/user_schemas.py +66 -23
  1011. zenml/zen_stores/schemas/utils.py +112 -0
  1012. zenml/zen_stores/schemas/workspace_schemas.py +36 -19
  1013. zenml/zen_stores/secrets_stores/aws_secrets_store.py +41 -32
  1014. zenml/zen_stores/secrets_stores/azure_secrets_store.py +20 -23
  1015. zenml/zen_stores/secrets_stores/base_secrets_store.py +80 -12
  1016. zenml/zen_stores/secrets_stores/gcp_secrets_store.py +42 -33
  1017. zenml/zen_stores/secrets_stores/hashicorp_secrets_store.py +7 -11
  1018. zenml/zen_stores/secrets_stores/secrets_store_interface.py +1 -0
  1019. zenml/zen_stores/secrets_stores/service_connector_secrets_store.py +15 -8
  1020. zenml/zen_stores/secrets_stores/sql_secrets_store.py +8 -9
  1021. zenml/zen_stores/sql_zen_store.py +4062 -799
  1022. zenml/zen_stores/template_utils.py +263 -0
  1023. zenml/zen_stores/zen_store_interface.py +614 -44
  1024. zenml_nightly-0.72.0.dev20250116.dist-info/METADATA +486 -0
  1025. zenml_nightly-0.72.0.dev20250116.dist-info/RECORD +1294 -0
  1026. {zenml_nightly-0.55.0.dev20240124.dist-info → zenml_nightly-0.72.0.dev20250116.dist-info}/WHEEL +1 -1
  1027. CLA.md +0 -110
  1028. CODE-OF-CONDUCT.md +0 -132
  1029. CONTRIBUTING.md +0 -260
  1030. README.md +0 -304
  1031. RELEASE_NOTES.md +0 -3919
  1032. ROADMAP.md +0 -5
  1033. SECURITY.md +0 -15
  1034. zenml/_hub/client.py +0 -285
  1035. zenml/_hub/constants.py +0 -21
  1036. zenml/_hub/utils.py +0 -80
  1037. zenml/api.py +0 -61
  1038. zenml/cli/hub.py +0 -1115
  1039. zenml/cli/stack_recipes.py +0 -469
  1040. zenml/integrations/gcp/google_cloud_function.py +0 -187
  1041. zenml/integrations/gcp/google_cloud_scheduler.py +0 -83
  1042. zenml/integrations/gcp/orchestrators/vertex_scheduler/main.py +0 -91
  1043. zenml/integrations/gcp/orchestrators/vertex_scheduler/requirements.txt +0 -2
  1044. zenml/integrations/kserve/__init__.py +0 -57
  1045. zenml/integrations/kserve/custom_deployer/zenml_custom_model.py +0 -175
  1046. zenml/integrations/kserve/flavors/kserve_model_deployer_flavor.py +0 -137
  1047. zenml/integrations/kserve/model_deployers/kserve_model_deployer.py +0 -1003
  1048. zenml/integrations/kserve/secret_schemas/secret_schemas.py +0 -65
  1049. zenml/integrations/kserve/services/kserve_deployment.py +0 -596
  1050. zenml/integrations/kserve/steps/__init__.py +0 -22
  1051. zenml/integrations/kserve/steps/kserve_deployer.py +0 -472
  1052. zenml/integrations/kserve/steps/kserve_step_utils.py +0 -293
  1053. zenml/integrations/kubeflow/utils.py +0 -96
  1054. zenml/lineage_graph/lineage_graph.py +0 -244
  1055. zenml/lineage_graph/node/artifact_node.py +0 -52
  1056. zenml/lineage_graph/node/step_node.py +0 -41
  1057. zenml/models/v2/base/internal.py +0 -37
  1058. zenml/models/v2/base/update.py +0 -40
  1059. zenml/models/v2/misc/hub_plugin_models.py +0 -79
  1060. zenml/new/pipelines/deserialization_utils.py +0 -291
  1061. zenml/new/pipelines/model_utils.py +0 -72
  1062. zenml/new/pipelines/pipeline_decorator.py +0 -109
  1063. zenml/new/steps/step_decorator.py +0 -160
  1064. zenml/pipelines/base_pipeline.py +0 -274
  1065. zenml/post_execution/pipeline.py +0 -58
  1066. zenml/post_execution/pipeline_run.py +0 -55
  1067. zenml/services/service_registry.py +0 -214
  1068. zenml/services/terraform/__init__.py +0 -14
  1069. zenml/services/terraform/terraform_service.py +0 -441
  1070. zenml/steps/step_environment.py +0 -108
  1071. zenml/steps/step_output.py +0 -36
  1072. zenml/utils/mlstacks_utils.py +0 -635
  1073. zenml/utils/terraform_utils.py +0 -42
  1074. zenml/zen_server/dashboard/_redirects +0 -1
  1075. zenml/zen_server/dashboard/asset-manifest.json +0 -131
  1076. zenml/zen_server/dashboard/manifest.json +0 -25
  1077. zenml/zen_server/dashboard/precache-manifest.c139638dcc4d9d3425353266447a2fad.js +0 -462
  1078. zenml/zen_server/dashboard/robots.txt +0 -2
  1079. zenml/zen_server/dashboard/service-worker.js +0 -39
  1080. zenml/zen_server/dashboard/static/css/2.5b37d44a.chunk.css +0 -16
  1081. zenml/zen_server/dashboard/static/css/2.5b37d44a.chunk.css.map +0 -1
  1082. zenml/zen_server/dashboard/static/css/main.77e46c35.chunk.css +0 -2
  1083. zenml/zen_server/dashboard/static/css/main.77e46c35.chunk.css.map +0 -1
  1084. zenml/zen_server/dashboard/static/js/2.bb4cef22.chunk.js +0 -3
  1085. zenml/zen_server/dashboard/static/js/2.bb4cef22.chunk.js.LICENSE.txt +0 -95
  1086. zenml/zen_server/dashboard/static/js/2.bb4cef22.chunk.js.map +0 -1
  1087. zenml/zen_server/dashboard/static/js/main.270838b4.chunk.js +0 -2
  1088. zenml/zen_server/dashboard/static/js/main.270838b4.chunk.js.map +0 -1
  1089. zenml/zen_server/dashboard/static/js/runtime-main.bfca2edd.js +0 -2
  1090. zenml/zen_server/dashboard/static/js/runtime-main.bfca2edd.js.map +0 -1
  1091. zenml/zen_server/dashboard/static/media/AlertTriangle.28aee535.svg +0 -5
  1092. zenml/zen_server/dashboard/static/media/ArrowSquareOut.abfb9bc7.svg +0 -5
  1093. zenml/zen_server/dashboard/static/media/Back.86c23a22.svg +0 -4
  1094. zenml/zen_server/dashboard/static/media/BookOpen.5cb101ff.svg +0 -4
  1095. zenml/zen_server/dashboard/static/media/BoundingBox.1eb98717.svg +0 -10
  1096. zenml/zen_server/dashboard/static/media/Burger.9b1c67d7.svg +0 -3
  1097. zenml/zen_server/dashboard/static/media/Cached.2381fb8d.svg +0 -1
  1098. zenml/zen_server/dashboard/static/media/Calendar.356e11c7.svg +0 -3
  1099. zenml/zen_server/dashboard/static/media/ChartBarHorizontal.0247447b.svg +0 -6
  1100. zenml/zen_server/dashboard/static/media/ChartLine.0d79e18d.svg +0 -4
  1101. zenml/zen_server/dashboard/static/media/ChatDots.2e1c9211.svg +0 -6
  1102. zenml/zen_server/dashboard/static/media/Check.dad6beb2.svg +0 -3
  1103. zenml/zen_server/dashboard/static/media/CheckCircleFilled.c19566d0.svg +0 -3
  1104. zenml/zen_server/dashboard/static/media/Checkbox.af50e31e.svg +0 -3
  1105. zenml/zen_server/dashboard/static/media/ChevronDown.f860ce32.svg +0 -3
  1106. zenml/zen_server/dashboard/static/media/ChevronDownLight.6642d756.svg +0 -3
  1107. zenml/zen_server/dashboard/static/media/ChevronLeft.f6edfcdb.svg +0 -3
  1108. zenml/zen_server/dashboard/static/media/CircleCheck.f98fd6ca.svg +0 -1
  1109. zenml/zen_server/dashboard/static/media/Clock.ffc9de95.svg +0 -3
  1110. zenml/zen_server/dashboard/static/media/Close.74e9efbc.svg +0 -5
  1111. zenml/zen_server/dashboard/static/media/CloseWithBorder.6960930a.svg +0 -3
  1112. zenml/zen_server/dashboard/static/media/CloseWithoutBorder.cd6f71df.svg +0 -3
  1113. zenml/zen_server/dashboard/static/media/CloudArrowUp.0aecb235.svg +0 -6
  1114. zenml/zen_server/dashboard/static/media/Code.ef0f33b5.svg +0 -3
  1115. zenml/zen_server/dashboard/static/media/Config.0be63f8a.svg +0 -1
  1116. zenml/zen_server/dashboard/static/media/Connector.9fd46ef1.svg +0 -10
  1117. zenml/zen_server/dashboard/static/media/Copy.36e2112a.svg +0 -1
  1118. zenml/zen_server/dashboard/static/media/Dashboard.d05787e0.svg +0 -3
  1119. zenml/zen_server/dashboard/static/media/Data.b1c3b5f8.svg +0 -3
  1120. zenml/zen_server/dashboard/static/media/Delete.3c361b28.svg +0 -8
  1121. zenml/zen_server/dashboard/static/media/Docs.7541d478.svg +0 -7
  1122. zenml/zen_server/dashboard/static/media/Download.fba04d87.svg +0 -5
  1123. zenml/zen_server/dashboard/static/media/Edit.490eb294.svg +0 -6
  1124. zenml/zen_server/dashboard/static/media/EmptyRightArrow.23749d01.svg +0 -3
  1125. zenml/zen_server/dashboard/static/media/Example.6396cd37.svg +0 -5
  1126. zenml/zen_server/dashboard/static/media/Extension.1394cd4a.svg +0 -3
  1127. zenml/zen_server/dashboard/static/media/Eye.d9e4ee62.svg +0 -4
  1128. zenml/zen_server/dashboard/static/media/Failed.0213c1a0.svg +0 -1
  1129. zenml/zen_server/dashboard/static/media/FileText.1f15bacd.svg +0 -7
  1130. zenml/zen_server/dashboard/static/media/Filter.ab6b9c0d.svg +0 -3
  1131. zenml/zen_server/dashboard/static/media/Folders.12b29887.svg +0 -5
  1132. zenml/zen_server/dashboard/static/media/FunnelFill.6df4c143.svg +0 -3
  1133. zenml/zen_server/dashboard/static/media/GitCommit.7dd9c2aa.svg +0 -5
  1134. zenml/zen_server/dashboard/static/media/GitHub_Logo.cefc2023.png +0 -0
  1135. zenml/zen_server/dashboard/static/media/Graph.2c63a892.svg +0 -11
  1136. zenml/zen_server/dashboard/static/media/History.08329240.svg +0 -3
  1137. zenml/zen_server/dashboard/static/media/Home.0843b0d5.svg +0 -3
  1138. zenml/zen_server/dashboard/static/media/ImageBuilder.ea762d9c.svg +0 -6
  1139. zenml/zen_server/dashboard/static/media/InProgress.304a0edc.svg +0 -1
  1140. zenml/zen_server/dashboard/static/media/Info.9fe10c5c.svg +0 -3
  1141. zenml/zen_server/dashboard/static/media/KeyboardReturn.491afbe3.svg +0 -3
  1142. zenml/zen_server/dashboard/static/media/Link.72bbb55d.svg +0 -4
  1143. zenml/zen_server/dashboard/static/media/Lock.30f5e1fe.svg +0 -5
  1144. zenml/zen_server/dashboard/static/media/Lock2.a769ea52.svg +0 -3
  1145. zenml/zen_server/dashboard/static/media/LockKey.92f21621.svg +0 -6
  1146. zenml/zen_server/dashboard/static/media/Logs.8bf4d005.svg +0 -5
  1147. zenml/zen_server/dashboard/static/media/MinusCircle.4188f418.svg +0 -4
  1148. zenml/zen_server/dashboard/static/media/ModelRegistry.f0de050a.svg +0 -6
  1149. zenml/zen_server/dashboard/static/media/MultiUser.a2ba7c67.svg +0 -10
  1150. zenml/zen_server/dashboard/static/media/PaginationFirst.92628634.svg +0 -4
  1151. zenml/zen_server/dashboard/static/media/PaginationLast.00d3c732.svg +0 -4
  1152. zenml/zen_server/dashboard/static/media/PaginationNext.86158845.svg +0 -3
  1153. zenml/zen_server/dashboard/static/media/PaginationPrev.60c18a88.svg +0 -3
  1154. zenml/zen_server/dashboard/static/media/Pen.f2d831d4.svg +0 -6
  1155. zenml/zen_server/dashboard/static/media/PhotoCamera.179d6d4c.svg +0 -3
  1156. zenml/zen_server/dashboard/static/media/Pipeline.30d298b0.svg +0 -7
  1157. zenml/zen_server/dashboard/static/media/Plus.5aa1c16b.svg +0 -3
  1158. zenml/zen_server/dashboard/static/media/PlusCircle.92d860dd.svg +0 -5
  1159. zenml/zen_server/dashboard/static/media/Repositories.71a36b8c.svg +0 -3
  1160. zenml/zen_server/dashboard/static/media/RightArrow.f30d3871.svg +0 -29
  1161. zenml/zen_server/dashboard/static/media/Rocket.63bf7b9d.svg +0 -3
  1162. zenml/zen_server/dashboard/static/media/RocketLaunch.1bff2b59.svg +0 -6
  1163. zenml/zen_server/dashboard/static/media/Rubik-Medium.c87313aa.ttf +0 -0
  1164. zenml/zen_server/dashboard/static/media/Rubik-Regular.b3d0902b.ttf +0 -0
  1165. zenml/zen_server/dashboard/static/media/Run.daec4fb2.svg +0 -6
  1166. zenml/zen_server/dashboard/static/media/Search.d1afcce5.svg +0 -4
  1167. zenml/zen_server/dashboard/static/media/Settings.59ca73ae.svg +0 -4
  1168. zenml/zen_server/dashboard/static/media/Share2.46c3ff66.svg +0 -3
  1169. zenml/zen_server/dashboard/static/media/SignOut.6aa718c5.svg +0 -3
  1170. zenml/zen_server/dashboard/static/media/SimplePlus.5cf7ec20.svg +0 -3
  1171. zenml/zen_server/dashboard/static/media/SingleUser.bef3a095.svg +0 -4
  1172. zenml/zen_server/dashboard/static/media/SourceCodePro-Regular.b484b32f.ttf +0 -0
  1173. zenml/zen_server/dashboard/static/media/Stack.19b604ac.svg +0 -5
  1174. zenml/zen_server/dashboard/static/media/StackComponent.b1ba90b5.svg +0 -4
  1175. zenml/zen_server/dashboard/static/media/Star.f0c25022.svg +0 -9
  1176. zenml/zen_server/dashboard/static/media/StarOutline.94ca8cd9.svg +0 -3
  1177. zenml/zen_server/dashboard/static/media/Storefront.4b4796fe.svg +0 -3
  1178. zenml/zen_server/dashboard/static/media/Stream.543e3039.svg +0 -3
  1179. zenml/zen_server/dashboard/static/media/SupportAgent.510ddf1f.svg +0 -8
  1180. zenml/zen_server/dashboard/static/media/Table.77033750.svg +0 -6
  1181. zenml/zen_server/dashboard/static/media/Tool.d5785486.svg +0 -3
  1182. zenml/zen_server/dashboard/static/media/UserPlus.741a99d7.svg +0 -6
  1183. zenml/zen_server/dashboard/static/media/Verified.0625b2a0.svg +0 -3
  1184. zenml/zen_server/dashboard/static/media/addNew.4fb6c939.svg +0 -8
  1185. zenml/zen_server/dashboard/static/media/arrowClose.cbd53f3f.svg +0 -3
  1186. zenml/zen_server/dashboard/static/media/arrowOpen.6ceef0af.svg +0 -3
  1187. zenml/zen_server/dashboard/static/media/check_small.30bc0138.svg +0 -3
  1188. zenml/zen_server/dashboard/static/media/circleArrowSideClose.98d6013e.svg +0 -18
  1189. zenml/zen_server/dashboard/static/media/circleArrowSideOpen.63653df6.svg +0 -18
  1190. zenml/zen_server/dashboard/static/media/image.104fd14b.png +0 -0
  1191. zenml/zen_server/dashboard/static/media/imageAddIcon.e83004a9.svg +0 -7
  1192. zenml/zen_server/dashboard/static/media/logo.93333e5c.svg +0 -1
  1193. zenml/zen_server/dashboard/static/media/logo_small.4204397d.svg +0 -3
  1194. zenml/zen_server/dashboard/static/media/logo_white.d4b4414e.svg +0 -20
  1195. zenml/zen_server/dashboard/static/media/notConnected.5e2c8ea7.svg +0 -8
  1196. zenml/zen_server/dashboard/static/media/plugin-fallback.72c294e6.svg +0 -6
  1197. zenml/zen_server/dashboard/static/media/share.bcd998b0.svg +0 -5
  1198. zenml/zen_server/dashboard/static/media/stars.08a9b19a.svg +0 -8
  1199. zenml/zen_server/deploy/terraform/__init__.py +0 -41
  1200. zenml/zen_server/deploy/terraform/providers/__init__.py +0 -14
  1201. zenml/zen_server/deploy/terraform/providers/aws_provider.py +0 -61
  1202. zenml/zen_server/deploy/terraform/providers/azure_provider.py +0 -59
  1203. zenml/zen_server/deploy/terraform/providers/gcp_provider.py +0 -59
  1204. zenml/zen_server/deploy/terraform/providers/terraform_provider.py +0 -332
  1205. zenml/zen_server/deploy/terraform/recipes/aws/.gitignore +0 -8
  1206. zenml/zen_server/deploy/terraform/recipes/aws/helm.tf +0 -20
  1207. zenml/zen_server/deploy/terraform/recipes/aws/ingress.tf +0 -30
  1208. zenml/zen_server/deploy/terraform/recipes/aws/outputs.tf +0 -14
  1209. zenml/zen_server/deploy/terraform/recipes/aws/printf.cmd +0 -2
  1210. zenml/zen_server/deploy/terraform/recipes/aws/sql.tf +0 -62
  1211. zenml/zen_server/deploy/terraform/recipes/aws/terraform.tf +0 -44
  1212. zenml/zen_server/deploy/terraform/recipes/aws/variables.tf +0 -179
  1213. zenml/zen_server/deploy/terraform/recipes/aws/vpc.tf +0 -47
  1214. zenml/zen_server/deploy/terraform/recipes/aws/zen_server.tf +0 -111
  1215. zenml/zen_server/deploy/terraform/recipes/azure/.gitignore +0 -8
  1216. zenml/zen_server/deploy/terraform/recipes/azure/helm.tf +0 -20
  1217. zenml/zen_server/deploy/terraform/recipes/azure/ingress.tf +0 -30
  1218. zenml/zen_server/deploy/terraform/recipes/azure/key_vault.tf +0 -73
  1219. zenml/zen_server/deploy/terraform/recipes/azure/outputs.tf +0 -14
  1220. zenml/zen_server/deploy/terraform/recipes/azure/printf.cmd +0 -2
  1221. zenml/zen_server/deploy/terraform/recipes/azure/rg.tf +0 -36
  1222. zenml/zen_server/deploy/terraform/recipes/azure/sql.tf +0 -65
  1223. zenml/zen_server/deploy/terraform/recipes/azure/terraform.tf +0 -52
  1224. zenml/zen_server/deploy/terraform/recipes/azure/variables.tf +0 -188
  1225. zenml/zen_server/deploy/terraform/recipes/azure/zen_server.tf +0 -111
  1226. zenml/zen_server/deploy/terraform/recipes/gcp/.gitignore +0 -8
  1227. zenml/zen_server/deploy/terraform/recipes/gcp/helm.tf +0 -20
  1228. zenml/zen_server/deploy/terraform/recipes/gcp/ingress.tf +0 -30
  1229. zenml/zen_server/deploy/terraform/recipes/gcp/outputs.tf +0 -14
  1230. zenml/zen_server/deploy/terraform/recipes/gcp/printf.cmd +0 -2
  1231. zenml/zen_server/deploy/terraform/recipes/gcp/sql.tf +0 -64
  1232. zenml/zen_server/deploy/terraform/recipes/gcp/terraform.tf +0 -44
  1233. zenml/zen_server/deploy/terraform/recipes/gcp/variables.tf +0 -183
  1234. zenml/zen_server/deploy/terraform/recipes/gcp/zen_server.tf +0 -122
  1235. zenml/zen_server/deploy/terraform/terraform_zen_server.py +0 -255
  1236. zenml/zen_server/routers/run_metadata_endpoints.py +0 -97
  1237. zenml_nightly-0.55.0.dev20240124.dist-info/METADATA +0 -438
  1238. zenml_nightly-0.55.0.dev20240124.dist-info/RECORD +0 -1072
  1239. {zenml_nightly-0.55.0.dev20240124.dist-info → zenml_nightly-0.72.0.dev20250116.dist-info}/LICENSE +0 -0
  1240. {zenml_nightly-0.55.0.dev20240124.dist-info → zenml_nightly-0.72.0.dev20250116.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,39 @@
1
+ # Copyright (c) ZenML GmbH 2022. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at:
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12
+ # or implied. See the License for the specific language governing
13
+ # permissions and limitations under the License.
14
+ """Utility methods for S3."""
15
+
16
+ from typing import Tuple
17
+
18
+
19
+ def split_s3_path(s3_path: str) -> Tuple[str, str]:
20
+ """Split S3 URI into bucket and key.
21
+
22
+ Args:
23
+ s3_path: S3 URI (e.g. "s3://bucket/path")
24
+
25
+ Returns:
26
+ A tuple of bucket and key, for "s3://bucket/path/path2"
27
+ it will return ("bucket","path/path2")
28
+
29
+ Raises:
30
+ ValueError: if the S3 URI is invalid
31
+ """
32
+ if not s3_path.startswith("s3://"):
33
+ raise ValueError(
34
+ f"Invalid S3 URI given: {s3_path}. It should start with `s3://`."
35
+ )
36
+ path_parts = s3_path.replace("s3://", "").split("/")
37
+ bucket = path_parts.pop(0)
38
+ key = "/".join(path_parts)
39
+ return bucket, key
@@ -16,9 +16,8 @@
16
16
  The Seldon Core integration allows you to use the Seldon Core model serving
17
17
  platform to implement continuous model deployment.
18
18
  """
19
- from typing import List, Type
19
+ from typing import List, Type, Optional
20
20
 
21
- from zenml.enums import StackComponentType
22
21
  from zenml.integrations.constants import SELDON
23
22
  from zenml.integrations.integration import Integration
24
23
  from zenml.stack import Flavor
@@ -34,6 +33,8 @@ class SeldonIntegration(Integration):
34
33
  "kubernetes==18.20.0",
35
34
  ]
36
35
 
36
+ REQUIREMENTS_IGNORED_ON_UNINSTALL = ["kubernetes", "numpy"]
37
+
37
38
  @classmethod
38
39
  def activate(cls) -> None:
39
40
  """Activate the Seldon Core integration."""
@@ -51,5 +52,20 @@ class SeldonIntegration(Integration):
51
52
 
52
53
  return [SeldonModelDeployerFlavor]
53
54
 
55
+ @classmethod
56
+ def get_requirements(cls, target_os: Optional[str] = None) -> List[str]:
57
+ """Method to get the requirements for the integration.
58
+
59
+ Args:
60
+ target_os: The target operating system to get the requirements for.
61
+
62
+ Returns:
63
+ A list of requirements.
64
+ """
65
+ from zenml.integrations.numpy import NumpyIntegration
66
+
67
+ return cls.REQUIREMENTS + \
68
+ NumpyIntegration.get_requirements(target_os=target_os)
69
+
54
70
 
55
71
  SeldonIntegration.check_installation()
@@ -15,7 +15,6 @@
15
15
 
16
16
  import json
17
17
  import re
18
- from datetime import datetime
19
18
  from typing import TYPE_CHECKING, ClassVar, Dict, List, Optional, Type, cast
20
19
  from uuid import UUID
21
20
 
@@ -291,6 +290,7 @@ class SeldonModelDeployer(BaseModelDeployer):
291
290
  assert isinstance(artifact_store, S3ArtifactStore)
292
291
 
293
292
  (
293
+ region_name,
294
294
  aws_access_key_id,
295
295
  aws_secret_access_key,
296
296
  aws_session_token,
@@ -479,10 +479,10 @@ class SeldonModelDeployer(BaseModelDeployer):
479
479
  return
480
480
  self.seldon_client.delete_secret(secret_name)
481
481
 
482
- def deploy_model(
482
+ def perform_deploy_model(
483
483
  self,
484
+ id: UUID,
484
485
  config: ServiceConfig,
485
- replace: bool = False,
486
486
  timeout: int = DEFAULT_SELDON_DEPLOYMENT_START_STOP_TIMEOUT,
487
487
  ) -> BaseService:
488
488
  """Create a new Seldon Core deployment or update an existing one.
@@ -517,11 +517,9 @@ class SeldonModelDeployer(BaseModelDeployer):
517
517
  to be updated and the others are deleted.
518
518
 
519
519
  Args:
520
+ id: the UUID of the model server to deploy.
520
521
  config: the configuration of the model to be deployed with Seldon.
521
522
  Core
522
- replace: set this flag to True to find and update an equivalent
523
- Seldon Core deployment server with the new model instead of
524
- starting a new deployment server.
525
523
  timeout: the timeout in seconds to wait for the Seldon Core server
526
524
  to be provisioned and successfully started or updated. If set
527
525
  to 0, the method will return immediately after the Seldon Core
@@ -541,31 +539,6 @@ class SeldonModelDeployer(BaseModelDeployer):
541
539
  """
542
540
  with track_handler(AnalyticsEvent.MODEL_DEPLOYED) as analytics_handler:
543
541
  config = cast(SeldonDeploymentConfig, config)
544
- service = None
545
-
546
- # if replace is True, find equivalent Seldon Core deployments
547
- if replace is True:
548
- equivalent_services = self.find_model_server(
549
- running=False,
550
- pipeline_name=config.pipeline_name,
551
- pipeline_step_name=config.pipeline_step_name,
552
- model_name=config.model_name,
553
- )
554
-
555
- for equivalent_service in equivalent_services:
556
- if service is None:
557
- # keep the most recently created service
558
- service = equivalent_service
559
- else:
560
- try:
561
- # delete the older services and don't wait for
562
- # them to be deprovisioned
563
- service.stop()
564
- except RuntimeError:
565
- # ignore errors encountered while stopping old
566
- # services
567
- pass
568
-
569
542
  # if a custom Kubernetes secret is not explicitly specified in the
570
543
  # SeldonDeploymentConfig, try to create one from the ZenML secret
571
544
  # configured for the model deployer
@@ -573,19 +546,9 @@ class SeldonModelDeployer(BaseModelDeployer):
573
546
  config.secret_name
574
547
  or self._create_or_update_kubernetes_secret()
575
548
  )
576
-
577
- if service:
578
- # update an equivalent service in place
579
- service.update(config)
580
- logger.info(
581
- f"Updating an existing Seldon deployment service: {service}"
582
- )
583
- else:
584
- # create a new service
585
- service = SeldonDeploymentService(config=config)
586
- logger.info(
587
- f"Creating a new Seldon deployment service: {service}"
588
- )
549
+ # create a new service
550
+ service = SeldonDeploymentService(uuid=id, config=config)
551
+ logger.info(f"Creating a new Seldon deployment service: {service}")
589
552
 
590
553
  # start the service which in turn provisions the Seldon Core
591
554
  # deployment server and waits for it to reach a ready state
@@ -606,95 +569,16 @@ class SeldonModelDeployer(BaseModelDeployer):
606
569
 
607
570
  return service
608
571
 
609
- def find_model_server(
610
- self,
611
- running: bool = False,
612
- service_uuid: Optional[UUID] = None,
613
- pipeline_name: Optional[str] = None,
614
- run_name: Optional[str] = None,
615
- pipeline_step_name: Optional[str] = None,
616
- model_name: Optional[str] = None,
617
- model_uri: Optional[str] = None,
618
- model_type: Optional[str] = None,
619
- ) -> List[BaseService]:
620
- """Find one or more Seldon Core model services that match the given criteria.
621
-
622
- The Seldon Core deployment services that meet the search criteria are
623
- returned sorted in descending order of their creation time (i.e. more
624
- recent deployments first).
625
-
626
- Args:
627
- running: if true, only running services will be returned.
628
- service_uuid: the UUID of the Seldon Core service that was
629
- originally used to create the Seldon Core deployment resource.
630
- pipeline_name: name of the pipeline that the deployed model was part
631
- of.
632
- run_name: Name of the pipeline run which the deployed model was
633
- part of.
634
- pipeline_step_name: the name of the pipeline model deployment step
635
- that deployed the model.
636
- model_name: the name of the deployed model.
637
- model_uri: URI of the deployed model.
638
- model_type: the Seldon Core server implementation used to serve
639
- the model
640
-
641
- Returns:
642
- One or more Seldon Core service objects representing Seldon Core
643
- model servers that match the input search criteria.
644
- """
645
- # Use a Seldon deployment service configuration to compute the labels
646
- config = SeldonDeploymentConfig(
647
- pipeline_name=pipeline_name or "",
648
- run_name=run_name or "",
649
- pipeline_run_id=run_name or "",
650
- pipeline_step_name=pipeline_step_name or "",
651
- model_name=model_name or "",
652
- model_uri=model_uri or "",
653
- implementation=model_type or "",
654
- )
655
- labels = config.get_seldon_deployment_labels()
656
- if service_uuid:
657
- # the service UUID is not a label covered by the Seldon
658
- # deployment service configuration, so we need to add it
659
- # separately
660
- labels["zenml.service_uuid"] = str(service_uuid)
661
-
662
- deployments = self.seldon_client.find_deployments(labels=labels)
663
- # sort the deployments in descending order of their creation time
664
- deployments.sort(
665
- key=lambda deployment: datetime.strptime(
666
- deployment.metadata.creationTimestamp,
667
- "%Y-%m-%dT%H:%M:%SZ",
668
- )
669
- if deployment.metadata.creationTimestamp
670
- else datetime.min,
671
- reverse=True,
672
- )
673
-
674
- services: List[BaseService] = []
675
- for deployment in deployments:
676
- # recreate the Seldon deployment service object from the Seldon
677
- # deployment resource
678
- service = SeldonDeploymentService.create_from_deployment(
679
- deployment=deployment
680
- )
681
- if running and not service.is_running:
682
- # skip non-running services
683
- continue
684
- services.append(service)
685
-
686
- return services
687
-
688
- def stop_model_server(
572
+ def perform_stop_model(
689
573
  self,
690
- uuid: UUID,
574
+ service: BaseService,
691
575
  timeout: int = DEFAULT_SELDON_DEPLOYMENT_START_STOP_TIMEOUT,
692
576
  force: bool = False,
693
- ) -> None:
577
+ ) -> BaseService:
694
578
  """Stop a Seldon Core model server.
695
579
 
696
580
  Args:
697
- uuid: UUID of the model server to stop.
581
+ service: The service to stop.
698
582
  timeout: timeout in seconds to wait for the service to stop.
699
583
  force: if True, force the service to stop.
700
584
 
@@ -707,15 +591,15 @@ class SeldonModelDeployer(BaseModelDeployer):
707
591
  "deleting the Seldon Core model server instead."
708
592
  )
709
593
 
710
- def start_model_server(
594
+ def perform_start_model(
711
595
  self,
712
- uuid: UUID,
596
+ service: BaseService,
713
597
  timeout: int = DEFAULT_SELDON_DEPLOYMENT_START_STOP_TIMEOUT,
714
- ) -> None:
598
+ ) -> BaseService:
715
599
  """Start a Seldon Core model deployment server.
716
600
 
717
601
  Args:
718
- uuid: UUID of the model server to start.
602
+ service: The service to start.
719
603
  timeout: timeout in seconds to wait for the service to become
720
604
  active. . If set to 0, the method will return immediately after
721
605
  provisioning the service, without waiting for it to become
@@ -729,28 +613,22 @@ class SeldonModelDeployer(BaseModelDeployer):
729
613
  "Starting Seldon Core model servers is not implemented"
730
614
  )
731
615
 
732
- def delete_model_server(
616
+ def perform_delete_model(
733
617
  self,
734
- uuid: UUID,
618
+ service: BaseService,
735
619
  timeout: int = DEFAULT_SELDON_DEPLOYMENT_START_STOP_TIMEOUT,
736
620
  force: bool = False,
737
621
  ) -> None:
738
622
  """Delete a Seldon Core model deployment server.
739
623
 
740
624
  Args:
741
- uuid: UUID of the model server to delete.
625
+ service: The service to delete.
742
626
  timeout: timeout in seconds to wait for the service to stop. If
743
627
  set to 0, the method will return immediately after
744
628
  deprovisioning the service, without waiting for it to stop.
745
629
  force: if True, force the service to stop.
746
630
  """
747
- services = self.find_model_server(service_uuid=uuid)
748
- if len(services) == 0:
749
- return
750
-
751
- service = services[0]
752
-
753
- assert isinstance(service, SeldonDeploymentService)
631
+ service = cast(SeldonDeploymentService, service)
754
632
  service.stop(timeout=timeout, force=force)
755
633
 
756
634
  if service.config.secret_name:
@@ -70,9 +70,9 @@ class SeldonGSSecretSchema(BaseSecretSchema):
70
70
  rclone_config_gs_auth_url: auth server URL.
71
71
  """
72
72
 
73
- rclone_config_gs_type: Literal[
73
+ rclone_config_gs_type: Literal["google cloud storage"] = (
74
74
  "google cloud storage"
75
- ] = "google cloud storage"
75
+ )
76
76
  rclone_config_gs_client_id: Optional[str] = None
77
77
  rclone_config_gs_client_secret: Optional[str] = None
78
78
  rclone_config_gs_project_number: Optional[str] = None
@@ -17,11 +17,11 @@ import base64
17
17
  import json
18
18
  import re
19
19
  import time
20
- from typing import Any, Dict, Generator, List, Optional
20
+ from typing import Any, Dict, Generator, List, Literal, Optional
21
21
 
22
22
  from kubernetes import client as k8s_client
23
23
  from kubernetes import config as k8s_config
24
- from pydantic import BaseModel, Field, ValidationError
24
+ from pydantic import BaseModel, ConfigDict, Field, ValidationError
25
25
 
26
26
  from zenml.logger import get_logger
27
27
  from zenml.utils.enum_utils import StrEnum
@@ -30,9 +30,6 @@ logger = get_logger(__name__)
30
30
 
31
31
  api = k8s_client.ApiClient()
32
32
 
33
- SELDON_DEPLOYMENT_KIND = "SeldonDeployment"
34
- SELDON_DEPLOYMENT_API_VERSION = "machinelearning.seldon.io/v1"
35
-
36
33
 
37
34
  class SeldonDeploymentPredictorParameter(BaseModel):
38
35
  """Parameter for Seldon Deployment predictor.
@@ -46,14 +43,12 @@ class SeldonDeploymentPredictorParameter(BaseModel):
46
43
  name: str = ""
47
44
  type: str = ""
48
45
  value: str = ""
49
-
50
- class Config:
51
- """Pydantic configuration class."""
52
-
46
+ model_config = ConfigDict(
53
47
  # validate attribute assignments
54
- validate_assignment = True
48
+ validate_assignment=True,
55
49
  # Ignore extra attributes from the CRD that are not reflected here
56
- extra = "ignore"
50
+ extra="ignore",
51
+ )
57
52
 
58
53
 
59
54
  class SeldonResourceRequirements(BaseModel):
@@ -82,14 +77,12 @@ class SeldonDeploymentMetadata(BaseModel):
82
77
  labels: Dict[str, str] = Field(default_factory=dict)
83
78
  annotations: Dict[str, str] = Field(default_factory=dict)
84
79
  creationTimestamp: Optional[str] = None
85
-
86
- class Config:
87
- """Pydantic configuration class."""
88
-
80
+ model_config = ConfigDict(
89
81
  # validate attribute assignments
90
- validate_assignment = True
82
+ validate_assignment=True,
91
83
  # Ignore extra attributes from the CRD that are not reflected here
92
- extra = "ignore"
84
+ extra="ignore",
85
+ )
93
86
 
94
87
 
95
88
  class SeldonDeploymentPredictiveUnitType(StrEnum):
@@ -121,23 +114,21 @@ class SeldonDeploymentPredictiveUnit(BaseModel):
121
114
  """
122
115
 
123
116
  name: str
124
- type: Optional[
125
- SeldonDeploymentPredictiveUnitType
126
- ] = SeldonDeploymentPredictiveUnitType.MODEL
117
+ type: Optional[SeldonDeploymentPredictiveUnitType] = (
118
+ SeldonDeploymentPredictiveUnitType.MODEL
119
+ )
127
120
  implementation: Optional[str] = None
128
121
  modelUri: Optional[str] = None
129
122
  parameters: Optional[List[SeldonDeploymentPredictorParameter]] = None
130
123
  serviceAccountName: Optional[str] = None
131
124
  envSecretRefName: Optional[str] = None
132
125
  children: Optional[List["SeldonDeploymentPredictiveUnit"]] = None
133
-
134
- class Config:
135
- """Pydantic configuration class."""
136
-
126
+ model_config = ConfigDict(
137
127
  # validate attribute assignments
138
- validate_assignment = True
128
+ validate_assignment=True,
139
129
  # Ignore extra attributes from the CRD that are not reflected here
140
- extra = "ignore"
130
+ extra="ignore",
131
+ )
141
132
 
142
133
 
143
134
  class SeldonDeploymentComponentSpecs(BaseModel):
@@ -147,16 +138,13 @@ class SeldonDeploymentComponentSpecs(BaseModel):
147
138
  spec: the component spec.
148
139
  """
149
140
 
150
- spec: Optional[Dict[str, Any]]
151
- # TODO [HIGH]: Add graph field to ComponentSpecs. graph: Optional[SeldonDeploymentPredictiveUnit]
152
-
153
- class Config:
154
- """Pydantic configuration class."""
155
-
141
+ spec: Optional[Dict[str, Any]] = None
142
+ model_config = ConfigDict(
156
143
  # validate attribute assignments
157
- validate_assignment = True
144
+ validate_assignment=True,
158
145
  # Ignore extra attributes from the CRD that are not reflected here
159
- extra = "ignore"
146
+ extra="ignore",
147
+ )
160
148
 
161
149
 
162
150
  class SeldonDeploymentPredictor(BaseModel):
@@ -175,14 +163,12 @@ class SeldonDeploymentPredictor(BaseModel):
175
163
  default_factory=SeldonResourceRequirements
176
164
  )
177
165
  componentSpecs: Optional[List[SeldonDeploymentComponentSpecs]] = None
178
-
179
- class Config:
180
- """Pydantic configuration class."""
181
-
166
+ model_config = ConfigDict(
182
167
  # validate attribute assignments
183
- validate_assignment = True
168
+ validate_assignment=True,
184
169
  # Ignore extra attributes from the CRD that are not reflected here
185
- extra = "ignore"
170
+ extra="ignore",
171
+ )
186
172
 
187
173
 
188
174
  class SeldonDeploymentSpec(BaseModel):
@@ -196,17 +182,15 @@ class SeldonDeploymentSpec(BaseModel):
196
182
  """
197
183
 
198
184
  name: str
199
- protocol: Optional[str]
185
+ protocol: Optional[str] = None
200
186
  predictors: List[SeldonDeploymentPredictor]
201
187
  replicas: int = 1
202
-
203
- class Config:
204
- """Pydantic configuration class."""
205
-
188
+ model_config = ConfigDict(
206
189
  # validate attribute assignments
207
- validate_assignment = True
190
+ validate_assignment=True,
208
191
  # Ignore extra attributes from the CRD that are not reflected here
209
- extra = "ignore"
192
+ extra="ignore",
193
+ )
210
194
 
211
195
 
212
196
  class SeldonDeploymentStatusState(StrEnum):
@@ -242,8 +226,8 @@ class SeldonDeploymentStatusCondition(BaseModel):
242
226
 
243
227
  type: str
244
228
  status: bool
245
- reason: Optional[str]
246
- message: Optional[str]
229
+ reason: Optional[str] = None
230
+ message: Optional[str] = None
247
231
 
248
232
 
249
233
  class SeldonDeploymentStatus(BaseModel):
@@ -258,18 +242,16 @@ class SeldonDeploymentStatus(BaseModel):
258
242
  """
259
243
 
260
244
  state: SeldonDeploymentStatusState = SeldonDeploymentStatusState.UNKNOWN
261
- description: Optional[str]
262
- replicas: Optional[int]
263
- address: Optional[SeldonDeploymentStatusAddress]
245
+ description: Optional[str] = None
246
+ replicas: Optional[int] = None
247
+ address: Optional[SeldonDeploymentStatusAddress] = None
264
248
  conditions: List[SeldonDeploymentStatusCondition]
265
-
266
- class Config:
267
- """Pydantic configuration class."""
268
-
249
+ model_config = ConfigDict(
269
250
  # validate attribute assignments
270
- validate_assignment = True
251
+ validate_assignment=True,
271
252
  # Ignore extra attributes from the CRD that are not reflected here
272
- extra = "ignore"
253
+ extra="ignore",
254
+ )
273
255
 
274
256
 
275
257
  class SeldonDeployment(BaseModel):
@@ -292,8 +274,10 @@ class SeldonDeployment(BaseModel):
292
274
  status: Seldon Deployment status.
293
275
  """
294
276
 
295
- kind: str = Field(SELDON_DEPLOYMENT_KIND, const=True)
296
- apiVersion: str = Field(SELDON_DEPLOYMENT_API_VERSION, const=True)
277
+ kind: Literal["SeldonDeployment"] = "SeldonDeployment"
278
+ apiVersion: Literal["machinelearning.seldon.io/v1"] = (
279
+ "machinelearning.seldon.io/v1"
280
+ )
297
281
  metadata: SeldonDeploymentMetadata
298
282
  spec: SeldonDeploymentSpec
299
283
  status: Optional[SeldonDeploymentStatus] = None
@@ -304,7 +288,7 @@ class SeldonDeployment(BaseModel):
304
288
  Returns:
305
289
  A string representation of the Seldon Deployment.
306
290
  """
307
- return json.dumps(self.dict(exclude_none=True), indent=4)
291
+ return json.dumps(self.model_dump(exclude_none=True), indent=4)
308
292
 
309
293
  @classmethod
310
294
  def build(
@@ -339,8 +323,10 @@ class SeldonDeployment(BaseModel):
339
323
  annotations: A dictionary of annotations to apply to the Seldon
340
324
  Deployment.
341
325
  spec: A Kubernetes pod spec to use for the Seldon Deployment.
342
- is_custom_deployment: Whether the Seldon Deployment is a custom or a built-in one.
343
- serviceAccountName: The name of the service account to associate with the predictive unit container.
326
+ is_custom_deployment: Whether the Seldon Deployment is a custom
327
+ or a built-in one.
328
+ serviceAccountName: The name of the service account to associate
329
+ with the predictive unit container.
344
330
 
345
331
  Returns:
346
332
  A minimal SeldonDeployment object built from the provided
@@ -495,13 +481,12 @@ class SeldonDeployment(BaseModel):
495
481
  return None
496
482
  return ready_condition_message[0]
497
483
 
498
- class Config:
499
- """Pydantic configuration class."""
500
-
484
+ model_config = ConfigDict(
501
485
  # validate attribute assignments
502
- validate_assignment = True
486
+ validate_assignment=True,
503
487
  # Ignore extra attributes from the CRD that are not reflected here
504
- extra = "ignore"
488
+ extra="ignore",
489
+ )
505
490
 
506
491
 
507
492
  class SeldonClientError(Exception):
@@ -651,7 +636,7 @@ class SeldonClient:
651
636
  # are not
652
637
  deployment.mark_as_managed_by_zenml()
653
638
 
654
- body_deploy = deployment.dict(exclude_none=True)
639
+ body_deploy = deployment.model_dump(exclude_none=True)
655
640
  response = (
656
641
  self._custom_objects_api.create_namespaced_custom_object(
657
642
  group="machinelearning.seldon.io",
@@ -788,7 +773,7 @@ class SeldonClient:
788
773
  namespace=self._namespace,
789
774
  plural="seldondeployments",
790
775
  name=deployment.name,
791
- body=deployment.dict(exclude_none=True),
776
+ body=deployment.model_dump(exclude_none=True),
792
777
  _request_timeout=poll_timeout or None,
793
778
  )
794
779
  logger.debug("Seldon Core API response: %s", response)
@@ -86,8 +86,6 @@ class SeldonDeploymentConfig(ServiceConfig):
86
86
  labels = {}
87
87
  if self.pipeline_name:
88
88
  labels["zenml.pipeline_name"] = self.pipeline_name
89
- if self.run_name:
90
- labels["zenml.run_name"] = self.run_name
91
89
  if self.pipeline_step_name:
92
90
  labels["zenml.pipeline_step_name"] = self.pipeline_step_name
93
91
  if self.model_name:
@@ -115,7 +113,7 @@ class SeldonDeploymentConfig(ServiceConfig):
115
113
  The annotations for the Seldon Core deployment.
116
114
  """
117
115
  annotations = {
118
- "zenml.service_config": self.json(),
116
+ "zenml.service_config": self.model_dump_json(),
119
117
  "zenml.version": __version__,
120
118
  }
121
119
  return annotations
@@ -135,7 +133,7 @@ class SeldonDeploymentConfig(ServiceConfig):
135
133
 
136
134
  Raises:
137
135
  ValueError: if the given deployment resource does not contain
138
- the expected annotations or it contains an invalid or
136
+ the expected annotations, or it contains an invalid or
139
137
  incompatible Seldon Core service configuration.
140
138
  """
141
139
  config_data = deployment.metadata.annotations.get(
@@ -147,7 +145,7 @@ class SeldonDeploymentConfig(ServiceConfig):
147
145
  f"'zenml.service_config' annotation: {deployment}"
148
146
  )
149
147
  try:
150
- service_config = cls.parse_raw(config_data)
148
+ service_config = cls.model_validate_json(config_data)
151
149
  except ValidationError as e:
152
150
  raise ValueError(
153
151
  f"The loaded Seldon Core deployment resource contains an "
@@ -174,6 +172,7 @@ class SeldonDeploymentService(BaseDeploymentService):
174
172
  type="model-serving",
175
173
  flavor="seldon",
176
174
  description="Seldon Core prediction service",
175
+ logo_url="https://public-flavor-logos.s3.eu-central-1.amazonaws.com/model_deployer/seldon.png",
177
176
  )
178
177
 
179
178
  config: SeldonDeploymentConfig