zenml-nightly 0.55.0.dev20240124__py3-none-any.whl → 0.72.0.dev20250115__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 (1238) 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 +977 -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 +467 -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 +297 -39
  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 +241 -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 +346 -0
  378. zenml/login/credentials_store.py +603 -0
  379. zenml/{new/pipelines → login/pro}/__init__.py +4 -1
  380. zenml/login/pro/client.py +496 -0
  381. zenml/login/pro/constants.py +34 -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 +174 -0
  389. zenml/login/pro/utils.py +121 -0
  390. zenml/{cli → login}/web_login.py +66 -21
  391. zenml/materializers/__init__.py +2 -4
  392. zenml/materializers/base_materializer.py +180 -51
  393. zenml/materializers/built_in_materializer.py +50 -23
  394. zenml/materializers/cloudpickle_materializer.py +4 -5
  395. zenml/materializers/numpy_materializer.py +23 -233
  396. zenml/materializers/pandas_materializer.py +22 -174
  397. zenml/materializers/pydantic_materializer.py +2 -2
  398. zenml/materializers/service_materializer.py +12 -10
  399. zenml/materializers/structured_string_materializer.py +12 -6
  400. zenml/materializers/uuid_materializer.py +79 -0
  401. zenml/metadata/lazy_load.py +33 -17
  402. zenml/metadata/metadata_types.py +112 -3
  403. zenml/model/lazy_load.py +85 -4
  404. zenml/model/model.py +236 -226
  405. zenml/model/utils.py +99 -141
  406. zenml/model_deployers/base_model_deployer.py +319 -47
  407. zenml/model_registries/base_model_registry.py +17 -15
  408. zenml/models/__init__.py +254 -175
  409. zenml/models/v2/base/base.py +254 -112
  410. zenml/models/v2/base/base_plugin_flavor.py +76 -0
  411. zenml/models/v2/base/filter.py +530 -199
  412. zenml/models/v2/base/page.py +2 -12
  413. zenml/models/v2/base/scoped.py +292 -22
  414. zenml/models/v2/core/action.py +276 -0
  415. zenml/models/v2/core/action_flavor.py +57 -0
  416. zenml/models/v2/core/api_key.py +35 -12
  417. zenml/models/v2/core/artifact.py +126 -6
  418. zenml/models/v2/core/artifact_version.py +289 -65
  419. zenml/models/v2/core/artifact_visualization.py +10 -4
  420. zenml/models/v2/core/code_reference.py +13 -4
  421. zenml/models/v2/core/code_repository.py +39 -16
  422. zenml/models/v2/core/component.py +113 -61
  423. zenml/models/v2/core/device.py +25 -5
  424. zenml/models/v2/core/event_source.py +244 -0
  425. zenml/models/v2/core/event_source_flavor.py +67 -0
  426. zenml/models/v2/core/flavor.py +90 -27
  427. zenml/models/v2/core/logs.py +81 -12
  428. zenml/models/v2/core/model.py +91 -42
  429. zenml/models/v2/core/model_version.py +100 -55
  430. zenml/models/v2/core/model_version_artifact.py +96 -89
  431. zenml/models/v2/core/model_version_pipeline_run.py +86 -53
  432. zenml/models/v2/core/pipeline.py +205 -80
  433. zenml/models/v2/core/pipeline_build.py +110 -21
  434. zenml/models/v2/core/pipeline_deployment.py +101 -36
  435. zenml/models/v2/core/pipeline_run.py +545 -33
  436. zenml/models/v2/core/run_metadata.py +23 -181
  437. zenml/models/v2/core/run_template.py +439 -0
  438. zenml/models/v2/core/schedule.py +66 -29
  439. zenml/models/v2/core/secret.py +33 -21
  440. zenml/models/v2/core/server_settings.py +224 -0
  441. zenml/models/v2/core/service.py +500 -0
  442. zenml/models/v2/core/service_account.py +40 -15
  443. zenml/models/v2/core/service_connector.py +247 -49
  444. zenml/models/v2/core/stack.py +163 -70
  445. zenml/models/v2/core/step_run.py +210 -48
  446. zenml/models/v2/core/tag.py +21 -8
  447. zenml/models/v2/core/tag_resource.py +13 -4
  448. zenml/models/v2/core/trigger.py +422 -0
  449. zenml/models/v2/core/trigger_execution.py +119 -0
  450. zenml/models/v2/core/user.py +136 -69
  451. zenml/models/v2/core/workspace.py +26 -7
  452. zenml/models/v2/misc/auth_models.py +11 -2
  453. zenml/models/v2/misc/build_item.py +3 -3
  454. zenml/models/v2/misc/external_user.py +3 -6
  455. zenml/models/v2/misc/info_models.py +78 -0
  456. zenml/models/v2/misc/loaded_visualization.py +2 -2
  457. zenml/models/v2/misc/run_metadata.py +38 -0
  458. zenml/models/v2/misc/server_models.py +56 -0
  459. zenml/models/v2/misc/service_connector_type.py +9 -17
  460. zenml/models/v2/misc/stack_deployment.py +96 -0
  461. zenml/models/v2/misc/user_auth.py +7 -9
  462. zenml/orchestrators/__init__.py +4 -0
  463. zenml/orchestrators/base_orchestrator.py +136 -25
  464. zenml/orchestrators/containerized_orchestrator.py +1 -0
  465. zenml/orchestrators/dag_runner.py +18 -3
  466. zenml/orchestrators/input_utils.py +109 -48
  467. zenml/orchestrators/local/local_orchestrator.py +10 -0
  468. zenml/orchestrators/local_docker/local_docker_orchestrator.py +14 -42
  469. zenml/orchestrators/output_utils.py +16 -6
  470. zenml/orchestrators/publish_utils.py +12 -5
  471. zenml/orchestrators/step_launcher.py +142 -194
  472. zenml/orchestrators/step_run_utils.py +386 -0
  473. zenml/orchestrators/step_runner.py +181 -270
  474. zenml/orchestrators/utils.py +219 -84
  475. zenml/orchestrators/wheeled_orchestrator.py +147 -0
  476. zenml/pipelines/__init__.py +3 -16
  477. zenml/{new/pipelines → pipelines}/build_utils.py +287 -47
  478. zenml/{new/pipelines → pipelines}/pipeline_context.py +6 -2
  479. zenml/pipelines/pipeline_decorator.py +40 -64
  480. zenml/{new/pipelines/pipeline.py → pipelines/pipeline_definition.py} +376 -440
  481. zenml/pipelines/run_utils.py +358 -0
  482. zenml/plugins/__init__.py +0 -0
  483. zenml/plugins/base_plugin_flavor.py +88 -0
  484. zenml/plugins/plugin_flavor_registry.py +342 -0
  485. zenml/secret/base_secret.py +7 -8
  486. zenml/secret/schemas/basic_auth_secret_schema.py +0 -1
  487. zenml/service_connectors/docker_service_connector.py +19 -4
  488. zenml/service_connectors/service_connector.py +12 -14
  489. zenml/service_connectors/service_connector_registry.py +71 -55
  490. zenml/service_connectors/service_connector_utils.py +418 -0
  491. zenml/services/__init__.py +0 -2
  492. zenml/services/container/container_service.py +9 -6
  493. zenml/services/container/container_service_endpoint.py +1 -1
  494. zenml/services/container/entrypoint.py +3 -2
  495. zenml/services/local/local_daemon_entrypoint.py +9 -6
  496. zenml/services/local/local_service.py +1 -1
  497. zenml/services/local/local_service_endpoint.py +1 -1
  498. zenml/services/service.py +222 -130
  499. zenml/services/service_status.py +2 -1
  500. zenml/services/service_type.py +6 -5
  501. zenml/stack/flavor.py +25 -18
  502. zenml/stack/flavor_registry.py +4 -4
  503. zenml/stack/stack.py +20 -131
  504. zenml/stack/stack_component.py +136 -110
  505. zenml/stack/utils.py +36 -15
  506. zenml/stack_deployments/__init__.py +14 -0
  507. zenml/stack_deployments/aws_stack_deployment.py +320 -0
  508. zenml/stack_deployments/azure_stack_deployment.py +315 -0
  509. zenml/stack_deployments/gcp_stack_deployment.py +315 -0
  510. zenml/stack_deployments/stack_deployment.py +232 -0
  511. zenml/stack_deployments/utils.py +48 -0
  512. zenml/step_operators/step_operator_entrypoint_configuration.py +2 -1
  513. zenml/steps/__init__.py +3 -9
  514. zenml/steps/base_step.py +172 -315
  515. zenml/{new/steps → steps}/decorated_step.py +1 -0
  516. zenml/steps/entrypoint_function_utils.py +33 -93
  517. zenml/{new/steps → steps}/step_context.py +70 -50
  518. zenml/steps/step_decorator.py +47 -93
  519. zenml/steps/step_invocation.py +22 -60
  520. zenml/steps/utils.py +161 -48
  521. zenml/types.py +14 -1
  522. zenml/utils/archivable.py +178 -0
  523. zenml/utils/callback_registry.py +71 -0
  524. zenml/utils/code_repository_utils.py +1 -0
  525. zenml/utils/code_utils.py +346 -0
  526. zenml/utils/cuda_utils.py +50 -0
  527. zenml/utils/dashboard_utils.py +67 -21
  528. zenml/utils/deprecation_utils.py +22 -24
  529. zenml/utils/dict_utils.py +22 -0
  530. zenml/utils/docker_utils.py +34 -5
  531. zenml/utils/downloaded_repository_context.py +1 -0
  532. zenml/utils/env_utils.py +55 -1
  533. zenml/utils/filesync_model.py +65 -28
  534. zenml/utils/function_utils.py +260 -0
  535. zenml/utils/integration_utils.py +1 -0
  536. zenml/utils/json_utils.py +131 -0
  537. zenml/utils/materializer_utils.py +1 -1
  538. zenml/utils/metadata_utils.py +368 -0
  539. zenml/utils/notebook_utils.py +136 -0
  540. zenml/utils/package_utils.py +89 -0
  541. zenml/utils/pagination_utils.py +9 -7
  542. zenml/utils/pipeline_docker_image_builder.py +152 -149
  543. zenml/utils/pydantic_utils.py +276 -66
  544. zenml/utils/requirements_utils.py +71 -0
  545. zenml/utils/secret_utils.py +66 -12
  546. zenml/utils/settings_utils.py +2 -1
  547. zenml/utils/singleton.py +15 -3
  548. zenml/utils/source_code_utils.py +1 -0
  549. zenml/utils/source_utils.py +236 -14
  550. zenml/utils/string_utils.py +140 -0
  551. zenml/utils/typed_model.py +5 -3
  552. zenml/utils/typing_utils.py +223 -0
  553. zenml/utils/visualization_utils.py +5 -3
  554. zenml/utils/yaml_utils.py +1 -1
  555. zenml/zen_server/auth.py +295 -52
  556. zenml/zen_server/cache.py +208 -0
  557. zenml/zen_server/cloud_utils.py +261 -0
  558. zenml/zen_server/dashboard/assets/404-Dfq64Boz.js +1 -0
  559. zenml/zen_server/dashboard/assets/@radix-DeK6qiuw.js +85 -0
  560. zenml/zen_server/dashboard/assets/@react-router-B3Z5rLr2.js +29 -0
  561. zenml/zen_server/dashboard/assets/@reactflow-BUNIMFeC.js +17 -0
  562. zenml/zen_server/dashboard/assets/@reactflow-C26Olbza.css +1 -0
  563. zenml/zen_server/dashboard/assets/@tanstack-DT5WLu9C.js +22 -0
  564. zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-B73Vs10T.js +1 -0
  565. zenml/zen_server/dashboard/assets/CodeSnippet-Bbx6fIb6.css +1 -0
  566. zenml/zen_server/dashboard/assets/CodeSnippet-DIJRT2NT.js +9 -0
  567. zenml/zen_server/dashboard/assets/CollapsibleCard-BzUHGZOU.js +1 -0
  568. zenml/zen_server/dashboard/assets/Commands-BEGyld4c.js +1 -0
  569. zenml/zen_server/dashboard/assets/ComponentBadge-xyKiek1s.js +1 -0
  570. zenml/zen_server/dashboard/assets/CopyButton-DhW-mapu.js +2 -0
  571. zenml/zen_server/dashboard/assets/CsvVizualization-D8oazBiE.js +15 -0
  572. zenml/zen_server/dashboard/assets/DeleteAlertDialog-WkSIIgfy.js +1 -0
  573. zenml/zen_server/dashboard/assets/DialogItem-Bgroeg29.js +1 -0
  574. zenml/zen_server/dashboard/assets/DisplayDate-CDMUcQHS.js +1 -0
  575. zenml/zen_server/dashboard/assets/EmptyState-BzdlCwp3.js +1 -0
  576. zenml/zen_server/dashboard/assets/Error-CY5tlu17.js +1 -0
  577. zenml/zen_server/dashboard/assets/ExecutionStatus-G8mjIaeA.js +1 -0
  578. zenml/zen_server/dashboard/assets/Helpbox-Bb1ed--O.js +1 -0
  579. zenml/zen_server/dashboard/assets/Infobox-Da6-76M2.js +1 -0
  580. zenml/zen_server/dashboard/assets/InlineAvatar-DqnZaBNq.js +1 -0
  581. zenml/zen_server/dashboard/assets/Lock-CYYy18Mm.js +1 -0
  582. zenml/zen_server/dashboard/assets/MarkdownVisualization-ylXaAxev.js +14 -0
  583. zenml/zen_server/dashboard/assets/NestedCollapsible-aK5ojKoF.js +1 -0
  584. zenml/zen_server/dashboard/assets/NumberBox-Dtp3J6g5.js +1 -0
  585. zenml/zen_server/dashboard/assets/Partials-CqZp5NMX.js +1 -0
  586. zenml/zen_server/dashboard/assets/PasswordChecker-B0nadgh6.js +1 -0
  587. zenml/zen_server/dashboard/assets/ProBadge-B4tRUYve.js +1 -0
  588. zenml/zen_server/dashboard/assets/ProCta-CZuP29Qz.js +1 -0
  589. zenml/zen_server/dashboard/assets/ProviderIcon-Bd7GUQ1_.js +1 -0
  590. zenml/zen_server/dashboard/assets/ProviderRadio-mstdqzsS.js +1 -0
  591. zenml/zen_server/dashboard/assets/RunSelector-CsruSB4i.js +1 -0
  592. zenml/zen_server/dashboard/assets/RunsBody-DxxtWVYz.js +1 -0
  593. zenml/zen_server/dashboard/assets/SearchField-D6tPxyqw.js +1 -0
  594. zenml/zen_server/dashboard/assets/SecretTooltip-CLzJIYW_.js +1 -0
  595. zenml/zen_server/dashboard/assets/SetPassword-Yn50ooBC.js +1 -0
  596. zenml/zen_server/dashboard/assets/StackList-U537qoYd.js +1 -0
  597. zenml/zen_server/dashboard/assets/Tabs-CNv-eTYM.js +1 -0
  598. zenml/zen_server/dashboard/assets/Tick-jEIevzVf.js +1 -0
  599. zenml/zen_server/dashboard/assets/UpdatePasswordSchemas-C16GW-kX.js +1 -0
  600. zenml/zen_server/dashboard/assets/UsageReason-Bf2tzhv1.js +1 -0
  601. zenml/zen_server/dashboard/assets/WizardFooter-D6i-AP1K.js +1 -0
  602. zenml/zen_server/dashboard/assets/acp-DOsXjFc7.webp +0 -0
  603. zenml/zen_server/dashboard/assets/adam-e-y0WnB_.webp +0 -0
  604. zenml/zen_server/dashboard/assets/alex-DcCuDHPg.webp +0 -0
  605. zenml/zen_server/dashboard/assets/all-pipeline-runs-query-DUti43aF.js +1 -0
  606. zenml/zen_server/dashboard/assets/baris-C0ZrZ10g.webp +0 -0
  607. zenml/zen_server/dashboard/assets/check-DloQpStc.js +1 -0
  608. zenml/zen_server/dashboard/assets/check-circle-jNbX5-sR.js +1 -0
  609. zenml/zen_server/dashboard/assets/chevron-down-6JyMkfjR.js +1 -0
  610. zenml/zen_server/dashboard/assets/chevron-right-double-D7ojK9Co.js +1 -0
  611. zenml/zen_server/dashboard/assets/cloud-squares-DeRLMopf.svg +43 -0
  612. zenml/zen_server/dashboard/assets/code-browser-CUFUIHfp.js +1 -0
  613. zenml/zen_server/dashboard/assets/code-snippets-CqONne41.js +13 -0
  614. zenml/zen_server/dashboard/assets/components-Br2ezRib.js +1 -0
  615. zenml/zen_server/dashboard/assets/connectors-video-C9qY4syJ.svg +21 -0
  616. zenml/zen_server/dashboard/assets/copy-C8XQA2Ug.js +1 -0
  617. zenml/zen_server/dashboard/assets/create-stack-Ch2WPs9U.js +1 -0
  618. zenml/zen_server/dashboard/assets/dates-3pMLCNrD.js +1 -0
  619. zenml/zen_server/dashboard/assets/delete-run-Byf9hTjA.js +1 -0
  620. zenml/zen_server/dashboard/assets/docker-BdA9vrnW.js +1 -0
  621. zenml/zen_server/dashboard/assets/dots-horizontal-otGBOSDJ.js +1 -0
  622. zenml/zen_server/dashboard/assets/flyte-Cj-xy_8I.svg +10 -0
  623. zenml/zen_server/dashboard/assets/form-schemas-BZqKBPBF.js +1 -0
  624. zenml/zen_server/dashboard/assets/gcp-CFtm4BA7.js +1 -0
  625. zenml/zen_server/dashboard/assets/hamza-NKKOZz1I.webp +0 -0
  626. zenml/zen_server/dashboard/assets/help-Cc9bBIJH.js +1 -0
  627. zenml/zen_server/dashboard/assets/index-CE0aQlv8.js +55 -0
  628. zenml/zen_server/dashboard/assets/index-CtdYkjUi.js +1 -0
  629. zenml/zen_server/dashboard/assets/index-CyBKZcpO.js +1 -0
  630. zenml/zen_server/dashboard/assets/index-DXvT1_Um.css +1 -0
  631. zenml/zen_server/dashboard/assets/index-Uu49AX48.js +1 -0
  632. zenml/zen_server/dashboard/assets/index-v6gQjDEo.js +1 -0
  633. zenml/zen_server/dashboard/assets/index.esm-Dy6Z9Ung.js +1 -0
  634. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2 +0 -0
  635. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff +0 -0
  636. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2 +0 -0
  637. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-DH2hs3aW.woff +0 -0
  638. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-BGBWG807.woff2 +0 -0
  639. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-BuzJQFbW.woff +0 -0
  640. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff +0 -0
  641. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2 +0 -0
  642. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2 +0 -0
  643. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff +0 -0
  644. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff +0 -0
  645. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2 +0 -0
  646. zenml/zen_server/dashboard/assets/inter-greek-400-normal-BZzXV7-1.woff +0 -0
  647. zenml/zen_server/dashboard/assets/inter-greek-400-normal-DxZsaF_h.woff2 +0 -0
  648. zenml/zen_server/dashboard/assets/inter-greek-500-normal-CeQXL5ds.woff2 +0 -0
  649. zenml/zen_server/dashboard/assets/inter-greek-500-normal-d_eO-yCQ.woff +0 -0
  650. zenml/zen_server/dashboard/assets/inter-greek-600-normal-CwicyhtI.woff +0 -0
  651. zenml/zen_server/dashboard/assets/inter-greek-600-normal-Dhlb-90d.woff2 +0 -0
  652. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-Bput3-QP.woff2 +0 -0
  653. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-DCpCPQOf.woff +0 -0
  654. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-B6guLgqG.woff2 +0 -0
  655. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-M2hEX8vc.woff +0 -0
  656. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-C9WLioJ8.woff +0 -0
  657. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2 +0 -0
  658. zenml/zen_server/dashboard/assets/inter-latin-400-normal-BOOGhInR.woff2 +0 -0
  659. zenml/zen_server/dashboard/assets/inter-latin-400-normal-gitzw0hO.woff +0 -0
  660. zenml/zen_server/dashboard/assets/inter-latin-500-normal-D2bGa7uu.woff2 +0 -0
  661. zenml/zen_server/dashboard/assets/inter-latin-500-normal-deR1Tlfd.woff +0 -0
  662. zenml/zen_server/dashboard/assets/inter-latin-600-normal-B5cFAncS.woff +0 -0
  663. zenml/zen_server/dashboard/assets/inter-latin-600-normal-D273HNI0.woff2 +0 -0
  664. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-C1t-h-pH.woff +0 -0
  665. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-hnt3BR84.woff2 +0 -0
  666. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2 +0 -0
  667. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-UMdmhHu2.woff +0 -0
  668. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-BnYJhD27.woff2 +0 -0
  669. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-CAF0vJDd.woff +0 -0
  670. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-BUNmGMP1.woff +0 -0
  671. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  672. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  673. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff +0 -0
  674. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
  675. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff +0 -0
  676. zenml/zen_server/dashboard/assets/key-icon-aH-QIa5R.js +1 -0
  677. zenml/zen_server/dashboard/assets/kubernetes-B2wmAJ1d.js +1 -0
  678. zenml/zen_server/dashboard/assets/layout-BtHBmE4w.js +1 -0
  679. zenml/zen_server/dashboard/assets/link-external-b9AXw_sW.js +1 -0
  680. zenml/zen_server/dashboard/assets/login-command-CkqxPtV3.js +1 -0
  681. zenml/zen_server/dashboard/assets/login-mutation-DNDVp_2H.js +1 -0
  682. zenml/zen_server/dashboard/assets/logs-WMSM52RF.js +1 -0
  683. zenml/zen_server/dashboard/assets/mcp-Cb1aMeoq.webp +0 -0
  684. zenml/zen_server/dashboard/assets/metaflow-weOkWNyT.svg +10 -0
  685. zenml/zen_server/dashboard/assets/not-found-Bmup4ctE.js +1 -0
  686. zenml/zen_server/dashboard/assets/package-C6uypY4h.js +1 -0
  687. zenml/zen_server/dashboard/assets/page--XLMzHrn.js +1 -0
  688. zenml/zen_server/dashboard/assets/page-ANYGfEUL.js +1 -0
  689. zenml/zen_server/dashboard/assets/page-B5Sr8pib.js +1 -0
  690. zenml/zen_server/dashboard/assets/page-BC27C_OI.js +2 -0
  691. zenml/zen_server/dashboard/assets/page-BNxYrN0q.js +1 -0
  692. zenml/zen_server/dashboard/assets/page-BYJfqgLN.js +1 -0
  693. zenml/zen_server/dashboard/assets/page-B_0XkV48.js +1 -0
  694. zenml/zen_server/dashboard/assets/page-BrmJp1Wt.js +1 -0
  695. zenml/zen_server/dashboard/assets/page-C2nU3Gxn.js +1 -0
  696. zenml/zen_server/dashboard/assets/page-C70wZtV2.js +1 -0
  697. zenml/zen_server/dashboard/assets/page-CHRn1fQm.js +1 -0
  698. zenml/zen_server/dashboard/assets/page-CWr96ZKN.js +1 -0
  699. zenml/zen_server/dashboard/assets/page-CXAbSyp9.js +1 -0
  700. zenml/zen_server/dashboard/assets/page-CaeI9ptC.js +1 -0
  701. zenml/zen_server/dashboard/assets/page-Cc8ZEuj4.js +1 -0
  702. zenml/zen_server/dashboard/assets/page-CltCNL0T.js +1 -0
  703. zenml/zen_server/dashboard/assets/page-CmlYj7Nl.js +1 -0
  704. zenml/zen_server/dashboard/assets/page-D6Ev5P8V.js +1 -0
  705. zenml/zen_server/dashboard/assets/page-D9Oh05fl.js +1 -0
  706. zenml/zen_server/dashboard/assets/page-DGlm1RVc.js +1 -0
  707. zenml/zen_server/dashboard/assets/page-DN4BVIOL.js +1 -0
  708. zenml/zen_server/dashboard/assets/page-Dif8CWyZ.js +1 -0
  709. zenml/zen_server/dashboard/assets/page-DlIi5ThM.js +1 -0
  710. zenml/zen_server/dashboard/assets/page-DoW7YxTu.js +1 -0
  711. zenml/zen_server/dashboard/assets/page-Dth9X1Ih.js +1 -0
  712. zenml/zen_server/dashboard/assets/page-DweqqCkF.js +1 -0
  713. zenml/zen_server/dashboard/assets/page-DyOJ_pq3.js +1 -0
  714. zenml/zen_server/dashboard/assets/page-Hn8q9iJZ.js +1 -0
  715. zenml/zen_server/dashboard/assets/page-IhckKFnD.js +6 -0
  716. zenml/zen_server/dashboard/assets/page-LyZ_l8vR.js +1 -0
  717. zenml/zen_server/dashboard/assets/page-PamGpk0j.js +1 -0
  718. zenml/zen_server/dashboard/assets/page-PxOWfKgF.js +2 -0
  719. zenml/zen_server/dashboard/assets/persist-DeXRG61d.js +1 -0
  720. zenml/zen_server/dashboard/assets/persist-vP0-Xl4f.js +1 -0
  721. zenml/zen_server/dashboard/assets/plus-tf1V2hTJ.js +1 -0
  722. zenml/zen_server/dashboard/assets/refresh-BjOeWlEq.js +1 -0
  723. zenml/zen_server/dashboard/assets/repos-video-D8kpu60k.svg +9 -0
  724. zenml/zen_server/dashboard/assets/rocket-DjT2cDvG.js +1 -0
  725. zenml/zen_server/dashboard/assets/service-DH_oUqQj.js +2 -0
  726. zenml/zen_server/dashboard/assets/settings_preview-0JLrRgHP.webp +0 -0
  727. zenml/zen_server/dashboard/assets/sharedSchema-Bw1_Wa7l.js +14 -0
  728. zenml/zen_server/dashboard/assets/stack-detail-query-B_0R_fd6.js +1 -0
  729. zenml/zen_server/dashboard/assets/stefan-B08Ftbba.webp +0 -0
  730. zenml/zen_server/dashboard/assets/templates-1S_8WeSK.webp +0 -0
  731. zenml/zen_server/dashboard/assets/tick-circle-BEX_Tp4v.js +1 -0
  732. zenml/zen_server/dashboard/assets/tour-cover-BYfeen6M.webp +0 -0
  733. zenml/zen_server/dashboard/assets/trash-arLUMWMS.js +1 -0
  734. zenml/zen_server/dashboard/assets/update-server-settings-mutation-D9qYhfaN.js +1 -0
  735. zenml/zen_server/dashboard/assets/upgrade-form-CwRHBuXB.webp +0 -0
  736. zenml/zen_server/dashboard/assets/url-Dh93fvh0.js +1 -0
  737. zenml/zen_server/dashboard/assets/zod-BwEbpOxH.js +1 -0
  738. zenml/zen_server/dashboard/index.html +19 -1
  739. zenml/zen_server/deploy/__init__.py +7 -16
  740. zenml/zen_server/deploy/base_provider.py +49 -78
  741. zenml/zen_server/deploy/{local → daemon}/__init__.py +3 -3
  742. zenml/zen_server/deploy/{local/local_provider.py → daemon/daemon_provider.py} +48 -66
  743. zenml/zen_server/deploy/{local/local_zen_server.py → daemon/daemon_zen_server.py} +78 -62
  744. zenml/zen_server/deploy/deployer.py +94 -175
  745. zenml/zen_server/deploy/deployment.py +23 -17
  746. zenml/zen_server/deploy/docker/docker_provider.py +15 -31
  747. zenml/zen_server/deploy/docker/docker_zen_server.py +30 -35
  748. zenml/zen_server/deploy/helm/Chart.yaml +1 -1
  749. zenml/zen_server/deploy/helm/README.md +3 -13
  750. zenml/zen_server/deploy/helm/templates/NOTES.txt +2 -8
  751. zenml/zen_server/deploy/helm/templates/_environment.tpl +129 -3
  752. zenml/zen_server/deploy/helm/templates/server-db-job.yaml +45 -18
  753. zenml/zen_server/deploy/helm/templates/server-db-pvc.yaml +25 -0
  754. zenml/zen_server/deploy/helm/templates/server-deployment.yaml +22 -6
  755. zenml/zen_server/deploy/helm/templates/server-secret.yaml +2 -12
  756. zenml/zen_server/deploy/helm/values.yaml +134 -21
  757. zenml/zen_server/exceptions.py +20 -1
  758. zenml/zen_server/feature_gate/__init__.py +13 -0
  759. zenml/zen_server/feature_gate/endpoint_utils.py +61 -0
  760. zenml/zen_server/feature_gate/feature_gate_interface.py +49 -0
  761. zenml/zen_server/feature_gate/zenml_cloud_feature_gate.py +125 -0
  762. zenml/zen_server/jwt.py +48 -31
  763. zenml/zen_server/rate_limit.py +200 -0
  764. zenml/zen_server/rbac/endpoint_utils.py +92 -9
  765. zenml/zen_server/rbac/models.py +21 -17
  766. zenml/zen_server/rbac/rbac_sql_zen_store.py +175 -0
  767. zenml/zen_server/rbac/utils.py +71 -30
  768. zenml/zen_server/rbac/zenml_cloud_rbac.py +13 -188
  769. zenml/zen_server/routers/actions_endpoints.py +324 -0
  770. zenml/zen_server/routers/artifact_version_endpoints.py +28 -2
  771. zenml/zen_server/routers/auth_endpoints.py +205 -110
  772. zenml/zen_server/routers/code_repositories_endpoints.py +1 -0
  773. zenml/zen_server/routers/devices_endpoints.py +56 -49
  774. zenml/zen_server/routers/event_source_endpoints.py +327 -0
  775. zenml/zen_server/routers/logs_endpoints.py +66 -0
  776. zenml/zen_server/routers/model_versions_endpoints.py +59 -0
  777. zenml/zen_server/routers/models_endpoints.py +8 -1
  778. zenml/zen_server/routers/pipeline_builds_endpoints.py +6 -1
  779. zenml/zen_server/routers/pipeline_deployments_endpoints.py +35 -0
  780. zenml/zen_server/routers/pipelines_endpoints.py +19 -32
  781. zenml/zen_server/routers/plugin_endpoints.py +107 -0
  782. zenml/zen_server/routers/run_templates_endpoints.py +212 -0
  783. zenml/zen_server/routers/runs_endpoints.py +91 -32
  784. zenml/zen_server/routers/schedule_endpoints.py +1 -0
  785. zenml/zen_server/routers/secrets_endpoints.py +4 -2
  786. zenml/zen_server/routers/server_endpoints.py +186 -4
  787. zenml/zen_server/routers/service_connectors_endpoints.py +56 -0
  788. zenml/zen_server/routers/service_endpoints.py +180 -0
  789. zenml/zen_server/routers/stack_components_endpoints.py +2 -1
  790. zenml/zen_server/routers/stack_deployment_endpoints.py +164 -0
  791. zenml/zen_server/routers/steps_endpoints.py +21 -12
  792. zenml/zen_server/routers/triggers_endpoints.py +336 -0
  793. zenml/zen_server/routers/users_endpoints.py +280 -45
  794. zenml/zen_server/routers/webhook_endpoints.py +127 -0
  795. zenml/zen_server/routers/workspaces_endpoints.py +220 -185
  796. zenml/zen_server/secure_headers.py +120 -0
  797. zenml/{new → zen_server/template_execution}/__init__.py +1 -1
  798. zenml/zen_server/template_execution/runner_entrypoint_configuration.py +42 -0
  799. zenml/zen_server/template_execution/utils.py +474 -0
  800. zenml/zen_server/template_execution/workload_manager_interface.py +92 -0
  801. zenml/zen_server/utils.py +310 -74
  802. zenml/zen_server/zen_server_api.py +294 -52
  803. zenml/zen_stores/base_zen_store.py +71 -57
  804. zenml/zen_stores/migrations/alembic.py +22 -9
  805. zenml/zen_stores/migrations/env.py +2 -2
  806. zenml/zen_stores/migrations/utils.py +731 -0
  807. zenml/zen_stores/migrations/versions/0.21.0_release.py +0 -1
  808. zenml/zen_stores/migrations/versions/0.21.1_release.py +0 -1
  809. zenml/zen_stores/migrations/versions/0.22.0_release.py +0 -1
  810. zenml/zen_stores/migrations/versions/0.23.0_release.py +0 -1
  811. zenml/zen_stores/migrations/versions/0.30.0_release.py +0 -1
  812. zenml/zen_stores/migrations/versions/0.31.0_release.py +0 -1
  813. zenml/zen_stores/migrations/versions/0.31.1_release.py +0 -1
  814. zenml/zen_stores/migrations/versions/0.32.0_release.py +0 -1
  815. zenml/zen_stores/migrations/versions/0.32.1_release.py +0 -1
  816. zenml/zen_stores/migrations/versions/0.33.0_release.py +0 -1
  817. zenml/zen_stores/migrations/versions/0.34.0_release.py +0 -1
  818. zenml/zen_stores/migrations/versions/0.35.0_release.py +0 -1
  819. zenml/zen_stores/migrations/versions/0.35.1_release.py +0 -1
  820. zenml/zen_stores/migrations/versions/0.36.0_release.py +0 -1
  821. zenml/zen_stores/migrations/versions/0.36.1_release.py +0 -1
  822. zenml/zen_stores/migrations/versions/0.37.0_release.py +0 -1
  823. zenml/zen_stores/migrations/versions/0.38.0_release.py +0 -1
  824. zenml/zen_stores/migrations/versions/0.39.0_release.py +0 -1
  825. zenml/zen_stores/migrations/versions/0.39.1_release.py +0 -1
  826. zenml/zen_stores/migrations/versions/0.40.0_release.py +0 -1
  827. zenml/zen_stores/migrations/versions/0.40.1_release.py +0 -1
  828. zenml/zen_stores/migrations/versions/0.40.2_release.py +0 -1
  829. zenml/zen_stores/migrations/versions/0.40.3_release.py +0 -1
  830. zenml/zen_stores/migrations/versions/0.41.0_release.py +0 -1
  831. zenml/zen_stores/migrations/versions/0.42.0_release.py +0 -1
  832. zenml/zen_stores/migrations/versions/0.42.1_release.py +0 -1
  833. zenml/zen_stores/migrations/versions/0.43.0_release.py +0 -1
  834. zenml/zen_stores/migrations/versions/0.44.0_release.py +0 -1
  835. zenml/zen_stores/migrations/versions/0.44.1_release.py +0 -1
  836. zenml/zen_stores/migrations/versions/0.44.2_release.py +0 -1
  837. zenml/zen_stores/migrations/versions/0.44.3_release.py +0 -1
  838. zenml/zen_stores/migrations/versions/0.45.0_release.py +0 -1
  839. zenml/zen_stores/migrations/versions/0.45.1_release_0_45_1.py +0 -1
  840. zenml/zen_stores/migrations/versions/0.45.2_release.py +0 -1
  841. zenml/zen_stores/migrations/versions/0.45.3_release.py +0 -1
  842. zenml/zen_stores/migrations/versions/0.45.4_release.py +0 -1
  843. zenml/zen_stores/migrations/versions/0.45.5_release.py +0 -1
  844. zenml/zen_stores/migrations/versions/0.45.6_release.py +0 -1
  845. zenml/zen_stores/migrations/versions/0.46.0_release.py +0 -1
  846. zenml/zen_stores/migrations/versions/0.46.1_release.py +0 -1
  847. zenml/zen_stores/migrations/versions/0.47.0_release.py +0 -1
  848. zenml/zen_stores/migrations/versions/0.50.0_release.py +0 -1
  849. zenml/zen_stores/migrations/versions/0.51.0_release.py +0 -1
  850. zenml/zen_stores/migrations/versions/0.52.0_release.py +0 -1
  851. zenml/zen_stores/migrations/versions/0.53.0_release.py +0 -1
  852. zenml/zen_stores/migrations/versions/0.53.1_release.py +0 -1
  853. zenml/zen_stores/migrations/versions/0.54.0_release.py +0 -1
  854. zenml/zen_stores/migrations/versions/0.54.1_release.py +0 -1
  855. zenml/zen_stores/migrations/versions/0.55.0_release.py +0 -1
  856. zenml/zen_stores/migrations/versions/0.55.1_release.py +23 -0
  857. zenml/zen_stores/migrations/versions/0.55.2_release.py +23 -0
  858. zenml/zen_stores/migrations/versions/0.55.3_release.py +23 -0
  859. zenml/zen_stores/migrations/versions/0.55.4_release.py +23 -0
  860. zenml/zen_stores/migrations/versions/0.55.5_release.py +23 -0
  861. zenml/zen_stores/migrations/versions/0.56.0_release.py +23 -0
  862. zenml/zen_stores/migrations/versions/0.56.1_release.py +23 -0
  863. zenml/zen_stores/migrations/versions/0.56.2_release.py +23 -0
  864. zenml/zen_stores/migrations/versions/0.56.3_release.py +23 -0
  865. zenml/zen_stores/migrations/versions/0.56.4_release.py +23 -0
  866. zenml/zen_stores/migrations/versions/0.57.0.rc1_release.py +23 -0
  867. zenml/zen_stores/migrations/versions/0.57.0.rc2_release.py +23 -0
  868. zenml/zen_stores/migrations/versions/0.57.0_release.py +23 -0
  869. zenml/zen_stores/migrations/versions/0.57.1_release.py +23 -0
  870. zenml/zen_stores/migrations/versions/0.58.0_release.py +23 -0
  871. zenml/zen_stores/migrations/versions/0.58.1_release.py +23 -0
  872. zenml/zen_stores/migrations/versions/0.58.2_release.py +23 -0
  873. zenml/zen_stores/migrations/versions/0.60.0_release.py +23 -0
  874. zenml/zen_stores/migrations/versions/0.61.0_release.py +23 -0
  875. zenml/zen_stores/migrations/versions/0.62.0_release.py +23 -0
  876. zenml/zen_stores/migrations/versions/0.63.0_release.py +23 -0
  877. zenml/zen_stores/migrations/versions/0.64.0_release.py +23 -0
  878. zenml/zen_stores/migrations/versions/0.65.0_release.py +23 -0
  879. zenml/zen_stores/migrations/versions/0.66.0_release.py +23 -0
  880. zenml/zen_stores/migrations/versions/0.67.0_release.py +23 -0
  881. zenml/zen_stores/migrations/versions/0.68.0_release.py +23 -0
  882. zenml/zen_stores/migrations/versions/0.68.1_release.py +23 -0
  883. zenml/zen_stores/migrations/versions/0.70.0_release.py +23 -0
  884. zenml/zen_stores/migrations/versions/0.71.0_release.py +23 -0
  885. zenml/zen_stores/migrations/versions/0.72.0_release.py +23 -0
  886. zenml/zen_stores/migrations/versions/026d4577b6a0_add_code_path.py +39 -0
  887. zenml/zen_stores/migrations/versions/03742aa7fdd7_add_secrets.py +1 -0
  888. zenml/zen_stores/migrations/versions/0701da9951a0_added_service_table.py +94 -0
  889. zenml/zen_stores/migrations/versions/0b06faa59c93_add_service_connectors.py +1 -0
  890. zenml/zen_stores/migrations/versions/0d707865f404_adding_labels_to_stacks.py +30 -0
  891. zenml/zen_stores/migrations/versions/0e4735b23577_increase_pipeline_spec_field_length.py +1 -0
  892. zenml/zen_stores/migrations/versions/1041bc644e0d_remove_secrets_manager.py +6 -3
  893. zenml/zen_stores/migrations/versions/10a907dad202_delete_mlmd_tables.py +2 -1
  894. zenml/zen_stores/migrations/versions/14d687c8fa1c_rename_model_config_to_model_version.py +1 -0
  895. zenml/zen_stores/migrations/versions/19f27d5b234e_add_build_and_deployment_tables.py +1 -0
  896. zenml/zen_stores/migrations/versions/1a9a9d2a836d_admin_users.py +56 -0
  897. zenml/zen_stores/migrations/versions/1ac1b9c04da1_make_secrets_values_optional.py +1 -0
  898. zenml/zen_stores/migrations/versions/1cb6477f72d6_move_artifact_save_type.py +99 -0
  899. zenml/zen_stores/migrations/versions/1d74e596abb8_add_run_once_start_time_to_schedule.py +36 -0
  900. zenml/zen_stores/migrations/versions/1d8f30c54477_migrate_to_new_.py +124 -0
  901. zenml/zen_stores/migrations/versions/248dfd320b68_update_size_of_flavor_config_schema.py +1 -0
  902. zenml/zen_stores/migrations/versions/25155145c545_separate_actions_and_triggers.py +228 -0
  903. zenml/zen_stores/migrations/versions/26351d482b9e_add_step_run_unique_constraint.py +37 -0
  904. zenml/zen_stores/migrations/versions/26b776ad583e_redesign_artifacts.py +9 -10
  905. zenml/zen_stores/migrations/versions/2d201872e23c_remove_db_dependency_loop.py +29 -0
  906. zenml/zen_stores/migrations/versions/37835ce041d2_optimizing_database.py +4 -3
  907. zenml/zen_stores/migrations/versions/389046140cad_data_versioning.py +1 -0
  908. zenml/zen_stores/migrations/versions/3944116bbd56_rename_project_to_workspace.py +1 -0
  909. zenml/zen_stores/migrations/versions/3b68abe58f44_add_model_watchtower_entities.py +1 -0
  910. zenml/zen_stores/migrations/versions/3c5a367730c2_add_environment_info_to_runs.py +1 -0
  911. zenml/zen_stores/migrations/versions/3dcc5d20e82f_add_last_user_activity.py +51 -0
  912. zenml/zen_stores/migrations/versions/43a86093b60e_add_labels_for_stack_components.py +1 -0
  913. zenml/zen_stores/migrations/versions/46506f72f0ed_add_server_settings.py +123 -0
  914. zenml/zen_stores/migrations/versions/479103df60b6_add_triggers.py +162 -0
  915. zenml/zen_stores/migrations/versions/4a3087070f4e_add_step_source_code.py +1 -0
  916. zenml/zen_stores/migrations/versions/4c41c0ca42db_add_code_repository_table.py +1 -0
  917. zenml/zen_stores/migrations/versions/4d688d8f7aff_rename_model_version_to_model.py +1 -0
  918. zenml/zen_stores/migrations/versions/4e1972485075_endpoint_artifact_deployment_artifact.py +1 -0
  919. zenml/zen_stores/migrations/versions/4f66af55fbb9_rename_model_config_model_to_model_.py +1 -0
  920. zenml/zen_stores/migrations/versions/5330ba58bf20_rename_tables_and_foreign_keys.py +8 -9
  921. zenml/zen_stores/migrations/versions/5994f9ad0489_introduce_role_permissions.py +4 -2
  922. zenml/zen_stores/migrations/versions/5cc3f41cf048_add_save_models_to_registry.py +1 -0
  923. zenml/zen_stores/migrations/versions/6119cd9b93c2_tags_table.py +1 -0
  924. zenml/zen_stores/migrations/versions/623a234c11f5_add_sdk_docs_url_to_flavors.py +1 -0
  925. zenml/zen_stores/migrations/versions/6917bce75069_add_pipeline_run_unique_constraint.py +5 -4
  926. zenml/zen_stores/migrations/versions/6a28c4fd0ef2_add_caching_info.py +1 -0
  927. zenml/zen_stores/migrations/versions/6f707b385dc1_fix_model_artifacts.py +1 -0
  928. zenml/zen_stores/migrations/versions/722392c91006_make_is_service_account_mandatory.py +1 -0
  929. zenml/zen_stores/migrations/versions/72675226b2de_unique_users.py +31 -0
  930. zenml/zen_stores/migrations/versions/72722dee4686_track_server_version.py +1 -0
  931. zenml/zen_stores/migrations/versions/7280c14811d6_use_text_type.py +1 -0
  932. zenml/zen_stores/migrations/versions/728c6369cfaa_add_name_column_to_input_artifact_pk.py +4 -2
  933. zenml/zen_stores/migrations/versions/729263e47b55_fix_external_input_artifacts.py +1 -0
  934. zenml/zen_stores/migrations/versions/743ec82b1b3c_update_size_of_build_images.py +3 -2
  935. zenml/zen_stores/migrations/versions/7500f434b71c_remove_shared_columns.py +4 -2
  936. zenml/zen_stores/migrations/versions/76a7b9451ccd_add_build_template_deployment_id.py +52 -0
  937. zenml/zen_stores/migrations/versions/7834208cc3f6_artifact_project_scoping.py +9 -7
  938. zenml/zen_stores/migrations/versions/7b651bf6822e_track_secrets_in_db.py +7 -7
  939. zenml/zen_stores/migrations/versions/7d1919bb1ef0_add_run_templates.py +100 -0
  940. zenml/zen_stores/migrations/versions/7e4a481d17f7_add_identity_table.py +3 -2
  941. zenml/zen_stores/migrations/versions/7f603e583dd7_fixed_migration.py +2 -1
  942. zenml/zen_stores/migrations/versions/86fa52918b54_remove_teams_and_roles.py +1 -0
  943. zenml/zen_stores/migrations/versions/8a64fbfecda0_add_num_outputs_to_run_step.py +1 -0
  944. zenml/zen_stores/migrations/versions/8ed03137cacc_polymorthic_run_metadata.py +1 -0
  945. zenml/zen_stores/migrations/versions/904464ea4041_add_pipeline_model_run_unique_constraints.py +192 -0
  946. zenml/zen_stores/migrations/versions/909550c7c4da_remove_user_hub_token.py +36 -0
  947. zenml/zen_stores/migrations/versions/93cbda80a732_add_service_accounts.py +1 -0
  948. zenml/zen_stores/migrations/versions/979eff8fc4b1_add_code_repo_description_and_logo_url.py +1 -0
  949. zenml/zen_stores/migrations/versions/9971237fa937_artifact_visualizations.py +1 -0
  950. zenml/zen_stores/migrations/versions/9d8020441014_increase_step_configuration_length.py +1 -0
  951. zenml/zen_stores/migrations/versions/a1237ba94fd8_add_model_version_producer_run_unique_.py +68 -0
  952. zenml/zen_stores/migrations/versions/a39c4184c8ce_remove_secrets_manager_flavors.py +3 -2
  953. zenml/zen_stores/migrations/versions/a91762e6be36_artifact_version_table.py +5 -4
  954. zenml/zen_stores/migrations/versions/ade72effebaf_added_logs_table.py +1 -0
  955. zenml/zen_stores/migrations/versions/alembic_start.py +2 -1
  956. zenml/zen_stores/migrations/versions/b4eccf34dfa3_add_hub_token_to_user_model.py +1 -0
  957. zenml/zen_stores/migrations/versions/b4fca5241eea_migrate_onboarding_state.py +167 -0
  958. zenml/zen_stores/migrations/versions/b557b2871693_update_step_run_input_types.py +33 -0
  959. zenml/zen_stores/migrations/versions/b59aa68fdb1f_simplify_pipelines.py +139 -0
  960. zenml/zen_stores/migrations/versions/b73bc71f1106_remove_component_spec_path.py +36 -0
  961. zenml/zen_stores/migrations/versions/bf2120261b5a_add_configured_model_version_id.py +74 -0
  962. zenml/zen_stores/migrations/versions/c1b18cec3a48_increase_length_on_flavor_config_schema.py +1 -0
  963. zenml/zen_stores/migrations/versions/c22561cbb3a9_add_artifact_unique_constraints.py +86 -0
  964. zenml/zen_stores/migrations/versions/cc269488e5a9_separate_run_metadata.py +135 -0
  965. zenml/zen_stores/migrations/versions/cc9894cb58aa_add_user_metadata.py +41 -0
  966. zenml/zen_stores/migrations/versions/ccd68b7825ae_add_status_to_pipeline_and_step_run.py +1 -0
  967. zenml/zen_stores/migrations/versions/d02b3d3464cf_add_orchestrator_run_id_column.py +1 -0
  968. zenml/zen_stores/migrations/versions/d26471b6fe8f_update_build_filtering.py +1 -0
  969. zenml/zen_stores/migrations/versions/d7b3acf9aa46_create_schedule_table.py +1 -0
  970. zenml/zen_stores/migrations/versions/e1d66d91a099_add_stack_and_component_spec_paths_to_.py +1 -0
  971. zenml/zen_stores/migrations/versions/e5225281b4d3_add_connector_skew_tolerance.py +1 -0
  972. zenml/zen_stores/migrations/versions/e65aa6708ff7_pipeline_versioning.py +1 -0
  973. zenml/zen_stores/migrations/versions/ec0d785ca296_create_run_metadata_table.py +1 -0
  974. zenml/zen_stores/migrations/versions/ec6307720f92_simplify_model_version_links.py +119 -0
  975. zenml/zen_stores/migrations/versions/f3b3964e3a0f_add_oauth_devices.py +1 -0
  976. zenml/zen_stores/migrations/versions/f49904a80aa7_increase_length_of_artifact_table_sources.py +1 -0
  977. zenml/zen_stores/migrations/versions/fbd7f18ced1e_increase_step_run_field_lengths.py +5 -4
  978. zenml/zen_stores/rest_zen_store.py +1315 -304
  979. zenml/zen_stores/schemas/__init__.py +22 -3
  980. zenml/zen_stores/schemas/action_schemas.py +192 -0
  981. zenml/zen_stores/schemas/api_key_schemas.py +23 -10
  982. zenml/zen_stores/schemas/artifact_schemas.py +112 -49
  983. zenml/zen_stores/schemas/artifact_visualization_schemas.py +17 -8
  984. zenml/zen_stores/schemas/base_schemas.py +27 -0
  985. zenml/zen_stores/schemas/code_repository_schemas.py +25 -10
  986. zenml/zen_stores/schemas/component_schemas.py +74 -11
  987. zenml/zen_stores/schemas/constants.py +16 -0
  988. zenml/zen_stores/schemas/device_schemas.py +29 -15
  989. zenml/zen_stores/schemas/event_source_schemas.py +188 -0
  990. zenml/zen_stores/schemas/flavor_schemas.py +19 -9
  991. zenml/zen_stores/schemas/logs_schemas.py +12 -6
  992. zenml/zen_stores/schemas/model_schemas.py +192 -139
  993. zenml/zen_stores/schemas/pipeline_build_schemas.py +16 -16
  994. zenml/zen_stores/schemas/pipeline_deployment_schemas.py +58 -17
  995. zenml/zen_stores/schemas/pipeline_run_schemas.py +170 -35
  996. zenml/zen_stores/schemas/pipeline_schemas.py +51 -33
  997. zenml/zen_stores/schemas/run_metadata_schemas.py +28 -78
  998. zenml/zen_stores/schemas/run_template_schemas.py +267 -0
  999. zenml/zen_stores/schemas/schedule_schema.py +15 -5
  1000. zenml/zen_stores/schemas/secret_schemas.py +18 -10
  1001. zenml/zen_stores/schemas/server_settings_schemas.py +129 -0
  1002. zenml/zen_stores/schemas/service_connector_schemas.py +13 -6
  1003. zenml/zen_stores/schemas/service_schemas.py +258 -0
  1004. zenml/zen_stores/schemas/stack_schemas.py +23 -6
  1005. zenml/zen_stores/schemas/step_run_schemas.py +132 -41
  1006. zenml/zen_stores/schemas/tag_schemas.py +31 -50
  1007. zenml/zen_stores/schemas/trigger_schemas.py +316 -0
  1008. zenml/zen_stores/schemas/user_schemas.py +66 -23
  1009. zenml/zen_stores/schemas/utils.py +112 -0
  1010. zenml/zen_stores/schemas/workspace_schemas.py +36 -19
  1011. zenml/zen_stores/secrets_stores/aws_secrets_store.py +41 -32
  1012. zenml/zen_stores/secrets_stores/azure_secrets_store.py +20 -23
  1013. zenml/zen_stores/secrets_stores/base_secrets_store.py +80 -12
  1014. zenml/zen_stores/secrets_stores/gcp_secrets_store.py +42 -33
  1015. zenml/zen_stores/secrets_stores/hashicorp_secrets_store.py +7 -11
  1016. zenml/zen_stores/secrets_stores/secrets_store_interface.py +1 -0
  1017. zenml/zen_stores/secrets_stores/service_connector_secrets_store.py +15 -8
  1018. zenml/zen_stores/secrets_stores/sql_secrets_store.py +8 -9
  1019. zenml/zen_stores/sql_zen_store.py +4062 -799
  1020. zenml/zen_stores/template_utils.py +263 -0
  1021. zenml/zen_stores/zen_store_interface.py +614 -44
  1022. zenml_nightly-0.72.0.dev20250115.dist-info/METADATA +484 -0
  1023. zenml_nightly-0.72.0.dev20250115.dist-info/RECORD +1292 -0
  1024. {zenml_nightly-0.55.0.dev20240124.dist-info → zenml_nightly-0.72.0.dev20250115.dist-info}/WHEEL +1 -1
  1025. CLA.md +0 -110
  1026. CODE-OF-CONDUCT.md +0 -132
  1027. CONTRIBUTING.md +0 -260
  1028. README.md +0 -304
  1029. RELEASE_NOTES.md +0 -3919
  1030. ROADMAP.md +0 -5
  1031. SECURITY.md +0 -15
  1032. zenml/_hub/client.py +0 -285
  1033. zenml/_hub/constants.py +0 -21
  1034. zenml/_hub/utils.py +0 -80
  1035. zenml/api.py +0 -61
  1036. zenml/cli/hub.py +0 -1115
  1037. zenml/cli/stack_recipes.py +0 -469
  1038. zenml/integrations/gcp/google_cloud_function.py +0 -187
  1039. zenml/integrations/gcp/google_cloud_scheduler.py +0 -83
  1040. zenml/integrations/gcp/orchestrators/vertex_scheduler/main.py +0 -91
  1041. zenml/integrations/gcp/orchestrators/vertex_scheduler/requirements.txt +0 -2
  1042. zenml/integrations/kserve/__init__.py +0 -57
  1043. zenml/integrations/kserve/custom_deployer/zenml_custom_model.py +0 -175
  1044. zenml/integrations/kserve/flavors/kserve_model_deployer_flavor.py +0 -137
  1045. zenml/integrations/kserve/model_deployers/kserve_model_deployer.py +0 -1003
  1046. zenml/integrations/kserve/secret_schemas/secret_schemas.py +0 -65
  1047. zenml/integrations/kserve/services/kserve_deployment.py +0 -596
  1048. zenml/integrations/kserve/steps/__init__.py +0 -22
  1049. zenml/integrations/kserve/steps/kserve_deployer.py +0 -472
  1050. zenml/integrations/kserve/steps/kserve_step_utils.py +0 -293
  1051. zenml/integrations/kubeflow/utils.py +0 -96
  1052. zenml/lineage_graph/lineage_graph.py +0 -244
  1053. zenml/lineage_graph/node/artifact_node.py +0 -52
  1054. zenml/lineage_graph/node/step_node.py +0 -41
  1055. zenml/models/v2/base/internal.py +0 -37
  1056. zenml/models/v2/base/update.py +0 -40
  1057. zenml/models/v2/misc/hub_plugin_models.py +0 -79
  1058. zenml/new/pipelines/deserialization_utils.py +0 -291
  1059. zenml/new/pipelines/model_utils.py +0 -72
  1060. zenml/new/pipelines/pipeline_decorator.py +0 -109
  1061. zenml/new/steps/step_decorator.py +0 -160
  1062. zenml/pipelines/base_pipeline.py +0 -274
  1063. zenml/post_execution/pipeline.py +0 -58
  1064. zenml/post_execution/pipeline_run.py +0 -55
  1065. zenml/services/service_registry.py +0 -214
  1066. zenml/services/terraform/__init__.py +0 -14
  1067. zenml/services/terraform/terraform_service.py +0 -441
  1068. zenml/steps/step_environment.py +0 -108
  1069. zenml/steps/step_output.py +0 -36
  1070. zenml/utils/mlstacks_utils.py +0 -635
  1071. zenml/utils/terraform_utils.py +0 -42
  1072. zenml/zen_server/dashboard/_redirects +0 -1
  1073. zenml/zen_server/dashboard/asset-manifest.json +0 -131
  1074. zenml/zen_server/dashboard/manifest.json +0 -25
  1075. zenml/zen_server/dashboard/precache-manifest.c139638dcc4d9d3425353266447a2fad.js +0 -462
  1076. zenml/zen_server/dashboard/robots.txt +0 -2
  1077. zenml/zen_server/dashboard/service-worker.js +0 -39
  1078. zenml/zen_server/dashboard/static/css/2.5b37d44a.chunk.css +0 -16
  1079. zenml/zen_server/dashboard/static/css/2.5b37d44a.chunk.css.map +0 -1
  1080. zenml/zen_server/dashboard/static/css/main.77e46c35.chunk.css +0 -2
  1081. zenml/zen_server/dashboard/static/css/main.77e46c35.chunk.css.map +0 -1
  1082. zenml/zen_server/dashboard/static/js/2.bb4cef22.chunk.js +0 -3
  1083. zenml/zen_server/dashboard/static/js/2.bb4cef22.chunk.js.LICENSE.txt +0 -95
  1084. zenml/zen_server/dashboard/static/js/2.bb4cef22.chunk.js.map +0 -1
  1085. zenml/zen_server/dashboard/static/js/main.270838b4.chunk.js +0 -2
  1086. zenml/zen_server/dashboard/static/js/main.270838b4.chunk.js.map +0 -1
  1087. zenml/zen_server/dashboard/static/js/runtime-main.bfca2edd.js +0 -2
  1088. zenml/zen_server/dashboard/static/js/runtime-main.bfca2edd.js.map +0 -1
  1089. zenml/zen_server/dashboard/static/media/AlertTriangle.28aee535.svg +0 -5
  1090. zenml/zen_server/dashboard/static/media/ArrowSquareOut.abfb9bc7.svg +0 -5
  1091. zenml/zen_server/dashboard/static/media/Back.86c23a22.svg +0 -4
  1092. zenml/zen_server/dashboard/static/media/BookOpen.5cb101ff.svg +0 -4
  1093. zenml/zen_server/dashboard/static/media/BoundingBox.1eb98717.svg +0 -10
  1094. zenml/zen_server/dashboard/static/media/Burger.9b1c67d7.svg +0 -3
  1095. zenml/zen_server/dashboard/static/media/Cached.2381fb8d.svg +0 -1
  1096. zenml/zen_server/dashboard/static/media/Calendar.356e11c7.svg +0 -3
  1097. zenml/zen_server/dashboard/static/media/ChartBarHorizontal.0247447b.svg +0 -6
  1098. zenml/zen_server/dashboard/static/media/ChartLine.0d79e18d.svg +0 -4
  1099. zenml/zen_server/dashboard/static/media/ChatDots.2e1c9211.svg +0 -6
  1100. zenml/zen_server/dashboard/static/media/Check.dad6beb2.svg +0 -3
  1101. zenml/zen_server/dashboard/static/media/CheckCircleFilled.c19566d0.svg +0 -3
  1102. zenml/zen_server/dashboard/static/media/Checkbox.af50e31e.svg +0 -3
  1103. zenml/zen_server/dashboard/static/media/ChevronDown.f860ce32.svg +0 -3
  1104. zenml/zen_server/dashboard/static/media/ChevronDownLight.6642d756.svg +0 -3
  1105. zenml/zen_server/dashboard/static/media/ChevronLeft.f6edfcdb.svg +0 -3
  1106. zenml/zen_server/dashboard/static/media/CircleCheck.f98fd6ca.svg +0 -1
  1107. zenml/zen_server/dashboard/static/media/Clock.ffc9de95.svg +0 -3
  1108. zenml/zen_server/dashboard/static/media/Close.74e9efbc.svg +0 -5
  1109. zenml/zen_server/dashboard/static/media/CloseWithBorder.6960930a.svg +0 -3
  1110. zenml/zen_server/dashboard/static/media/CloseWithoutBorder.cd6f71df.svg +0 -3
  1111. zenml/zen_server/dashboard/static/media/CloudArrowUp.0aecb235.svg +0 -6
  1112. zenml/zen_server/dashboard/static/media/Code.ef0f33b5.svg +0 -3
  1113. zenml/zen_server/dashboard/static/media/Config.0be63f8a.svg +0 -1
  1114. zenml/zen_server/dashboard/static/media/Connector.9fd46ef1.svg +0 -10
  1115. zenml/zen_server/dashboard/static/media/Copy.36e2112a.svg +0 -1
  1116. zenml/zen_server/dashboard/static/media/Dashboard.d05787e0.svg +0 -3
  1117. zenml/zen_server/dashboard/static/media/Data.b1c3b5f8.svg +0 -3
  1118. zenml/zen_server/dashboard/static/media/Delete.3c361b28.svg +0 -8
  1119. zenml/zen_server/dashboard/static/media/Docs.7541d478.svg +0 -7
  1120. zenml/zen_server/dashboard/static/media/Download.fba04d87.svg +0 -5
  1121. zenml/zen_server/dashboard/static/media/Edit.490eb294.svg +0 -6
  1122. zenml/zen_server/dashboard/static/media/EmptyRightArrow.23749d01.svg +0 -3
  1123. zenml/zen_server/dashboard/static/media/Example.6396cd37.svg +0 -5
  1124. zenml/zen_server/dashboard/static/media/Extension.1394cd4a.svg +0 -3
  1125. zenml/zen_server/dashboard/static/media/Eye.d9e4ee62.svg +0 -4
  1126. zenml/zen_server/dashboard/static/media/Failed.0213c1a0.svg +0 -1
  1127. zenml/zen_server/dashboard/static/media/FileText.1f15bacd.svg +0 -7
  1128. zenml/zen_server/dashboard/static/media/Filter.ab6b9c0d.svg +0 -3
  1129. zenml/zen_server/dashboard/static/media/Folders.12b29887.svg +0 -5
  1130. zenml/zen_server/dashboard/static/media/FunnelFill.6df4c143.svg +0 -3
  1131. zenml/zen_server/dashboard/static/media/GitCommit.7dd9c2aa.svg +0 -5
  1132. zenml/zen_server/dashboard/static/media/GitHub_Logo.cefc2023.png +0 -0
  1133. zenml/zen_server/dashboard/static/media/Graph.2c63a892.svg +0 -11
  1134. zenml/zen_server/dashboard/static/media/History.08329240.svg +0 -3
  1135. zenml/zen_server/dashboard/static/media/Home.0843b0d5.svg +0 -3
  1136. zenml/zen_server/dashboard/static/media/ImageBuilder.ea762d9c.svg +0 -6
  1137. zenml/zen_server/dashboard/static/media/InProgress.304a0edc.svg +0 -1
  1138. zenml/zen_server/dashboard/static/media/Info.9fe10c5c.svg +0 -3
  1139. zenml/zen_server/dashboard/static/media/KeyboardReturn.491afbe3.svg +0 -3
  1140. zenml/zen_server/dashboard/static/media/Link.72bbb55d.svg +0 -4
  1141. zenml/zen_server/dashboard/static/media/Lock.30f5e1fe.svg +0 -5
  1142. zenml/zen_server/dashboard/static/media/Lock2.a769ea52.svg +0 -3
  1143. zenml/zen_server/dashboard/static/media/LockKey.92f21621.svg +0 -6
  1144. zenml/zen_server/dashboard/static/media/Logs.8bf4d005.svg +0 -5
  1145. zenml/zen_server/dashboard/static/media/MinusCircle.4188f418.svg +0 -4
  1146. zenml/zen_server/dashboard/static/media/ModelRegistry.f0de050a.svg +0 -6
  1147. zenml/zen_server/dashboard/static/media/MultiUser.a2ba7c67.svg +0 -10
  1148. zenml/zen_server/dashboard/static/media/PaginationFirst.92628634.svg +0 -4
  1149. zenml/zen_server/dashboard/static/media/PaginationLast.00d3c732.svg +0 -4
  1150. zenml/zen_server/dashboard/static/media/PaginationNext.86158845.svg +0 -3
  1151. zenml/zen_server/dashboard/static/media/PaginationPrev.60c18a88.svg +0 -3
  1152. zenml/zen_server/dashboard/static/media/Pen.f2d831d4.svg +0 -6
  1153. zenml/zen_server/dashboard/static/media/PhotoCamera.179d6d4c.svg +0 -3
  1154. zenml/zen_server/dashboard/static/media/Pipeline.30d298b0.svg +0 -7
  1155. zenml/zen_server/dashboard/static/media/Plus.5aa1c16b.svg +0 -3
  1156. zenml/zen_server/dashboard/static/media/PlusCircle.92d860dd.svg +0 -5
  1157. zenml/zen_server/dashboard/static/media/Repositories.71a36b8c.svg +0 -3
  1158. zenml/zen_server/dashboard/static/media/RightArrow.f30d3871.svg +0 -29
  1159. zenml/zen_server/dashboard/static/media/Rocket.63bf7b9d.svg +0 -3
  1160. zenml/zen_server/dashboard/static/media/RocketLaunch.1bff2b59.svg +0 -6
  1161. zenml/zen_server/dashboard/static/media/Rubik-Medium.c87313aa.ttf +0 -0
  1162. zenml/zen_server/dashboard/static/media/Rubik-Regular.b3d0902b.ttf +0 -0
  1163. zenml/zen_server/dashboard/static/media/Run.daec4fb2.svg +0 -6
  1164. zenml/zen_server/dashboard/static/media/Search.d1afcce5.svg +0 -4
  1165. zenml/zen_server/dashboard/static/media/Settings.59ca73ae.svg +0 -4
  1166. zenml/zen_server/dashboard/static/media/Share2.46c3ff66.svg +0 -3
  1167. zenml/zen_server/dashboard/static/media/SignOut.6aa718c5.svg +0 -3
  1168. zenml/zen_server/dashboard/static/media/SimplePlus.5cf7ec20.svg +0 -3
  1169. zenml/zen_server/dashboard/static/media/SingleUser.bef3a095.svg +0 -4
  1170. zenml/zen_server/dashboard/static/media/SourceCodePro-Regular.b484b32f.ttf +0 -0
  1171. zenml/zen_server/dashboard/static/media/Stack.19b604ac.svg +0 -5
  1172. zenml/zen_server/dashboard/static/media/StackComponent.b1ba90b5.svg +0 -4
  1173. zenml/zen_server/dashboard/static/media/Star.f0c25022.svg +0 -9
  1174. zenml/zen_server/dashboard/static/media/StarOutline.94ca8cd9.svg +0 -3
  1175. zenml/zen_server/dashboard/static/media/Storefront.4b4796fe.svg +0 -3
  1176. zenml/zen_server/dashboard/static/media/Stream.543e3039.svg +0 -3
  1177. zenml/zen_server/dashboard/static/media/SupportAgent.510ddf1f.svg +0 -8
  1178. zenml/zen_server/dashboard/static/media/Table.77033750.svg +0 -6
  1179. zenml/zen_server/dashboard/static/media/Tool.d5785486.svg +0 -3
  1180. zenml/zen_server/dashboard/static/media/UserPlus.741a99d7.svg +0 -6
  1181. zenml/zen_server/dashboard/static/media/Verified.0625b2a0.svg +0 -3
  1182. zenml/zen_server/dashboard/static/media/addNew.4fb6c939.svg +0 -8
  1183. zenml/zen_server/dashboard/static/media/arrowClose.cbd53f3f.svg +0 -3
  1184. zenml/zen_server/dashboard/static/media/arrowOpen.6ceef0af.svg +0 -3
  1185. zenml/zen_server/dashboard/static/media/check_small.30bc0138.svg +0 -3
  1186. zenml/zen_server/dashboard/static/media/circleArrowSideClose.98d6013e.svg +0 -18
  1187. zenml/zen_server/dashboard/static/media/circleArrowSideOpen.63653df6.svg +0 -18
  1188. zenml/zen_server/dashboard/static/media/image.104fd14b.png +0 -0
  1189. zenml/zen_server/dashboard/static/media/imageAddIcon.e83004a9.svg +0 -7
  1190. zenml/zen_server/dashboard/static/media/logo.93333e5c.svg +0 -1
  1191. zenml/zen_server/dashboard/static/media/logo_small.4204397d.svg +0 -3
  1192. zenml/zen_server/dashboard/static/media/logo_white.d4b4414e.svg +0 -20
  1193. zenml/zen_server/dashboard/static/media/notConnected.5e2c8ea7.svg +0 -8
  1194. zenml/zen_server/dashboard/static/media/plugin-fallback.72c294e6.svg +0 -6
  1195. zenml/zen_server/dashboard/static/media/share.bcd998b0.svg +0 -5
  1196. zenml/zen_server/dashboard/static/media/stars.08a9b19a.svg +0 -8
  1197. zenml/zen_server/deploy/terraform/__init__.py +0 -41
  1198. zenml/zen_server/deploy/terraform/providers/__init__.py +0 -14
  1199. zenml/zen_server/deploy/terraform/providers/aws_provider.py +0 -61
  1200. zenml/zen_server/deploy/terraform/providers/azure_provider.py +0 -59
  1201. zenml/zen_server/deploy/terraform/providers/gcp_provider.py +0 -59
  1202. zenml/zen_server/deploy/terraform/providers/terraform_provider.py +0 -332
  1203. zenml/zen_server/deploy/terraform/recipes/aws/.gitignore +0 -8
  1204. zenml/zen_server/deploy/terraform/recipes/aws/helm.tf +0 -20
  1205. zenml/zen_server/deploy/terraform/recipes/aws/ingress.tf +0 -30
  1206. zenml/zen_server/deploy/terraform/recipes/aws/outputs.tf +0 -14
  1207. zenml/zen_server/deploy/terraform/recipes/aws/printf.cmd +0 -2
  1208. zenml/zen_server/deploy/terraform/recipes/aws/sql.tf +0 -62
  1209. zenml/zen_server/deploy/terraform/recipes/aws/terraform.tf +0 -44
  1210. zenml/zen_server/deploy/terraform/recipes/aws/variables.tf +0 -179
  1211. zenml/zen_server/deploy/terraform/recipes/aws/vpc.tf +0 -47
  1212. zenml/zen_server/deploy/terraform/recipes/aws/zen_server.tf +0 -111
  1213. zenml/zen_server/deploy/terraform/recipes/azure/.gitignore +0 -8
  1214. zenml/zen_server/deploy/terraform/recipes/azure/helm.tf +0 -20
  1215. zenml/zen_server/deploy/terraform/recipes/azure/ingress.tf +0 -30
  1216. zenml/zen_server/deploy/terraform/recipes/azure/key_vault.tf +0 -73
  1217. zenml/zen_server/deploy/terraform/recipes/azure/outputs.tf +0 -14
  1218. zenml/zen_server/deploy/terraform/recipes/azure/printf.cmd +0 -2
  1219. zenml/zen_server/deploy/terraform/recipes/azure/rg.tf +0 -36
  1220. zenml/zen_server/deploy/terraform/recipes/azure/sql.tf +0 -65
  1221. zenml/zen_server/deploy/terraform/recipes/azure/terraform.tf +0 -52
  1222. zenml/zen_server/deploy/terraform/recipes/azure/variables.tf +0 -188
  1223. zenml/zen_server/deploy/terraform/recipes/azure/zen_server.tf +0 -111
  1224. zenml/zen_server/deploy/terraform/recipes/gcp/.gitignore +0 -8
  1225. zenml/zen_server/deploy/terraform/recipes/gcp/helm.tf +0 -20
  1226. zenml/zen_server/deploy/terraform/recipes/gcp/ingress.tf +0 -30
  1227. zenml/zen_server/deploy/terraform/recipes/gcp/outputs.tf +0 -14
  1228. zenml/zen_server/deploy/terraform/recipes/gcp/printf.cmd +0 -2
  1229. zenml/zen_server/deploy/terraform/recipes/gcp/sql.tf +0 -64
  1230. zenml/zen_server/deploy/terraform/recipes/gcp/terraform.tf +0 -44
  1231. zenml/zen_server/deploy/terraform/recipes/gcp/variables.tf +0 -183
  1232. zenml/zen_server/deploy/terraform/recipes/gcp/zen_server.tf +0 -122
  1233. zenml/zen_server/deploy/terraform/terraform_zen_server.py +0 -255
  1234. zenml/zen_server/routers/run_metadata_endpoints.py +0 -97
  1235. zenml_nightly-0.55.0.dev20240124.dist-info/METADATA +0 -438
  1236. zenml_nightly-0.55.0.dev20240124.dist-info/RECORD +0 -1072
  1237. {zenml_nightly-0.55.0.dev20240124.dist-info → zenml_nightly-0.72.0.dev20250115.dist-info}/LICENSE +0 -0
  1238. {zenml_nightly-0.55.0.dev20240124.dist-info → zenml_nightly-0.72.0.dev20250115.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,223 @@
1
+ # Copyright (c) ZenML GmbH 2024. 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
+ """Example file of what an action Plugin could look like."""
15
+
16
+ from typing import Any, ClassVar, Dict, Optional, Type
17
+ from uuid import UUID
18
+
19
+ from zenml.actions.base_action import (
20
+ ActionConfig,
21
+ BaseActionFlavor,
22
+ BaseActionHandler,
23
+ )
24
+ from zenml.config.global_config import GlobalConfiguration
25
+ from zenml.config.pipeline_run_configuration import PipelineRunConfiguration
26
+ from zenml.enums import PluginSubType
27
+ from zenml.logger import get_logger
28
+ from zenml.models import (
29
+ ActionRequest,
30
+ ActionResponse,
31
+ ActionUpdate,
32
+ TriggerExecutionResponse,
33
+ )
34
+ from zenml.models.v2.base.base import BaseResponse
35
+ from zenml.zen_server.auth import AuthContext
36
+ from zenml.zen_server.rbac.models import ResourceType
37
+ from zenml.zen_server.template_execution.utils import run_template
38
+ from zenml.zen_server.utils import server_config
39
+
40
+ logger = get_logger(__name__)
41
+
42
+ # -------------------- Configuration Models ----------------------------------
43
+
44
+
45
+ class PipelineRunActionConfiguration(ActionConfig):
46
+ """Configuration class to configure a pipeline run action."""
47
+
48
+ template_id: UUID
49
+ run_config: Optional[PipelineRunConfiguration] = None
50
+
51
+
52
+ # -------------------- Pipeline Run Plugin -----------------------------------
53
+
54
+
55
+ class PipelineRunActionHandler(BaseActionHandler):
56
+ """Action handler for running pipelines."""
57
+
58
+ @property
59
+ def config_class(self) -> Type[PipelineRunActionConfiguration]:
60
+ """Returns the `BasePluginConfig` config.
61
+
62
+ Returns:
63
+ The configuration.
64
+ """
65
+ return PipelineRunActionConfiguration
66
+
67
+ @property
68
+ def flavor_class(self) -> Type[BaseActionFlavor]:
69
+ """Returns the flavor class of the plugin.
70
+
71
+ Returns:
72
+ The flavor class of the plugin.
73
+ """
74
+ return PipelineRunActionFlavor
75
+
76
+ def run(
77
+ self,
78
+ config: ActionConfig,
79
+ trigger_execution: TriggerExecutionResponse,
80
+ auth_context: AuthContext,
81
+ ) -> None:
82
+ """Execute an action.
83
+
84
+ Args:
85
+ config: The action configuration
86
+ trigger_execution: The trigger execution
87
+ auth_context: Authentication context with an API token that can be
88
+ used by external workloads to authenticate with the server
89
+ during the execution of the action. This API token is associated
90
+ with the service account that was configured for the trigger
91
+ that activated the action and has a validity defined by the
92
+ trigger's authentication window.
93
+ """
94
+ from zenml.zen_server.utils import zen_store
95
+
96
+ assert isinstance(config, PipelineRunActionConfiguration)
97
+
98
+ template = zen_store().get_run_template(config.template_id)
99
+ logger.debug("Running template:", template)
100
+ run_template(
101
+ template=template,
102
+ run_config=config.run_config,
103
+ auth_context=auth_context,
104
+ )
105
+
106
+ def _validate_configuration(
107
+ self, config: PipelineRunActionConfiguration
108
+ ) -> None:
109
+ """Validate a pipeline run action configuration.
110
+
111
+ Args:
112
+ config: Pipeline run action configuration.
113
+
114
+ Raises:
115
+ ValueError: In case no deployment can be found with the deployment_id
116
+ """
117
+ zen_store = GlobalConfiguration().zen_store
118
+
119
+ try:
120
+ zen_store.get_run_template(template_id=config.template_id)
121
+ except KeyError:
122
+ raise ValueError(
123
+ f"No template found with id {config.template_id}."
124
+ )
125
+
126
+ def _validate_action_request(
127
+ self, action: ActionRequest, config: ActionConfig
128
+ ) -> None:
129
+ """Validate an action request before it is created in the database.
130
+
131
+ Args:
132
+ action: Action request.
133
+ config: Action configuration instantiated from the request.
134
+ """
135
+ assert isinstance(config, PipelineRunActionConfiguration)
136
+
137
+ self._validate_configuration(config)
138
+
139
+ # If an expiration window is not set, we set it to the default value
140
+ if action.auth_window is None:
141
+ action.auth_window = server_config().pipeline_run_auth_window
142
+
143
+ def _validate_action_update(
144
+ self,
145
+ action: ActionResponse,
146
+ config: ActionConfig,
147
+ action_update: ActionUpdate,
148
+ config_update: ActionConfig,
149
+ ) -> None:
150
+ """Validate an action update before it is reflected in the database.
151
+
152
+ Args:
153
+ action: Original action before the update.
154
+ config: Action configuration instantiated from the original
155
+ action.
156
+ action_update: Action update request.
157
+ config_update: Action configuration instantiated from the
158
+ updated action.
159
+ """
160
+ assert isinstance(config, PipelineRunActionConfiguration)
161
+
162
+ self._validate_configuration(config)
163
+
164
+ def extract_resources(
165
+ self,
166
+ action_config: ActionConfig,
167
+ hydrate: bool = False,
168
+ ) -> Dict[ResourceType, BaseResponse[Any, Any, Any]]:
169
+ """Extract related resources for this action.
170
+
171
+ Args:
172
+ action_config: Action configuration from which to extract related
173
+ resources.
174
+ hydrate: Flag deciding whether to hydrate the resources.
175
+
176
+ Returns:
177
+ List of resources related to the action.
178
+
179
+ Raises:
180
+ ValueError: In case the specified template does not exist.
181
+ """
182
+ assert isinstance(action_config, PipelineRunActionConfiguration)
183
+
184
+ zen_store = GlobalConfiguration().zen_store
185
+
186
+ try:
187
+ template = zen_store.get_run_template(
188
+ template_id=action_config.template_id, hydrate=hydrate
189
+ )
190
+ except KeyError:
191
+ raise ValueError(
192
+ f"No template found with id {action_config.template_id}."
193
+ )
194
+
195
+ resources: Dict[ResourceType, BaseResponse[Any, Any, Any]] = {
196
+ ResourceType.RUN_TEMPLATE: template
197
+ }
198
+
199
+ if template.pipeline is not None:
200
+ pipeline = zen_store.get_pipeline(
201
+ pipeline_id=template.pipeline.id, hydrate=hydrate
202
+ )
203
+ resources[ResourceType.PIPELINE] = pipeline
204
+
205
+ return resources
206
+
207
+
208
+ # -------------------- Pipeline Run Flavor -----------------------------------
209
+
210
+
211
+ class PipelineRunActionFlavor(BaseActionFlavor):
212
+ """Enables users to configure pipeline run action."""
213
+
214
+ FLAVOR: ClassVar[str] = "builtin"
215
+ SUBTYPE: ClassVar[PluginSubType] = PluginSubType.PIPELINE_RUN
216
+ PLUGIN_CLASS: ClassVar[Type[PipelineRunActionHandler]] = (
217
+ PipelineRunActionHandler
218
+ )
219
+
220
+ # EventPlugin specific
221
+ ACTION_CONFIG_CLASS: ClassVar[Type[PipelineRunActionConfiguration]] = (
222
+ PipelineRunActionConfiguration
223
+ )
@@ -16,13 +16,20 @@
16
16
  This module is based on the 'analytics-python' package created by Segment.
17
17
  The base functionalities are adapted to work with the ZenML analytics server.
18
18
  """
19
+
20
+ import datetime
21
+ import locale
19
22
  from types import TracebackType
20
23
  from typing import TYPE_CHECKING, Any, Dict, List, Optional, Type, Union
21
24
  from uuid import UUID
22
25
 
23
26
  from zenml import __version__
24
27
  from zenml.analytics.client import default_client
25
- from zenml.constants import ENV_ZENML_SERVER, handle_bool_env_var
28
+ from zenml.analytics.utils import is_analytics_disabled_internally
29
+ from zenml.constants import (
30
+ ENV_ZENML_SERVER,
31
+ handle_bool_env_var,
32
+ )
26
33
  from zenml.environment import Environment, get_environment
27
34
  from zenml.logger import get_logger
28
35
 
@@ -52,8 +59,11 @@ class AnalyticsContext:
52
59
 
53
60
  self.user_id: Optional[UUID] = None
54
61
  self.external_user_id: Optional[UUID] = None
62
+ self.executed_by_service_account: Optional[bool] = None
55
63
  self.client_id: Optional[UUID] = None
56
64
  self.server_id: Optional[UUID] = None
65
+ self.external_server_id: Optional[UUID] = None
66
+ self.server_metadata: Optional[Dict[str, str]] = None
57
67
 
58
68
  self.database_type: Optional["ServerDatabaseType"] = None
59
69
  self.deployment_type: Optional["ServerDeploymentType"] = None
@@ -64,29 +74,57 @@ class AnalyticsContext:
64
74
  Returns:
65
75
  The analytics context.
66
76
  """
77
+ if is_analytics_disabled_internally():
78
+ self.analytics_opt_in = False
79
+ return self
80
+
67
81
  # Fetch the analytics opt-in setting
68
82
  from zenml.config.global_config import GlobalConfiguration
69
83
 
70
- gc = GlobalConfiguration()
71
- self.analytics_opt_in = gc.analytics_opt_in
84
+ try:
85
+ gc = GlobalConfiguration()
72
86
 
73
- if not self.analytics_opt_in:
74
- return self
87
+ if not gc.is_initialized:
88
+ # If the global configuration is not initialized, using the
89
+ # zen store can lead to multiple initialization issues, because
90
+ # the analytics are triggered during the initialization of the
91
+ # zen store.
92
+ return self
93
+
94
+ store_info = gc.zen_store.get_store_info()
95
+
96
+ # For local ZenML servers, we always use the client's analytics
97
+ # opt-in configuration.
98
+ if self.in_server and not store_info.is_local():
99
+ self.analytics_opt_in = store_info.analytics_enabled
100
+ else:
101
+ self.analytics_opt_in = gc.analytics_opt_in
102
+
103
+ if not self.analytics_opt_in:
104
+ return self
75
105
 
76
- try:
77
106
  # Fetch the `user_id`
78
107
  if self.in_server:
79
108
  from zenml.zen_server.auth import get_auth_context
109
+ from zenml.zen_server.utils import server_config
80
110
 
81
111
  # If the code is running on the server, use the auth context.
82
112
  auth_context = get_auth_context()
83
113
  if auth_context is not None:
84
114
  self.user_id = auth_context.user.id
115
+ self.executed_by_service_account = (
116
+ auth_context.user.is_service_account
117
+ )
85
118
  self.external_user_id = auth_context.user.external_user_id
119
+
120
+ self.external_server_id = server_config().external_server_id
86
121
  else:
87
122
  # If the code is running on the client, use the default user.
88
123
  active_user = gc.zen_store.get_user()
89
124
  self.user_id = active_user.id
125
+ self.executed_by_service_account = (
126
+ active_user.is_service_account
127
+ )
90
128
  self.external_user_id = active_user.external_user_id
91
129
 
92
130
  # Fetch the `client_id`
@@ -97,12 +135,10 @@ class AnalyticsContext:
97
135
  # If the code is running on the client, attach the client id.
98
136
  self.client_id = gc.user_id
99
137
 
100
- # Fetch the store information including the `server_id`
101
- store_info = gc.zen_store.get_store_info()
102
-
103
138
  self.server_id = store_info.id
104
139
  self.deployment_type = store_info.deployment_type
105
140
  self.database_type = store_info.database_type
141
+ self.server_metadata = store_info.metadata
106
142
  except Exception as e:
107
143
  self.analytics_opt_in = False
108
144
  logger.debug(f"Analytics initialization failed: {e}")
@@ -192,15 +228,10 @@ class AnalyticsContext:
192
228
  """
193
229
  success = False
194
230
  if self.analytics_opt_in and self.user_id is not None:
195
- if traits is None:
196
- traits = {}
197
-
198
- traits.update({"group_id": group_id})
199
-
200
231
  success, _ = default_client.group(
201
232
  user_id=self.user_id,
202
233
  group_id=group_id,
203
- traits=traits,
234
+ traits=traits or {},
204
235
  )
205
236
 
206
237
  return success
@@ -247,12 +278,36 @@ class AnalyticsContext:
247
278
  "server_id": str(self.server_id),
248
279
  "deployment_type": str(self.deployment_type),
249
280
  "database_type": str(self.database_type),
281
+ "executed_by_service_account": self.executed_by_service_account,
250
282
  }
251
283
  )
252
284
 
285
+ try:
286
+ # Timezone as tzdata
287
+ tz = (
288
+ datetime.datetime.now(datetime.timezone.utc)
289
+ .astimezone()
290
+ .tzname()
291
+ )
292
+ if tz is not None:
293
+ properties.update({"timezone": tz})
294
+
295
+ # Language code such as "en_DE"
296
+ language_code, encoding = locale.getlocale()
297
+ if language_code is not None:
298
+ properties.update({"locale": language_code})
299
+ except Exception:
300
+ pass
301
+
253
302
  if self.external_user_id:
254
303
  properties["external_user_id"] = self.external_user_id
255
304
 
305
+ if self.external_server_id:
306
+ properties["external_server_id"] = self.external_server_id
307
+
308
+ if self.server_metadata:
309
+ properties.update(self.server_metadata)
310
+
256
311
  for k, v in properties.items():
257
312
  if isinstance(v, UUID):
258
313
  properties[k] = str(v)
zenml/analytics/enums.py CHANGED
@@ -12,14 +12,22 @@
12
12
  # or implied. See the License for the specific language governing
13
13
  # permissions and limitations under the License.
14
14
  """Collection of analytics events for ZenML."""
15
+
15
16
  from enum import Enum
16
17
 
17
18
 
18
19
  class AnalyticsEvent(str, Enum):
19
20
  """Enum of events to track in segment."""
20
21
 
22
+ # Login
23
+ DEVICE_VERIFIED = "Device verified"
24
+
25
+ # Onboarding
26
+ USER_ENRICHED = "User Enriched"
27
+
21
28
  # Pipelines
22
29
  RUN_PIPELINE = "Pipeline run"
30
+ RUN_PIPELINE_ENDED = "Pipeline run ended"
23
31
  CREATE_PIPELINE = "Pipeline created"
24
32
  BUILD_PIPELINE = "Pipeline built"
25
33
 
@@ -36,9 +44,18 @@ class AnalyticsEvent(str, Enum):
36
44
  REGISTERED_STACK = "Stack registered"
37
45
  UPDATED_STACK = "Stack updated"
38
46
 
47
+ # Trigger
48
+ CREATED_TRIGGER = "Trigger created"
49
+ UPDATED_TRIGGER = "Trigger updated"
50
+
51
+ # Templates
52
+ CREATED_RUN_TEMPLATE = "Run template created"
53
+ EXECUTED_RUN_TEMPLATE = "Run templated executed"
54
+
39
55
  # Model Control Plane
40
56
  MODEL_DEPLOYED = "Model deployed"
41
57
  CREATED_MODEL = "Model created"
58
+ CREATED_MODEL_VERSION = "Model Version created"
42
59
 
43
60
  # Analytics opt in and out
44
61
  OPT_IN_ANALYTICS = "Analytics opt-in"
@@ -63,24 +80,11 @@ class AnalyticsEvent(str, Enum):
63
80
  # Service account and API keys
64
81
  CREATED_SERVICE_ACCOUNT = "Service account created"
65
82
 
66
- # Stack recipes
67
- RUN_STACK_RECIPE = "Stack recipe ran"
68
- DEPLOY_STACK = "Stack deployed"
69
- DESTROY_STACK = "Stack destroyed"
70
-
71
- # Stack component deploy
72
- DEPLOY_STACK_COMPONENT = "Stack component deployed"
73
- DESTROY_STACK_COMPONENT = "Stack component destroyed"
83
+ # Full stack infrastructure deployment
84
+ DEPLOY_FULL_STACK = "Full stack deployed"
74
85
 
75
86
  # Tag created
76
87
  CREATED_TAG = "Tag created"
77
88
 
78
- # ZenML server events
79
- ZENML_SERVER_DEPLOYED = "ZenML server deployed"
80
- ZENML_SERVER_DESTROYED = "ZenML server destroyed"
81
-
82
- # ZenML Hub events
83
- ZENML_HUB_PLUGIN_INSTALL = "ZenML Hub plugin installed"
84
- ZENML_HUB_PLUGIN_UNINSTALL = "ZenML Hub plugin uninstalled"
85
- ZENML_HUB_PLUGIN_CLONE = "ZenML Hub plugin pulled"
86
- ZENML_HUB_PLUGIN_SUBMIT = "ZenML Hub plugin pushed"
89
+ # Server Settings
90
+ SERVER_SETTINGS_UPDATED = "Server Settings Updated"
zenml/analytics/models.py CHANGED
@@ -12,6 +12,7 @@
12
12
  # or implied. See the License for the specific language governing
13
13
  # permissions and limitations under the License.
14
14
  """Helper models for ZenML analytics."""
15
+
15
16
  from typing import Any, ClassVar, Dict, List
16
17
 
17
18
  from pydantic import BaseModel
zenml/analytics/utils.py CHANGED
@@ -12,8 +12,8 @@
12
12
  # or implied. See the License for the specific language governing
13
13
  # permissions and limitations under the License.
14
14
  """Utility functions and classes for ZenML analytics."""
15
+
15
16
  import json
16
- import os
17
17
  from functools import wraps
18
18
  from typing import Any, Callable, Dict, Optional, TypeVar, cast
19
19
  from uuid import UUID
@@ -21,13 +21,15 @@ from uuid import UUID
21
21
  from zenml.analytics import identify, track
22
22
  from zenml.analytics.enums import AnalyticsEvent
23
23
  from zenml.analytics.models import AnalyticsTrackedModelMixin
24
- from zenml.constants import ENV_ZENML_ANALYTICS_OPT_IN
25
24
  from zenml.logger import get_logger
26
25
 
27
26
  logger = get_logger(__name__)
28
27
  F = TypeVar("F", bound=Callable[..., Any])
29
28
 
30
29
 
30
+ _INTERNAL_DISABLE_ANALYTICS = False
31
+
32
+
31
33
  class AnalyticsEncoder(json.JSONEncoder):
32
34
  """Helper encoder class for JSON serialization."""
33
35
 
@@ -100,11 +102,13 @@ class analytics_disabler:
100
102
 
101
103
  def __init__(self) -> None:
102
104
  """Initialization of the context manager."""
103
- self.original_value = os.environ.get(ENV_ZENML_ANALYTICS_OPT_IN)
105
+ self.original_value: Optional[bool] = None
104
106
 
105
107
  def __enter__(self) -> None:
106
108
  """Disable the analytics."""
107
- os.environ[ENV_ZENML_ANALYTICS_OPT_IN] = str(False)
109
+ global _INTERNAL_DISABLE_ANALYTICS
110
+ self.original_value = _INTERNAL_DISABLE_ANALYTICS
111
+ _INTERNAL_DISABLE_ANALYTICS = True
108
112
 
109
113
  def __exit__(
110
114
  self,
@@ -119,10 +123,18 @@ class analytics_disabler:
119
123
  exc_value: The instance of the exception
120
124
  traceback: The traceback of the exception
121
125
  """
126
+ global _INTERNAL_DISABLE_ANALYTICS
122
127
  if self.original_value is not None:
123
- os.environ[ENV_ZENML_ANALYTICS_OPT_IN] = self.original_value
124
- else:
125
- del os.environ[ENV_ZENML_ANALYTICS_OPT_IN]
128
+ _INTERNAL_DISABLE_ANALYTICS = self.original_value
129
+
130
+
131
+ def is_analytics_disabled_internally() -> bool:
132
+ """Whether analytics are disabled by an internal helper function.
133
+
134
+ Returns:
135
+ Whether analytics are disabled by an internal helper function.
136
+ """
137
+ return _INTERNAL_DISABLE_ANALYTICS
126
138
 
127
139
 
128
140
  def track_decorator(event: AnalyticsEvent) -> Callable[[F], F]:
@@ -14,7 +14,7 @@
14
14
  """Base class for ZenML annotator stack components."""
15
15
 
16
16
  from abc import ABC, abstractmethod
17
- from typing import Any, ClassVar, List, Optional, Tuple, Type, cast
17
+ from typing import Any, ClassVar, List, Tuple, Type, cast
18
18
 
19
19
  from zenml.enums import StackComponentType
20
20
  from zenml.stack import Flavor, StackComponent
@@ -91,11 +91,12 @@ class BaseAnnotator(StackComponent, ABC):
91
91
  """
92
92
 
93
93
  @abstractmethod
94
- def launch(self, url: Optional[str]) -> None:
94
+ def launch(self, **kwargs: Any) -> None:
95
95
  """Launches the annotation interface.
96
96
 
97
97
  Args:
98
- url: The URL of the annotation interface.
98
+ **kwargs: Additional keyword arguments to pass to the
99
+ annotation client.
99
100
  """
100
101
 
101
102
  @abstractmethod