zenml-nightly 0.58.2.dev20240614__py3-none-any.whl → 0.58.2.dev20240622__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 (314) hide show
  1. zenml/VERSION +1 -1
  2. zenml/_hub/client.py +8 -5
  3. zenml/actions/base_action.py +8 -10
  4. zenml/artifact_stores/base_artifact_store.py +20 -15
  5. zenml/artifact_stores/local_artifact_store.py +3 -2
  6. zenml/artifacts/artifact_config.py +34 -19
  7. zenml/artifacts/external_artifact.py +18 -8
  8. zenml/artifacts/external_artifact_config.py +14 -6
  9. zenml/artifacts/unmaterialized_artifact.py +2 -11
  10. zenml/cli/__init__.py +6 -0
  11. zenml/cli/artifact.py +20 -2
  12. zenml/cli/base.py +2 -2
  13. zenml/cli/served_model.py +0 -1
  14. zenml/cli/server.py +3 -3
  15. zenml/cli/utils.py +36 -40
  16. zenml/cli/web_login.py +2 -2
  17. zenml/client.py +198 -24
  18. zenml/client_lazy_loader.py +20 -14
  19. zenml/config/base_settings.py +5 -6
  20. zenml/config/build_configuration.py +1 -1
  21. zenml/config/compiler.py +3 -3
  22. zenml/config/docker_settings.py +27 -28
  23. zenml/config/global_config.py +33 -37
  24. zenml/config/pipeline_configurations.py +8 -11
  25. zenml/config/pipeline_run_configuration.py +6 -2
  26. zenml/config/pipeline_spec.py +3 -4
  27. zenml/config/resource_settings.py +8 -9
  28. zenml/config/schedule.py +16 -20
  29. zenml/config/secret_reference_mixin.py +6 -3
  30. zenml/config/secrets_store_config.py +16 -23
  31. zenml/config/server_config.py +50 -46
  32. zenml/config/settings_resolver.py +1 -1
  33. zenml/config/source.py +45 -35
  34. zenml/config/step_configurations.py +53 -31
  35. zenml/config/step_run_info.py +3 -0
  36. zenml/config/store_config.py +20 -19
  37. zenml/config/strict_base_model.py +2 -6
  38. zenml/constants.py +26 -2
  39. zenml/container_registries/base_container_registry.py +3 -2
  40. zenml/container_registries/default_container_registry.py +3 -3
  41. zenml/event_hub/base_event_hub.py +1 -1
  42. zenml/event_sources/base_event_source.py +11 -16
  43. zenml/exceptions.py +4 -0
  44. zenml/integrations/airflow/__init__.py +2 -6
  45. zenml/integrations/airflow/flavors/airflow_orchestrator_flavor.py +6 -7
  46. zenml/integrations/airflow/orchestrators/airflow_orchestrator.py +13 -249
  47. zenml/integrations/airflow/orchestrators/dag_generator.py +5 -3
  48. zenml/integrations/argilla/flavors/argilla_annotator_flavor.py +5 -4
  49. zenml/integrations/aws/__init__.py +1 -1
  50. zenml/integrations/aws/flavors/aws_container_registry_flavor.py +3 -2
  51. zenml/integrations/aws/flavors/sagemaker_orchestrator_flavor.py +11 -5
  52. zenml/integrations/aws/flavors/sagemaker_step_operator_flavor.py +6 -2
  53. zenml/integrations/aws/service_connectors/aws_service_connector.py +5 -4
  54. zenml/integrations/aws/step_operators/sagemaker_step_operator.py +1 -1
  55. zenml/integrations/azure/flavors/azureml_step_operator_flavor.py +4 -4
  56. zenml/integrations/azure/service_connectors/azure_service_connector.py +4 -3
  57. zenml/integrations/azure/step_operators/azureml_step_operator.py +2 -1
  58. zenml/integrations/bentoml/steps/bentoml_deployer.py +1 -1
  59. zenml/integrations/bitbucket/plugins/event_sources/bitbucket_webhook_event_source.py +8 -12
  60. zenml/integrations/comet/flavors/comet_experiment_tracker_flavor.py +1 -1
  61. zenml/integrations/constants.py +0 -1
  62. zenml/integrations/deepchecks/__init__.py +1 -0
  63. zenml/integrations/evidently/__init__.py +5 -3
  64. zenml/integrations/evidently/column_mapping.py +11 -3
  65. zenml/integrations/evidently/data_validators/evidently_data_validator.py +21 -3
  66. zenml/integrations/evidently/metrics.py +5 -6
  67. zenml/integrations/evidently/tests.py +5 -6
  68. zenml/integrations/facets/models.py +2 -6
  69. zenml/integrations/feast/__init__.py +3 -1
  70. zenml/integrations/feast/feature_stores/feast_feature_store.py +0 -23
  71. zenml/integrations/gcp/__init__.py +1 -1
  72. zenml/integrations/gcp/flavors/vertex_orchestrator_flavor.py +1 -1
  73. zenml/integrations/gcp/flavors/vertex_step_operator_flavor.py +1 -1
  74. zenml/integrations/gcp/orchestrators/vertex_orchestrator.py +234 -103
  75. zenml/integrations/gcp/service_connectors/gcp_service_connector.py +57 -42
  76. zenml/integrations/gcp/step_operators/vertex_step_operator.py +1 -0
  77. zenml/integrations/github/code_repositories/github_code_repository.py +1 -1
  78. zenml/integrations/github/plugins/event_sources/github_webhook_event_source.py +9 -13
  79. zenml/integrations/great_expectations/__init__.py +1 -1
  80. zenml/integrations/great_expectations/data_validators/ge_data_validator.py +44 -44
  81. zenml/integrations/great_expectations/flavors/great_expectations_data_validator_flavor.py +35 -2
  82. zenml/integrations/great_expectations/ge_store_backend.py +24 -11
  83. zenml/integrations/great_expectations/materializers/ge_materializer.py +3 -3
  84. zenml/integrations/great_expectations/utils.py +5 -5
  85. zenml/integrations/huggingface/__init__.py +3 -0
  86. zenml/integrations/huggingface/flavors/huggingface_model_deployer_flavor.py +1 -1
  87. zenml/integrations/huggingface/steps/__init__.py +3 -0
  88. zenml/integrations/huggingface/steps/accelerate_runner.py +149 -0
  89. zenml/integrations/huggingface/steps/huggingface_deployer.py +2 -2
  90. zenml/integrations/hyperai/flavors/hyperai_orchestrator_flavor.py +1 -1
  91. zenml/integrations/hyperai/service_connectors/hyperai_service_connector.py +4 -3
  92. zenml/integrations/kubeflow/__init__.py +1 -1
  93. zenml/integrations/kubeflow/flavors/kubeflow_orchestrator_flavor.py +48 -81
  94. zenml/integrations/kubeflow/orchestrators/kubeflow_orchestrator.py +295 -245
  95. zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py +1 -1
  96. zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py +11 -2
  97. zenml/integrations/kubernetes/pod_settings.py +17 -31
  98. zenml/integrations/kubernetes/service_connectors/kubernetes_service_connector.py +8 -7
  99. zenml/integrations/label_studio/__init__.py +1 -3
  100. zenml/integrations/label_studio/annotators/label_studio_annotator.py +3 -4
  101. zenml/integrations/label_studio/flavors/label_studio_annotator_flavor.py +2 -2
  102. zenml/integrations/langchain/__init__.py +5 -1
  103. zenml/integrations/langchain/materializers/document_materializer.py +44 -8
  104. zenml/integrations/mlflow/__init__.py +9 -3
  105. zenml/integrations/mlflow/experiment_trackers/mlflow_experiment_tracker.py +1 -1
  106. zenml/integrations/mlflow/flavors/mlflow_experiment_tracker_flavor.py +29 -37
  107. zenml/integrations/mlflow/model_registries/mlflow_model_registry.py +4 -4
  108. zenml/integrations/mlflow/steps/mlflow_deployer.py +1 -1
  109. zenml/integrations/neptune/flavors/neptune_experiment_tracker_flavor.py +1 -1
  110. zenml/integrations/neural_prophet/__init__.py +5 -1
  111. zenml/integrations/pigeon/flavors/pigeon_annotator_flavor.py +1 -1
  112. zenml/integrations/s3/flavors/s3_artifact_store_flavor.py +9 -8
  113. zenml/integrations/seldon/seldon_client.py +52 -67
  114. zenml/integrations/seldon/services/seldon_deployment.py +3 -3
  115. zenml/integrations/seldon/steps/seldon_deployer.py +4 -4
  116. zenml/integrations/skypilot/flavors/skypilot_orchestrator_base_vm_config.py +15 -5
  117. zenml/integrations/skypilot_aws/__init__.py +1 -1
  118. zenml/integrations/skypilot_aws/flavors/skypilot_orchestrator_aws_vm_flavor.py +1 -1
  119. zenml/integrations/skypilot_azure/__init__.py +1 -1
  120. zenml/integrations/skypilot_azure/flavors/skypilot_orchestrator_azure_vm_flavor.py +1 -1
  121. zenml/integrations/skypilot_gcp/__init__.py +2 -1
  122. zenml/integrations/skypilot_gcp/flavors/skypilot_orchestrator_gcp_vm_flavor.py +1 -1
  123. zenml/integrations/skypilot_lambda/flavors/skypilot_orchestrator_lambda_vm_flavor.py +2 -2
  124. zenml/integrations/spark/flavors/spark_step_operator_flavor.py +1 -1
  125. zenml/integrations/spark/step_operators/spark_step_operator.py +2 -0
  126. zenml/integrations/tekton/__init__.py +1 -1
  127. zenml/integrations/tekton/flavors/tekton_orchestrator_flavor.py +66 -23
  128. zenml/integrations/tekton/orchestrators/tekton_orchestrator.py +547 -233
  129. zenml/integrations/tensorboard/__init__.py +1 -12
  130. zenml/integrations/tensorboard/services/tensorboard_service.py +3 -5
  131. zenml/integrations/tensorboard/visualizers/tensorboard_visualizer.py +6 -6
  132. zenml/integrations/tensorflow/__init__.py +2 -10
  133. zenml/integrations/tensorflow/materializers/keras_materializer.py +17 -9
  134. zenml/integrations/wandb/flavors/wandb_experiment_tracker_flavor.py +9 -14
  135. zenml/integrations/whylogs/flavors/whylogs_data_validator_flavor.py +1 -1
  136. zenml/lineage_graph/lineage_graph.py +1 -1
  137. zenml/logging/step_logging.py +15 -7
  138. zenml/materializers/built_in_materializer.py +3 -3
  139. zenml/materializers/pydantic_materializer.py +2 -2
  140. zenml/metadata/lazy_load.py +4 -4
  141. zenml/metadata/metadata_types.py +64 -4
  142. zenml/model/model.py +79 -54
  143. zenml/model_deployers/base_model_deployer.py +14 -12
  144. zenml/model_registries/base_model_registry.py +17 -15
  145. zenml/models/__init__.py +79 -206
  146. zenml/models/v2/base/base.py +54 -41
  147. zenml/models/v2/base/base_plugin_flavor.py +2 -6
  148. zenml/models/v2/base/filter.py +91 -76
  149. zenml/models/v2/base/page.py +2 -12
  150. zenml/models/v2/base/scoped.py +4 -7
  151. zenml/models/v2/core/api_key.py +22 -8
  152. zenml/models/v2/core/artifact.py +2 -2
  153. zenml/models/v2/core/artifact_version.py +74 -40
  154. zenml/models/v2/core/code_repository.py +37 -10
  155. zenml/models/v2/core/component.py +65 -16
  156. zenml/models/v2/core/device.py +14 -4
  157. zenml/models/v2/core/event_source.py +1 -2
  158. zenml/models/v2/core/flavor.py +74 -8
  159. zenml/models/v2/core/logs.py +68 -8
  160. zenml/models/v2/core/model.py +8 -4
  161. zenml/models/v2/core/model_version.py +25 -6
  162. zenml/models/v2/core/model_version_artifact.py +51 -21
  163. zenml/models/v2/core/model_version_pipeline_run.py +45 -13
  164. zenml/models/v2/core/pipeline.py +37 -72
  165. zenml/models/v2/core/pipeline_build.py +29 -17
  166. zenml/models/v2/core/pipeline_deployment.py +18 -6
  167. zenml/models/v2/core/pipeline_namespace.py +113 -0
  168. zenml/models/v2/core/pipeline_run.py +50 -22
  169. zenml/models/v2/core/run_metadata.py +59 -36
  170. zenml/models/v2/core/schedule.py +37 -24
  171. zenml/models/v2/core/secret.py +31 -12
  172. zenml/models/v2/core/service.py +64 -36
  173. zenml/models/v2/core/service_account.py +24 -11
  174. zenml/models/v2/core/service_connector.py +219 -44
  175. zenml/models/v2/core/stack.py +45 -17
  176. zenml/models/v2/core/step_run.py +28 -8
  177. zenml/models/v2/core/tag.py +8 -4
  178. zenml/models/v2/core/trigger.py +2 -2
  179. zenml/models/v2/core/trigger_execution.py +1 -0
  180. zenml/models/v2/core/user.py +18 -21
  181. zenml/models/v2/core/workspace.py +13 -3
  182. zenml/models/v2/misc/build_item.py +3 -3
  183. zenml/models/v2/misc/external_user.py +2 -6
  184. zenml/models/v2/misc/hub_plugin_models.py +9 -9
  185. zenml/models/v2/misc/loaded_visualization.py +2 -2
  186. zenml/models/v2/misc/service_connector_type.py +8 -17
  187. zenml/models/v2/misc/user_auth.py +7 -2
  188. zenml/new/pipelines/build_utils.py +3 -3
  189. zenml/new/pipelines/pipeline.py +17 -13
  190. zenml/new/pipelines/run_utils.py +103 -1
  191. zenml/orchestrators/base_orchestrator.py +10 -7
  192. zenml/orchestrators/local_docker/local_docker_orchestrator.py +1 -1
  193. zenml/orchestrators/step_launcher.py +28 -4
  194. zenml/orchestrators/step_runner.py +3 -6
  195. zenml/orchestrators/utils.py +1 -1
  196. zenml/plugins/base_plugin_flavor.py +6 -10
  197. zenml/plugins/plugin_flavor_registry.py +3 -7
  198. zenml/secret/base_secret.py +7 -8
  199. zenml/service_connectors/docker_service_connector.py +4 -3
  200. zenml/service_connectors/service_connector.py +5 -12
  201. zenml/service_connectors/service_connector_registry.py +2 -4
  202. zenml/services/container/container_service.py +1 -1
  203. zenml/services/container/container_service_endpoint.py +1 -1
  204. zenml/services/local/local_service.py +1 -1
  205. zenml/services/local/local_service_endpoint.py +1 -1
  206. zenml/services/service.py +16 -10
  207. zenml/services/service_type.py +4 -5
  208. zenml/services/terraform/terraform_service.py +1 -1
  209. zenml/stack/flavor.py +2 -6
  210. zenml/stack/flavor_registry.py +4 -4
  211. zenml/stack/stack.py +4 -1
  212. zenml/stack/stack_component.py +55 -31
  213. zenml/step_operators/step_operator_entrypoint_configuration.py +1 -0
  214. zenml/steps/base_step.py +34 -28
  215. zenml/steps/entrypoint_function_utils.py +3 -5
  216. zenml/steps/utils.py +12 -14
  217. zenml/utils/cuda_utils.py +50 -0
  218. zenml/utils/deprecation_utils.py +18 -20
  219. zenml/utils/dict_utils.py +1 -1
  220. zenml/utils/filesync_model.py +65 -28
  221. zenml/utils/function_utils.py +260 -0
  222. zenml/utils/json_utils.py +131 -0
  223. zenml/utils/mlstacks_utils.py +2 -2
  224. zenml/utils/package_utils.py +1 -1
  225. zenml/utils/pipeline_docker_image_builder.py +9 -0
  226. zenml/utils/pydantic_utils.py +270 -62
  227. zenml/utils/secret_utils.py +65 -12
  228. zenml/utils/source_utils.py +2 -2
  229. zenml/utils/typed_model.py +5 -3
  230. zenml/utils/typing_utils.py +243 -0
  231. zenml/utils/yaml_utils.py +1 -1
  232. zenml/zen_server/auth.py +2 -2
  233. zenml/zen_server/cloud_utils.py +6 -6
  234. zenml/zen_server/deploy/base_provider.py +1 -1
  235. zenml/zen_server/deploy/deployment.py +6 -8
  236. zenml/zen_server/deploy/docker/docker_zen_server.py +3 -4
  237. zenml/zen_server/deploy/local/local_provider.py +0 -1
  238. zenml/zen_server/deploy/local/local_zen_server.py +6 -6
  239. zenml/zen_server/deploy/terraform/terraform_zen_server.py +4 -6
  240. zenml/zen_server/exceptions.py +4 -1
  241. zenml/zen_server/feature_gate/zenml_cloud_feature_gate.py +1 -1
  242. zenml/zen_server/pipeline_deployment/utils.py +48 -68
  243. zenml/zen_server/rbac/models.py +2 -5
  244. zenml/zen_server/rbac/utils.py +11 -14
  245. zenml/zen_server/routers/auth_endpoints.py +2 -2
  246. zenml/zen_server/routers/pipeline_builds_endpoints.py +1 -1
  247. zenml/zen_server/routers/runs_endpoints.py +1 -1
  248. zenml/zen_server/routers/secrets_endpoints.py +3 -2
  249. zenml/zen_server/routers/server_endpoints.py +1 -1
  250. zenml/zen_server/routers/steps_endpoints.py +1 -1
  251. zenml/zen_server/routers/workspaces_endpoints.py +1 -1
  252. zenml/zen_stores/base_zen_store.py +46 -9
  253. zenml/zen_stores/migrations/utils.py +42 -46
  254. zenml/zen_stores/migrations/versions/0701da9951a0_added_service_table.py +1 -1
  255. zenml/zen_stores/migrations/versions/1041bc644e0d_remove_secrets_manager.py +5 -3
  256. zenml/zen_stores/migrations/versions/10a907dad202_delete_mlmd_tables.py +1 -1
  257. zenml/zen_stores/migrations/versions/26b776ad583e_redesign_artifacts.py +8 -10
  258. zenml/zen_stores/migrations/versions/37835ce041d2_optimizing_database.py +3 -3
  259. zenml/zen_stores/migrations/versions/46506f72f0ed_add_server_settings.py +10 -12
  260. zenml/zen_stores/migrations/versions/5994f9ad0489_introduce_role_permissions.py +3 -2
  261. zenml/zen_stores/migrations/versions/6917bce75069_add_pipeline_run_unique_constraint.py +4 -4
  262. zenml/zen_stores/migrations/versions/728c6369cfaa_add_name_column_to_input_artifact_pk.py +3 -2
  263. zenml/zen_stores/migrations/versions/743ec82b1b3c_update_size_of_build_images.py +2 -2
  264. zenml/zen_stores/migrations/versions/7500f434b71c_remove_shared_columns.py +3 -2
  265. zenml/zen_stores/migrations/versions/7834208cc3f6_artifact_project_scoping.py +8 -7
  266. zenml/zen_stores/migrations/versions/7b651bf6822e_track_secrets_in_db.py +6 -4
  267. zenml/zen_stores/migrations/versions/7e4a481d17f7_add_identity_table.py +2 -2
  268. zenml/zen_stores/migrations/versions/7f603e583dd7_fixed_migration.py +1 -1
  269. zenml/zen_stores/migrations/versions/a39c4184c8ce_remove_secrets_manager_flavors.py +2 -2
  270. zenml/zen_stores/migrations/versions/a91762e6be36_artifact_version_table.py +4 -4
  271. zenml/zen_stores/migrations/versions/alembic_start.py +1 -1
  272. zenml/zen_stores/migrations/versions/fbd7f18ced1e_increase_step_run_field_lengths.py +4 -4
  273. zenml/zen_stores/rest_zen_store.py +109 -49
  274. zenml/zen_stores/schemas/api_key_schemas.py +1 -1
  275. zenml/zen_stores/schemas/artifact_schemas.py +8 -8
  276. zenml/zen_stores/schemas/artifact_visualization_schemas.py +3 -3
  277. zenml/zen_stores/schemas/code_repository_schemas.py +1 -1
  278. zenml/zen_stores/schemas/component_schemas.py +8 -3
  279. zenml/zen_stores/schemas/device_schemas.py +8 -6
  280. zenml/zen_stores/schemas/event_source_schemas.py +3 -4
  281. zenml/zen_stores/schemas/flavor_schemas.py +5 -3
  282. zenml/zen_stores/schemas/model_schemas.py +26 -1
  283. zenml/zen_stores/schemas/pipeline_build_schemas.py +1 -1
  284. zenml/zen_stores/schemas/pipeline_deployment_schemas.py +4 -4
  285. zenml/zen_stores/schemas/pipeline_run_schemas.py +6 -6
  286. zenml/zen_stores/schemas/pipeline_schemas.py +5 -2
  287. zenml/zen_stores/schemas/run_metadata_schemas.py +2 -2
  288. zenml/zen_stores/schemas/secret_schemas.py +8 -5
  289. zenml/zen_stores/schemas/server_settings_schemas.py +3 -1
  290. zenml/zen_stores/schemas/service_connector_schemas.py +1 -1
  291. zenml/zen_stores/schemas/service_schemas.py +11 -2
  292. zenml/zen_stores/schemas/stack_schemas.py +1 -1
  293. zenml/zen_stores/schemas/step_run_schemas.py +11 -11
  294. zenml/zen_stores/schemas/tag_schemas.py +6 -2
  295. zenml/zen_stores/schemas/trigger_schemas.py +2 -2
  296. zenml/zen_stores/schemas/user_schemas.py +2 -2
  297. zenml/zen_stores/schemas/workspace_schemas.py +3 -1
  298. zenml/zen_stores/secrets_stores/aws_secrets_store.py +19 -20
  299. zenml/zen_stores/secrets_stores/azure_secrets_store.py +17 -20
  300. zenml/zen_stores/secrets_stores/base_secrets_store.py +79 -12
  301. zenml/zen_stores/secrets_stores/gcp_secrets_store.py +17 -20
  302. zenml/zen_stores/secrets_stores/hashicorp_secrets_store.py +4 -8
  303. zenml/zen_stores/secrets_stores/service_connector_secrets_store.py +10 -7
  304. zenml/zen_stores/secrets_stores/sql_secrets_store.py +5 -6
  305. zenml/zen_stores/sql_zen_store.py +196 -120
  306. zenml/zen_stores/zen_store_interface.py +33 -0
  307. {zenml_nightly-0.58.2.dev20240614.dist-info → zenml_nightly-0.58.2.dev20240622.dist-info}/METADATA +9 -7
  308. {zenml_nightly-0.58.2.dev20240614.dist-info → zenml_nightly-0.58.2.dev20240622.dist-info}/RECORD +311 -308
  309. zenml/integrations/kubeflow/utils.py +0 -95
  310. zenml/models/v2/base/internal.py +0 -37
  311. zenml/models/v2/base/update.py +0 -44
  312. {zenml_nightly-0.58.2.dev20240614.dist-info → zenml_nightly-0.58.2.dev20240622.dist-info}/LICENSE +0 -0
  313. {zenml_nightly-0.58.2.dev20240614.dist-info → zenml_nightly-0.58.2.dev20240622.dist-info}/WHEEL +0 -0
  314. {zenml_nightly-0.58.2.dev20240614.dist-info → zenml_nightly-0.58.2.dev20240622.dist-info}/entry_points.txt +0 -0
zenml/models/__init__.py CHANGED
@@ -20,11 +20,12 @@ from zenml.models.v2.base.base import (
20
20
  BaseZenModel,
21
21
  BaseRequest,
22
22
  BaseResponse,
23
+ BaseUpdate,
23
24
  BaseIdentifiedResponse,
24
25
  BaseResponseBody,
25
26
  BaseResponseMetadata,
26
27
  BaseResponseResources,
27
- BaseDatedResponseBody
28
+ BaseDatedResponseBody,
28
29
  )
29
30
  from zenml.models.v2.base.scoped import (
30
31
  UserScopedRequest,
@@ -37,7 +38,8 @@ from zenml.models.v2.base.scoped import (
37
38
  WorkspaceScopedResponse,
38
39
  WorkspaceScopedResponseBody,
39
40
  WorkspaceScopedResponseMetadata,
40
- WorkspaceScopedTaggableFilter
41
+ WorkspaceScopedResponseResources,
42
+ WorkspaceScopedTaggableFilter,
41
43
  )
42
44
  from zenml.models.v2.base.filter import (
43
45
  BaseFilter,
@@ -82,6 +84,7 @@ from zenml.models.v2.core.artifact_version import (
82
84
  ArtifactVersionResponseBody,
83
85
  ArtifactVersionResponseMetadata,
84
86
  ArtifactVersionUpdate,
87
+ LazyArtifactVersionResponse
85
88
  )
86
89
  from zenml.models.v2.core.artifact_visualization import (
87
90
  ArtifactVisualizationRequest,
@@ -187,10 +190,12 @@ from zenml.models.v2.core.pipeline import (
187
190
  PipelineResponse,
188
191
  PipelineResponseBody,
189
192
  PipelineResponseMetadata,
190
- PipelineNamespaceFilter,
191
- PipelineNamespaceResponse,
193
+ )
194
+ from zenml.models.v2.core.pipeline_namespace import (
192
195
  PipelineNamespaceResponseBody,
193
196
  PipelineNamespaceResponseMetadata,
197
+ PipelineNamespaceResponse,
198
+ PipelineNamespaceFilter,
194
199
  )
195
200
  from zenml.models.v2.core.pipeline_build import (
196
201
  PipelineBuildBase,
@@ -219,6 +224,7 @@ from zenml.models.v2.core.pipeline_run import (
219
224
  )
220
225
  from zenml.models.v2.base.base_plugin_flavor import BasePluginFlavorResponse
221
226
  from zenml.models.v2.core.run_metadata import (
227
+ LazyRunMetadataResponse,
222
228
  RunMetadataRequest,
223
229
  RunMetadataFilter,
224
230
  RunMetadataResponse,
@@ -319,7 +325,7 @@ from zenml.models.v2.core.trigger import (
319
325
  TriggerResponse,
320
326
  TriggerResponseBody,
321
327
  TriggerResponseMetadata,
322
- TriggerResponseResources
328
+ TriggerResponseResources,
323
329
  )
324
330
  from zenml.models.v2.core.trigger_execution import (
325
331
  TriggerExecutionRequest,
@@ -327,7 +333,7 @@ from zenml.models.v2.core.trigger_execution import (
327
333
  TriggerExecutionResponse,
328
334
  TriggerExecutionResponseBody,
329
335
  TriggerExecutionResponseMetadata,
330
- TriggerExecutionResponseResources
336
+ TriggerExecutionResponseResources,
331
337
  )
332
338
  from zenml.models.v2.core.event_source import (
333
339
  EventSourceRequest,
@@ -336,7 +342,7 @@ from zenml.models.v2.core.event_source import (
336
342
  EventSourceResponse,
337
343
  EventSourceResponseBody,
338
344
  EventSourceResponseMetadata,
339
- EventSourceResponseResources
345
+ EventSourceResponseResources,
340
346
  )
341
347
  from zenml.models.v2.misc.user_auth import UserAuthModel
342
348
  from zenml.models.v2.misc.build_item import BuildItem
@@ -375,203 +381,69 @@ from zenml.models.v2.core.server_settings import (
375
381
  # ----------------------------- Forward References -----------------------------
376
382
 
377
383
  # V2
378
- APIKeyResponseBody.update_forward_refs(
379
- ServiceAccountResponse=ServiceAccountResponse,
380
- )
381
- ArtifactVersionRequest.update_forward_refs(
382
- ArtifactVisualizationRequest=ArtifactVisualizationRequest,
383
- )
384
- ArtifactVersionResponseBody.update_forward_refs(
385
- UserResponse=UserResponse,
386
- )
387
- ArtifactVersionResponseMetadata.update_forward_refs(
388
- WorkspaceResponse=WorkspaceResponse,
389
- ArtifactVisualizationResponse=ArtifactVisualizationResponse,
390
- RunMetadataResponse=RunMetadataResponse,
391
- )
392
- CodeReferenceResponseBody.update_forward_refs(
393
- CodeRepositoryResponse=CodeRepositoryResponse,
394
- )
395
- CodeRepositoryResponseBody.update_forward_refs(
396
- UserResponse=UserResponse,
397
- )
398
- CodeRepositoryResponseMetadata.update_forward_refs(
399
- WorkspaceResponse=WorkspaceResponse,
400
- )
401
- ComponentResponseBody.update_forward_refs(
402
- UserResponse=UserResponse,
403
- )
404
- ComponentResponseMetadata.update_forward_refs(
405
- WorkspaceResponse=WorkspaceResponse,
406
- ServiceConnectorResponse=ServiceConnectorResponse,
407
- )
408
- EventSourceResponseBody.update_forward_refs(
409
- UserResponse=UserResponse,
410
- )
411
- EventSourceResponseMetadata.update_forward_refs(
412
- WorkspaceResponse=WorkspaceResponse,
413
- )
414
- EventSourceResponseResources.update_forward_refs(
415
- TriggerResponse=TriggerResponse,
416
- )
417
- FlavorResponseBody.update_forward_refs(
418
- UserResponse=UserResponse,
419
- )
420
- FlavorResponseMetadata.update_forward_refs(
421
- WorkspaceResponse=WorkspaceResponse,
422
- )
423
- ServiceResponseBody.update_forward_refs(
424
- UserResponse=UserResponse,
425
- )
426
- ServiceResponseMetadata.update_forward_refs(
427
- WorkspaceResponse=WorkspaceResponse,
428
- )
429
- ServiceResponseResources.update_forward_refs(
430
- ModelVersionResponse=ModelVersionResponse,
431
- )
432
- ModelResponseBody.update_forward_refs(
433
- UserResponse=UserResponse,
434
- TagResponse=TagResponse,
435
- )
436
- ModelResponseMetadata.update_forward_refs(
437
- WorkspaceResponse=WorkspaceResponse,
438
- )
439
- ModelVersionResponseBody.update_forward_refs(
440
- UserResponse=UserResponse,
441
- ModelResponse=ModelResponse,
442
- RunMetadataResponse=RunMetadataResponse,
443
- )
444
- ModelVersionResponseMetadata.update_forward_refs(
445
- WorkspaceResponse=WorkspaceResponse,
446
- RunMetadataResponse=RunMetadataResponse,
447
- )
448
- ModelVersionResponseResources.update_forward_refs(
449
- ServiceResponse=ServiceResponse,
450
- )
451
- ModelVersionArtifactResponseBody.update_forward_refs(
452
- ArtifactVersionResponse=ArtifactVersionResponse,
453
- )
454
- ModelVersionPipelineRunResponseBody.update_forward_refs(
455
- PipelineRunResponse=PipelineRunResponse
456
- )
457
- OAuthDeviceResponseBody.update_forward_refs(
458
- UserResponse=UserResponse,
459
- )
460
- PipelineResponseBody.update_forward_refs(
461
- UserResponse=UserResponse,
462
- )
463
- PipelineResponseMetadata.update_forward_refs(
464
- WorkspaceResponse=WorkspaceResponse,
465
- )
466
- PipelineBuildBase.update_forward_refs(
467
- BuildItem=BuildItem,
468
- )
469
- PipelineBuildResponseBody.update_forward_refs(
470
- UserResponse=UserResponse,
471
- )
472
- PipelineBuildResponseMetadata.update_forward_refs(
473
- WorkspaceResponse=WorkspaceResponse,
474
- PipelineResponse=PipelineResponse,
475
- StackResponse=StackResponse,
476
- BuildItem=BuildItem,
477
- )
478
- PipelineDeploymentRequest.update_forward_refs(
479
- CodeReferenceRequest=CodeReferenceRequest,
480
- )
481
- PipelineDeploymentResponseBody.update_forward_refs(
482
- UserResponse=UserResponse,
483
- )
484
- PipelineDeploymentResponseMetadata.update_forward_refs(
485
- WorkspaceResponse=WorkspaceResponse,
486
- PipelineResponse=PipelineResponse,
487
- StackResponse=StackResponse,
488
- PipelineBuildResponse=PipelineBuildResponse,
489
- ScheduleResponse=ScheduleResponse,
490
- CodeReferenceResponse=CodeReferenceResponse,
491
- )
492
- PipelineDeploymentResponseResources.update_forward_refs(
493
- TriggerResponse=TriggerResponse,
494
- )
495
- PipelineRunResponseBody.update_forward_refs(
496
- UserResponse=UserResponse,
497
- PipelineResponse=PipelineResponse,
498
- StackResponse=StackResponse,
499
- PipelineBuildResponse=PipelineBuildResponse,
500
- ScheduleResponse=ScheduleResponse,
501
- CodeReferenceResponse=CodeReferenceResponse,
502
- TriggerExecutionResponse=TriggerExecutionResponse,
503
- )
504
- PipelineRunResponseMetadata.update_forward_refs(
505
- WorkspaceResponse=WorkspaceResponse,
506
- RunMetadataResponse=RunMetadataResponse,
507
- StepRunResponse=StepRunResponse,
508
- )
509
- RunMetadataResponseBody.update_forward_refs(
510
- UserResponse=UserResponse,
511
- )
512
- RunMetadataResponseMetadata.update_forward_refs(
513
- WorkspaceResponse=WorkspaceResponse,
514
- )
515
- ScheduleResponseBody.update_forward_refs(
516
- UserResponse=UserResponse,
517
- )
518
- ScheduleResponseMetadata.update_forward_refs(
519
- WorkspaceResponse=WorkspaceResponse,
520
- )
521
- SecretResponseBody.update_forward_refs(
522
- UserResponse=UserResponse,
523
- )
524
- SecretResponseMetadata.update_forward_refs(
525
- WorkspaceResponse=WorkspaceResponse,
526
- )
527
- ServiceConnectorResponseBody.update_forward_refs(
528
- UserResponse=UserResponse,
529
- )
530
- ServiceConnectorResponseMetadata.update_forward_refs(
531
- ServiceConnectorTypeModel=ServiceConnectorTypeModel,
532
- WorkspaceResponse=WorkspaceResponse,
533
- ComponentResponse=ComponentResponse,
534
- )
535
- StackResponseBody.update_forward_refs(
536
- UserResponse=UserResponse,
537
- )
538
- StackResponseMetadata.update_forward_refs(
539
- ComponentResponse=ComponentResponse,
540
- WorkspaceResponse=WorkspaceResponse,
541
- )
542
- StepRunRequest.update_forward_refs(
543
- LogsRequest=LogsRequest,
544
- )
545
- StepRunResponseBody.update_forward_refs(
546
- UserResponse=UserResponse,
547
- ArtifactVersionResponse=ArtifactVersionResponse,
548
- )
549
- StepRunResponseMetadata.update_forward_refs(
550
- WorkspaceResponse=WorkspaceResponse,
551
- LogsResponse=LogsResponse,
552
- RunMetadataResponse=RunMetadataResponse,
553
- )
554
- TriggerExecutionResponseResources.update_forward_refs(
555
- TriggerResponse=TriggerResponse
556
- )
557
- TriggerResponseBody.update_forward_refs(
558
- UserResponse=UserResponse,
559
- )
560
- TriggerResponseMetadata.update_forward_refs(
561
- WorkspaceResponse=WorkspaceResponse,
562
- )
563
- TriggerResponseResources.update_forward_refs(
564
- EventSourceResponse=EventSourceResponse,
565
- )
566
- TriggerResponseResources.update_forward_refs(
567
- EventSourceResponse=EventSourceResponse,
568
- TriggerExecutionResponse=TriggerExecutionResponse,
569
- )
384
+ APIKeyResponseBody.model_rebuild()
385
+ ArtifactVersionRequest.model_rebuild()
386
+ ArtifactVersionResponseBody.model_rebuild()
387
+ ArtifactVersionResponseMetadata.model_rebuild()
388
+ CodeReferenceResponseBody.model_rebuild()
389
+ CodeRepositoryResponseBody.model_rebuild()
390
+ CodeRepositoryResponseMetadata.model_rebuild()
391
+ ComponentResponseBody.model_rebuild()
392
+ ComponentResponseMetadata.model_rebuild()
393
+ EventSourceResponseBody.model_rebuild()
394
+ EventSourceResponseMetadata.model_rebuild()
395
+ EventSourceResponseResources.model_rebuild()
396
+ FlavorResponseBody.model_rebuild()
397
+ FlavorResponseMetadata.model_rebuild()
398
+ LazyArtifactVersionResponse.model_rebuild()
399
+ LazyRunMetadataResponse.model_rebuild()
400
+ ModelResponseBody.model_rebuild()
401
+ ModelResponseMetadata.model_rebuild()
402
+ ModelVersionResponseBody.model_rebuild()
403
+ ModelVersionResponseMetadata.model_rebuild()
404
+ ModelVersionResponseResources.model_rebuild()
405
+ ModelVersionArtifactResponseBody.model_rebuild()
406
+ ModelVersionPipelineRunResponseBody.model_rebuild()
407
+ OAuthDeviceResponseBody.model_rebuild()
408
+ PipelineResponseBody.model_rebuild()
409
+ PipelineResponseMetadata.model_rebuild()
410
+ PipelineBuildBase.model_rebuild()
411
+ PipelineBuildResponseBody.model_rebuild()
412
+ PipelineBuildResponseMetadata.model_rebuild()
413
+ PipelineDeploymentRequest.model_rebuild()
414
+ PipelineDeploymentResponseBody.model_rebuild()
415
+ PipelineDeploymentResponseMetadata.model_rebuild()
416
+ PipelineDeploymentResponseResources.model_rebuild()
417
+ PipelineRunResponseBody.model_rebuild()
418
+ PipelineRunResponseMetadata.model_rebuild()
419
+ RunMetadataResponseBody.model_rebuild()
420
+ RunMetadataResponseMetadata.model_rebuild()
421
+ ScheduleResponseBody.model_rebuild()
422
+ ScheduleResponseMetadata.model_rebuild()
423
+ SecretResponseBody.model_rebuild()
424
+ SecretResponseMetadata.model_rebuild()
425
+ ServiceResponseBody.model_rebuild()
426
+ ServiceResponseMetadata.model_rebuild()
427
+ ServiceResponseResources.model_rebuild()
428
+ ServiceConnectorResponseBody.model_rebuild()
429
+ ServiceConnectorResponseMetadata.model_rebuild()
430
+ StackResponseBody.model_rebuild()
431
+ StackResponseMetadata.model_rebuild()
432
+ StepRunRequest.model_rebuild()
433
+ StepRunResponseBody.model_rebuild()
434
+ StepRunResponseMetadata.model_rebuild()
435
+ TriggerExecutionResponseResources.model_rebuild()
436
+ TriggerResponseBody.model_rebuild()
437
+ TriggerResponseMetadata.model_rebuild()
438
+ TriggerResponseResources.model_rebuild()
439
+ TriggerResponseResources.model_rebuild()
440
+
570
441
 
571
442
  __all__ = [
572
443
  # V2 Base
573
444
  "BaseRequest",
574
445
  "BaseResponse",
446
+ "BaseUpdate",
575
447
  "BaseIdentifiedResponse",
576
448
  "BaseResponseBody",
577
449
  "BaseResponseMetadata",
@@ -589,6 +461,7 @@ __all__ = [
589
461
  "WorkspaceScopedResponse",
590
462
  "WorkspaceScopedResponseBody",
591
463
  "WorkspaceScopedResponseMetadata",
464
+ "WorkspaceScopedResponseResources",
592
465
  "WorkspaceScopedTaggableFilter",
593
466
  "BaseFilter",
594
467
  "StrFilter",
@@ -732,6 +605,13 @@ __all__ = [
732
605
  "SecretResponseBody",
733
606
  "SecretResponseMetadata",
734
607
  "SecretUpdate",
608
+ "ServiceResponse",
609
+ "ServiceResponseBody",
610
+ "ServiceResponseMetadata",
611
+ "ServiceUpdate",
612
+ "ServiceFilter",
613
+ "ServiceRequest",
614
+ "ServiceResponseResources",
735
615
  "ServerActivationRequest",
736
616
  "ServerSettingsResponse",
737
617
  "ServerSettingsResponseResources",
@@ -802,13 +682,6 @@ __all__ = [
802
682
  "WorkspaceResponse",
803
683
  "WorkspaceResponseBody",
804
684
  "WorkspaceResponseMetadata",
805
- "ServiceResponse",
806
- "ServiceResponseBody",
807
- "ServiceResponseMetadata",
808
- "ServiceUpdate",
809
- "ServiceFilter",
810
- "ServiceRequest",
811
- "ServiceResponseResources",
812
685
  # V2 Misc
813
686
  "AuthenticationMethodModel",
814
687
  "ServiceConnectorResourcesModel",
@@ -17,8 +17,7 @@ from datetime import datetime
17
17
  from typing import Any, Dict, Generic, Optional, TypeVar
18
18
  from uuid import UUID
19
19
 
20
- from pydantic import Extra, Field, SecretStr
21
- from pydantic.generics import GenericModel
20
+ from pydantic import ConfigDict, Field
22
21
 
23
22
  from zenml.analytics.models import AnalyticsTrackedModelMixin
24
23
  from zenml.enums import ResponseUpdateStrategy
@@ -35,26 +34,16 @@ class BaseZenModel(YAMLSerializationMixin, AnalyticsTrackedModelMixin):
35
34
  """Base model class for all ZenML models.
36
35
 
37
36
  This class is used as a base class for all ZenML models. It provides
38
- functionality for tracking analytics events and proper encoding of
39
- SecretStr values.
37
+ functionality for tracking analytics events.
40
38
  """
41
39
 
42
- class Config:
43
- """Pydantic configuration class."""
44
-
45
- # This is needed to allow the REST client and server to unpack SecretStr
46
- # values correctly.
47
- json_encoders = {
48
- SecretStr: lambda v: v.get_secret_value()
49
- if v is not None
50
- else None
51
- }
52
-
40
+ model_config = ConfigDict(
53
41
  # Ignore extras on all models to support forwards and backwards
54
42
  # compatibility (e.g. new fields in newer versions of ZenML servers
55
43
  # are allowed to be passed to older versions of ZenML clients and
56
44
  # vice versa but will be ignored).
57
- extra = "ignore"
45
+ extra="ignore",
46
+ )
58
47
 
59
48
 
60
49
  # -------------------- Request Model --------------------
@@ -67,6 +56,21 @@ class BaseRequest(BaseZenModel):
67
56
  """
68
57
 
69
58
 
59
+ # -------------------- Update Model --------------------
60
+
61
+
62
+ class BaseUpdate(BaseZenModel):
63
+ """Base update model.
64
+
65
+ Used as a base class for all update models.
66
+ """
67
+
68
+ model_config = ConfigDict(
69
+ # Ignore extras on all update models.
70
+ extra="ignore",
71
+ )
72
+
73
+
70
74
  # -------------------- Response Model --------------------
71
75
 
72
76
 
@@ -87,10 +91,7 @@ class BaseResponseResources(BaseZenModel):
87
91
  Used as a base class for all resource models associated with responses.
88
92
  """
89
93
 
90
- class Config:
91
- """Allows additional resources to be added."""
92
-
93
- extra = Extra.allow
94
+ model_config = ConfigDict(extra="allow")
94
95
 
95
96
 
96
97
  AnyBody = TypeVar("AnyBody", bound=BaseResponseBody)
@@ -98,9 +99,7 @@ AnyMetadata = TypeVar("AnyMetadata", bound=BaseResponseMetadata)
98
99
  AnyResources = TypeVar("AnyResources", bound=BaseResponseResources)
99
100
 
100
101
 
101
- class BaseResponse(
102
- GenericModel, Generic[AnyBody, AnyMetadata, AnyResources], BaseZenModel
103
- ):
102
+ class BaseResponse(BaseZenModel, Generic[AnyBody, AnyMetadata, AnyResources]):
104
103
  """Base domain model for all responses."""
105
104
 
106
105
  # Body and metadata pair
@@ -140,7 +139,7 @@ class BaseResponse(
140
139
  )
141
140
 
142
141
  # Check if the name has changed
143
- if "name" in self.__fields__:
142
+ if "name" in self.model_fields:
144
143
  original_name = getattr(self, "name")
145
144
  hydrated_name = getattr(hydrated_model, "name")
146
145
 
@@ -178,7 +177,7 @@ class BaseResponse(
178
177
  )
179
178
 
180
179
  # Check all the fields in the body
181
- for field in self.get_body().__fields__:
180
+ for field in self.get_body().model_fields:
182
181
  original_value = getattr(self.get_body(), field)
183
182
  hydrated_value = getattr(hydrated_model.get_body(), field)
184
183
 
@@ -253,9 +252,21 @@ class BaseResponse(
253
252
  """
254
253
  if self.metadata is None:
255
254
  # If the metadata is not there, check the class first.
256
- metadata_type = self.__fields__["metadata"].type_
255
+ metadata_annotation = self.model_fields["metadata"].annotation
256
+ assert metadata_annotation is not None, (
257
+ "For each response model, an annotated metadata"
258
+ "field should exist."
259
+ )
260
+
261
+ # metadata is defined as:
262
+ # metadata: Optional[....ResponseMetadata] = Field(default=None)
263
+ # We need to find the actual class inside the Optional annotation.
264
+ from zenml.utils.typing_utils import get_args
265
+
266
+ metadata_type = get_args(metadata_annotation)[0]
267
+ assert issubclass(metadata_type, BaseResponseMetadata)
257
268
 
258
- if len(metadata_type.__fields__):
269
+ if len(metadata_type.model_fields):
259
270
  # If the metadata class defines any fields, fetch the metadata
260
271
  # through the hydrated version.
261
272
  hydrated_version = self.get_hydrated_version()
@@ -281,9 +292,21 @@ class BaseResponse(
281
292
  """
282
293
  if self.resources is None:
283
294
  # If the resources are not there, check the class first.
284
- resources_type = self.__fields__["resources"].type_
295
+ resources_annotation = self.model_fields["resources"].annotation
296
+ assert resources_annotation is not None, (
297
+ "For each response model, an annotated resources"
298
+ "field should exist."
299
+ )
300
+
301
+ # metadata is defined as:
302
+ # metadata: Optional[....ResponseMetadata] = Field(default=None)
303
+ # We need to find the actual class inside the Optional annotation.
304
+ from zenml.utils.typing_utils import get_args
305
+
306
+ resources_type = get_args(resources_annotation)[0]
307
+ assert issubclass(resources_type, BaseResponseResources)
285
308
 
286
- if len(resources_type.__fields__):
309
+ if len(resources_type.model_fields):
287
310
  # If the resources class defines any fields, fetch the resources
288
311
  # through the hydrated version.
289
312
  hydrated_version = self.get_hydrated_version()
@@ -292,7 +315,7 @@ class BaseResponse(
292
315
  else:
293
316
  # Otherwise, use the resources class to create an empty
294
317
  # resources object.
295
- self.metadata = resources_type()
318
+ self.resources = resources_type()
296
319
 
297
320
  if self.resources is None:
298
321
  raise RuntimeError(
@@ -327,17 +350,7 @@ class BaseIdentifiedResponse(
327
350
  """Base domain model for resources with DB representation."""
328
351
 
329
352
  id: UUID = Field(title="The unique resource id.")
330
- body: Optional["AnyDatedBody"] = Field(
331
- title="The body of the resource, "
332
- "containing at the minimum "
333
- "creation and updated fields."
334
- )
335
- metadata: Optional["AnyMetadata"] = Field(
336
- title="The metadata related to this resource."
337
- )
338
- resources: Optional["AnyResources"] = Field(
339
- title="The resources related to this resource."
340
- )
353
+
341
354
  permission_denied: bool = False
342
355
 
343
356
  # Helper functions
@@ -15,7 +15,7 @@
15
15
 
16
16
  from typing import Generic, TypeVar
17
17
 
18
- from pydantic import Extra, Field
18
+ from pydantic import ConfigDict, Field
19
19
 
20
20
  from zenml.enums import PluginSubType, PluginType
21
21
  from zenml.models.v2.base.base import (
@@ -56,11 +56,7 @@ class BasePluginFlavorResponse(
56
56
  name: str = Field(title="Name of the flavor.")
57
57
  type: PluginType = Field(title="Type of the plugin.")
58
58
  subtype: PluginSubType = Field(title="Subtype of the plugin.")
59
-
60
- class Config:
61
- """Configuration for base plugin flavor response."""
62
-
63
- extra = Extra.ignore
59
+ model_config = ConfigDict(extra="ignore")
64
60
 
65
61
  def get_hydrated_version(
66
62
  self,