zenml-nightly 0.73.0.dev20250205__py3-none-any.whl → 0.74.0.dev20250207__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 (164) hide show
  1. zenml/VERSION +1 -1
  2. zenml/cli/utils.py +42 -53
  3. zenml/client.py +6 -2
  4. zenml/models/__init__.py +4 -2
  5. zenml/models/v2/base/filter.py +34 -11
  6. zenml/models/v2/base/scoped.py +4 -4
  7. zenml/models/v2/core/artifact.py +3 -3
  8. zenml/models/v2/core/artifact_version.py +22 -5
  9. zenml/models/v2/core/model.py +13 -3
  10. zenml/models/v2/core/model_version.py +13 -3
  11. zenml/models/v2/core/pipeline.py +11 -4
  12. zenml/models/v2/core/pipeline_run.py +20 -7
  13. zenml/models/v2/core/run_template.py +13 -3
  14. zenml/models/v2/core/step_run.py +9 -2
  15. zenml/pipelines/pipeline_definition.py +28 -12
  16. zenml/zen_server/dashboard/assets/{404-c8OuXDAT.js → 404-0leSZ7Vv.js} +1 -1
  17. zenml/zen_server/dashboard/assets/@radix-B7OY3d6N.js +85 -0
  18. zenml/zen_server/dashboard/assets/{@react-router-B3Z5rLr2.js → @react-router-CiF9laDg.js} +1 -1
  19. zenml/zen_server/dashboard/assets/@reactflow-DgwdIYyq.js +17 -0
  20. zenml/zen_server/dashboard/assets/@tanstack-W1pLDzVg.js +22 -0
  21. zenml/zen_server/dashboard/assets/{AlertDialogDropdownItem-8yPFDxEI.js → AlertDialogDropdownItem-BS4AoVte.js} +1 -1
  22. zenml/zen_server/dashboard/assets/CodeSnippet-CK2z-88v.js +9 -0
  23. zenml/zen_server/dashboard/assets/{CollapsibleCard-TiI4lId1.js → CollapsibleCard-BAuAdAje.js} +1 -1
  24. zenml/zen_server/dashboard/assets/{Commands-BcR2Arie.js → Commands-vjMqENS8.js} +1 -1
  25. zenml/zen_server/dashboard/assets/{ComponentBadge-BqQNUZgb.js → ComponentBadge-CNIM1NH_.js} +1 -1
  26. zenml/zen_server/dashboard/assets/{CopyButton-DCiXO3JC.js → CopyButton-BQf5nLgq.js} +1 -1
  27. zenml/zen_server/dashboard/assets/CsvVizualization-D77lRMYi.js +15 -0
  28. zenml/zen_server/dashboard/assets/{DeleteAlertDialog-DrPjHtXX.js → DeleteAlertDialog-CcDX1Hm_.js} +1 -1
  29. zenml/zen_server/dashboard/assets/{DialogItem-BYG7d_M2.js → DialogItem-L8-LNKgK.js} +1 -1
  30. zenml/zen_server/dashboard/assets/{DisplayDate-CDMUcQHS.js → DisplayDate-CZV8x8pB.js} +1 -1
  31. zenml/zen_server/dashboard/assets/{EmptyState-BzdlCwp3.js → EmptyState-C8-mkRwm.js} +1 -1
  32. zenml/zen_server/dashboard/assets/{Error-C1zbWr19.js → Error-DPRIglzA.js} +1 -1
  33. zenml/zen_server/dashboard/assets/{ExecutionStatus-Ct9srgHC.js → ExecutionStatus-DHmX6Vtj.js} +1 -1
  34. zenml/zen_server/dashboard/assets/{Helpbox-Bm_1Zx9f.js → Helpbox-DWOXAebr.js} +1 -1
  35. zenml/zen_server/dashboard/assets/{Infobox-OQdkCLSP.js → Infobox-Ls_918eD.js} +1 -1
  36. zenml/zen_server/dashboard/assets/{InlineAvatar-CQNjKoEQ.js → InlineAvatar-B9O7QxVo.js} +1 -1
  37. zenml/zen_server/dashboard/assets/{Lock-CYYy18Mm.js → Lock-6WGsAdiw.js} +1 -1
  38. zenml/zen_server/dashboard/assets/MarkdownVisualization-CPm4B45C.js +14 -0
  39. zenml/zen_server/dashboard/assets/{NestedCollapsible-DDgd2SGb.js → NestedCollapsible-CyUu7Vrm.js} +1 -1
  40. zenml/zen_server/dashboard/assets/{NumberBox-Dtp3J6g5.js → NumberBox-CqUodACv.js} +1 -1
  41. zenml/zen_server/dashboard/assets/{Partials-MD3e95Dk.js → Partials-CP_ZenWO.js} +1 -1
  42. zenml/zen_server/dashboard/assets/{PasswordChecker-B0nadgh6.js → PasswordChecker-Xh6Egpx9.js} +1 -1
  43. zenml/zen_server/dashboard/assets/ProBadge-DJCjz8Ox.js +1 -0
  44. zenml/zen_server/dashboard/assets/{ProCta-W2PEvNow.js → ProCta-BsYjjdUZ.js} +1 -1
  45. zenml/zen_server/dashboard/assets/{ProviderIcon-DfDUOeAy.js → ProviderIcon-C_XK4oaW.js} +1 -1
  46. zenml/zen_server/dashboard/assets/{ProviderRadio-B81Elxrc.js → ProviderRadio-C9z7SJnN.js} +1 -1
  47. zenml/zen_server/dashboard/assets/{RunSelector-DOXgdry5.js → RunSelector-C-YzhiVb.js} +1 -1
  48. zenml/zen_server/dashboard/assets/{RunsBody-Bnx2fxub.js → RunsBody-CNd_ej8-.js} +1 -1
  49. zenml/zen_server/dashboard/assets/{SearchField-Yjv-KRW4.js → SearchField-BYL1oNec.js} +1 -1
  50. zenml/zen_server/dashboard/assets/{SecretTooltip-EKpMlG2f.js → SecretTooltip-CYL2o5Gs.js} +1 -1
  51. zenml/zen_server/dashboard/assets/{SetPassword-CDLy57PZ.js → SetPassword-BnaLppIC.js} +1 -1
  52. zenml/zen_server/dashboard/assets/{StackList-DKQaLDo4.js → StackList-6XLpNMwt.js} +1 -1
  53. zenml/zen_server/dashboard/assets/{Tabs-B5E-o_h6.js → Tabs-BewshUAE.js} +1 -1
  54. zenml/zen_server/dashboard/assets/{Tick-DSYBiuXU.js → Tick-DHVI3HP0.js} +1 -1
  55. zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-HBNOeyoP.js → UpdatePasswordSchemas-CtzucewX.js} +1 -1
  56. zenml/zen_server/dashboard/assets/{UsageReason-DXtPS5nE.js → UsageReason-Bwhjhrv_.js} +1 -1
  57. zenml/zen_server/dashboard/assets/{WizardFooter-_1VSMZ_c.js → WizardFooter-CPk11vwc.js} +1 -1
  58. zenml/zen_server/dashboard/assets/{all-pipeline-runs-query-D0qDLdKB.js → all-pipeline-runs-query-Dh4L44hJ.js} +1 -1
  59. zenml/zen_server/dashboard/assets/{check-DloQpStc.js → check-BB0dVtdW.js} +1 -1
  60. zenml/zen_server/dashboard/assets/{check-circle-jNbX5-sR.js → check-circle-ByvKqRS_.js} +1 -1
  61. zenml/zen_server/dashboard/assets/{chevron-down-6JyMkfjR.js → chevron-down-DAWlSNuH.js} +1 -1
  62. zenml/zen_server/dashboard/assets/{chevron-right-double-D7ojK9Co.js → chevron-right-double-C5DtVuMS.js} +1 -1
  63. zenml/zen_server/dashboard/assets/clock-BWL9qBKt.js +1 -0
  64. zenml/zen_server/dashboard/assets/{code-browser-CUFUIHfp.js → code-browser-C6DP7a-M.js} +1 -1
  65. zenml/zen_server/dashboard/assets/{copy-C8XQA2Ug.js → copy-DmyMnHSy.js} +1 -1
  66. zenml/zen_server/dashboard/assets/{create-stack-7JzgAYAm.js → create-stack-BdNm_XEl.js} +1 -1
  67. zenml/zen_server/dashboard/assets/{delete-run-CUdtYFLl.js → delete-run-CUo7vxbD.js} +1 -1
  68. zenml/zen_server/dashboard/assets/{docker-BdA9vrnW.js → docker-C2dCztnc.js} +1 -1
  69. zenml/zen_server/dashboard/assets/{dots-horizontal-otGBOSDJ.js → dots-horizontal-C6QCz7jg.js} +1 -1
  70. zenml/zen_server/dashboard/assets/{form-schemas-B6PCV3Y4.js → form-schemas-B4cZxcUy.js} +1 -1
  71. zenml/zen_server/dashboard/assets/{gcp-CFtm4BA7.js → gcp-B1H0QrG5.js} +1 -1
  72. zenml/zen_server/dashboard/assets/{help-Cc9bBIJH.js → help-CgM5zwtY.js} +1 -1
  73. zenml/zen_server/dashboard/assets/index-4aOgYud0.js +1 -0
  74. zenml/zen_server/dashboard/assets/{index-CJ5IfeAl.js → index-6CSA2ij5.js} +1 -1
  75. zenml/zen_server/dashboard/assets/{index-Ceyzb1yI.js → index-BOeKQ3N4.js} +1 -1
  76. zenml/zen_server/dashboard/assets/{index-D4yoZ_gH.js → index-Cf1Ph5ra.js} +1 -1
  77. zenml/zen_server/dashboard/assets/index-D25WcEJJ.js +55 -0
  78. zenml/zen_server/dashboard/assets/index-apknmtn7.css +1 -0
  79. zenml/zen_server/dashboard/assets/index.esm-C5jC4e7W.js +1 -0
  80. zenml/zen_server/dashboard/assets/{key-icon-aH-QIa5R.js → key-icon-DuqxBBkq.js} +1 -1
  81. zenml/zen_server/dashboard/assets/{kubernetes-B2wmAJ1d.js → kubernetes-Bn54mlK-.js} +1 -1
  82. zenml/zen_server/dashboard/assets/{layout-BtHBmE4w.js → layout-Cj7MRWSi.js} +1 -1
  83. zenml/zen_server/dashboard/assets/{link-external-b9AXw_sW.js → link-external-CZxZlXqi.js} +1 -1
  84. zenml/zen_server/dashboard/assets/{login-mutation-BaeJ7MAg.js → login-mutation-EQPLh5Ne.js} +1 -1
  85. zenml/zen_server/dashboard/assets/{logs-WMSM52RF.js → logs-DYV_bf7Q.js} +1 -1
  86. zenml/zen_server/dashboard/assets/{not-found-MGptrNBk.js → not-found-DrxGMGNL.js} +1 -1
  87. zenml/zen_server/dashboard/assets/{package-C6uypY4h.js → package-MUwoWZFx.js} +1 -1
  88. zenml/zen_server/dashboard/assets/{page-C37IDa-Q.js → page-9AiMoKly.js} +1 -1
  89. zenml/zen_server/dashboard/assets/{page-yNh6PQKt.js → page-BF9z97Jf.js} +1 -1
  90. zenml/zen_server/dashboard/assets/{page-Aeu3v0MQ.js → page-BK6mVOKJ.js} +1 -1
  91. zenml/zen_server/dashboard/assets/{page-Ox-eC1ik.js → page-BK722dMv.js} +1 -1
  92. zenml/zen_server/dashboard/assets/{page-CbwI6emp.js → page-BNXv13PD.js} +1 -1
  93. zenml/zen_server/dashboard/assets/page-BmzgDMUV.js +1 -0
  94. zenml/zen_server/dashboard/assets/{page-Dv5lN2w7.js → page-BrUvz6Ag.js} +1 -1
  95. zenml/zen_server/dashboard/assets/{page-DyAuja95.js → page-Bt_6RgeM.js} +1 -1
  96. zenml/zen_server/dashboard/assets/{page-DKQ3wZgr.js → page-C2IJq-kV.js} +1 -1
  97. zenml/zen_server/dashboard/assets/{page-BhOXn-s9.js → page-C2KxJ-Cc.js} +1 -1
  98. zenml/zen_server/dashboard/assets/page-C9v0QDj8.js +2 -0
  99. zenml/zen_server/dashboard/assets/{page-CeNL9JWi.js → page-CHdCb7Xx.js} +1 -1
  100. zenml/zen_server/dashboard/assets/{page-CkPwPmLZ.js → page-CdQ_DdH1.js} +1 -1
  101. zenml/zen_server/dashboard/assets/page-ChFcVUFX.js +1 -0
  102. zenml/zen_server/dashboard/assets/{page-BXgXP-Qj.js → page-ChMOMdKd.js} +1 -1
  103. zenml/zen_server/dashboard/assets/{page-BbljjC-k.js → page-ChxtdsVY.js} +1 -1
  104. zenml/zen_server/dashboard/assets/{page-BXrtxEbw.js → page-Cj5NSnW5.js} +1 -1
  105. zenml/zen_server/dashboard/assets/{page-CXPc-HN1.js → page-Cz58X7s5.js} +2 -2
  106. zenml/zen_server/dashboard/assets/{page-D-KPzeQb.js → page-D-qjN5JP.js} +1 -1
  107. zenml/zen_server/dashboard/assets/{page-khp8QJ6b.js → page-D1jrbald.js} +1 -1
  108. zenml/zen_server/dashboard/assets/{page-CBiT2Ox9.js → page-DRYjt60M.js} +1 -1
  109. zenml/zen_server/dashboard/assets/{page-BKwwfTNy.js → page-De3oGQ3E.js} +1 -1
  110. zenml/zen_server/dashboard/assets/{page-BaUDR9Ri.js → page-DjO6yHuW.js} +1 -1
  111. zenml/zen_server/dashboard/assets/page-DzvVg_ZM.js +1 -0
  112. zenml/zen_server/dashboard/assets/{page-C4JpDeUM.js → page-JZ8WXQfh.js} +1 -1
  113. zenml/zen_server/dashboard/assets/{page-DbW8MfQ4.js → page-VUTBxySs.js} +1 -1
  114. zenml/zen_server/dashboard/assets/{page-CmJU3Gqo.js → page-YhLt4PLe.js} +1 -1
  115. zenml/zen_server/dashboard/assets/{page-CoFVtzhG.js → page-_ijqeiyw.js} +1 -1
  116. zenml/zen_server/dashboard/assets/page-ezpoc4vG.js +2 -0
  117. zenml/zen_server/dashboard/assets/{page-CB2_GdBA.js → page-fVsaiQi7.js} +1 -1
  118. zenml/zen_server/dashboard/assets/{page-Dvbq1BoF.js → page-q2kbm2x8.js} +1 -1
  119. zenml/zen_server/dashboard/assets/{page-BUjw8Tp1.js → page-qw7ivMVQ.js} +1 -1
  120. zenml/zen_server/dashboard/assets/{page-DzrdL2v1.js → page-y8flqx2D.js} +1 -1
  121. zenml/zen_server/dashboard/assets/{persist-K7AY0ju4.js → persist-CDPcIIlF.js} +1 -1
  122. zenml/zen_server/dashboard/assets/{persist-DBTFy--v.js → persist-Hxrm9o7f.js} +1 -1
  123. zenml/zen_server/dashboard/assets/{plus-tf1V2hTJ.js → plus-noRapLU5.js} +1 -1
  124. zenml/zen_server/dashboard/assets/react-error-boundary.esm-DOkSniBS.js +1 -0
  125. zenml/zen_server/dashboard/assets/{refresh-BjOeWlEq.js → refresh-Jr_advur.js} +1 -1
  126. zenml/zen_server/dashboard/assets/{rocket-DjT2cDvG.js → rocket-GOlMupOS.js} +1 -1
  127. zenml/zen_server/dashboard/assets/{service-BvOYLH5b.js → service-Db_ee3ql.js} +1 -1
  128. zenml/zen_server/dashboard/assets/sharedSchema-BE8kPXOv.js +14 -0
  129. zenml/zen_server/dashboard/assets/{stack-detail-query-DMJoxwgv.js → stack-detail-query-B2rvP4uR.js} +1 -1
  130. zenml/zen_server/dashboard/assets/{tick-circle-BEX_Tp4v.js → tick-circle-DKkiYi_R.js} +1 -1
  131. zenml/zen_server/dashboard/assets/{trash-arLUMWMS.js → trash-Dm8g1gZ8.js} +1 -1
  132. zenml/zen_server/dashboard/assets/{update-server-settings-mutation-ATZDNNZk.js → update-server-settings-mutation-Bgnr2Ssw.js} +1 -1
  133. zenml/zen_server/dashboard/assets/{url-BWJXzuI4.js → url-1R6qfphK.js} +1 -1
  134. zenml/zen_server/dashboard/assets/{zod-BwEbpOxH.js → zod-C2FdaFLe.js} +1 -1
  135. zenml/zen_server/dashboard/index.html +8 -8
  136. zenml/zen_stores/migrations/versions/0.74.0_release.py +23 -0
  137. zenml/zen_stores/schemas/artifact_schemas.py +31 -4
  138. zenml/zen_stores/schemas/model_schemas.py +31 -6
  139. zenml/zen_stores/schemas/pipeline_run_schemas.py +1 -1
  140. zenml/zen_stores/schemas/pipeline_schemas.py +35 -8
  141. zenml/zen_stores/schemas/run_template_schemas.py +42 -14
  142. {zenml_nightly-0.73.0.dev20250205.dist-info → zenml_nightly-0.74.0.dev20250207.dist-info}/METADATA +2 -2
  143. {zenml_nightly-0.73.0.dev20250205.dist-info → zenml_nightly-0.74.0.dev20250207.dist-info}/RECORD +148 -144
  144. zenml/zen_server/dashboard/assets/@radix-DeK6qiuw.js +0 -85
  145. zenml/zen_server/dashboard/assets/@reactflow-6JPoencd.js +0 -17
  146. zenml/zen_server/dashboard/assets/@tanstack-DT5WLu9C.js +0 -22
  147. zenml/zen_server/dashboard/assets/CodeSnippet-Qh1ae_DJ.js +0 -9
  148. zenml/zen_server/dashboard/assets/CsvVizualization-O9cVIaL8.js +0 -15
  149. zenml/zen_server/dashboard/assets/MarkdownVisualization-ylXaAxev.js +0 -14
  150. zenml/zen_server/dashboard/assets/ProBadge-D784iVNC.js +0 -1
  151. zenml/zen_server/dashboard/assets/index-B6U0OkEN.css +0 -1
  152. zenml/zen_server/dashboard/assets/index-CxO6541P.js +0 -55
  153. zenml/zen_server/dashboard/assets/index-Uu49AX48.js +0 -1
  154. zenml/zen_server/dashboard/assets/index.esm-Dy6Z9Ung.js +0 -1
  155. zenml/zen_server/dashboard/assets/page-BCgEdmhP.js +0 -1
  156. zenml/zen_server/dashboard/assets/page-DWWhxCoF.js +0 -1
  157. zenml/zen_server/dashboard/assets/page-I2B4Ocv8.js +0 -1
  158. zenml/zen_server/dashboard/assets/page-OdjGauvw.js +0 -2
  159. zenml/zen_server/dashboard/assets/sharedSchema-xJDsJNgJ.js +0 -14
  160. /zenml/zen_server/dashboard/assets/{@reactflow-C26Olbza.css → @reactflow-Fd0xVSp_.css} +0 -0
  161. /zenml/zen_server/dashboard/assets/{CodeSnippet-Bbx6fIb6.css → CodeSnippet-CK5CxKct.css} +0 -0
  162. {zenml_nightly-0.73.0.dev20250205.dist-info → zenml_nightly-0.74.0.dev20250207.dist-info}/LICENSE +0 -0
  163. {zenml_nightly-0.73.0.dev20250205.dist-info → zenml_nightly-0.74.0.dev20250207.dist-info}/WHEEL +0 -0
  164. {zenml_nightly-0.73.0.dev20250205.dist-info → zenml_nightly-0.74.0.dev20250207.dist-info}/entry_points.txt +0 -0
@@ -33,12 +33,13 @@ from zenml.constants import STR_FIELD_MAX_LENGTH, TEXT_FIELD_MAX_LENGTH
33
33
  from zenml.enums import ExecutionStatus
34
34
  from zenml.models.v2.base.base import BaseUpdate
35
35
  from zenml.models.v2.base.scoped import (
36
+ TaggableFilter,
37
+ WorkspaceScopedFilter,
36
38
  WorkspaceScopedRequest,
37
39
  WorkspaceScopedResponse,
38
40
  WorkspaceScopedResponseBody,
39
41
  WorkspaceScopedResponseMetadata,
40
42
  WorkspaceScopedResponseResources,
41
- WorkspaceScopedTaggableFilter,
42
43
  )
43
44
  from zenml.models.v2.core.code_reference import (
44
45
  CodeReferenceResponse,
@@ -307,11 +308,12 @@ class RunTemplateResponse(
307
308
  # ------------------ Filter Model ------------------
308
309
 
309
310
 
310
- class RunTemplateFilter(WorkspaceScopedTaggableFilter):
311
+ class RunTemplateFilter(WorkspaceScopedFilter, TaggableFilter):
311
312
  """Model for filtering of run templates."""
312
313
 
313
314
  FILTER_EXCLUDE_FIELDS: ClassVar[List[str]] = [
314
- *WorkspaceScopedTaggableFilter.FILTER_EXCLUDE_FIELDS,
315
+ *WorkspaceScopedFilter.FILTER_EXCLUDE_FIELDS,
316
+ *TaggableFilter.FILTER_EXCLUDE_FIELDS,
315
317
  "code_repository_id",
316
318
  "stack_id",
317
319
  "build_id",
@@ -320,6 +322,14 @@ class RunTemplateFilter(WorkspaceScopedTaggableFilter):
320
322
  "pipeline",
321
323
  "stack",
322
324
  ]
325
+ CUSTOM_SORTING_OPTIONS = [
326
+ *WorkspaceScopedFilter.CUSTOM_SORTING_OPTIONS,
327
+ *TaggableFilter.CUSTOM_SORTING_OPTIONS,
328
+ ]
329
+ CLI_EXCLUDE_FIELDS = [
330
+ *WorkspaceScopedFilter.CLI_EXCLUDE_FIELDS,
331
+ *TaggableFilter.CLI_EXCLUDE_FIELDS,
332
+ ]
323
333
 
324
334
  name: Optional[str] = Field(
325
335
  default=None,
@@ -16,6 +16,7 @@
16
16
  from datetime import datetime
17
17
  from typing import (
18
18
  TYPE_CHECKING,
19
+ Any,
19
20
  ClassVar,
20
21
  Dict,
21
22
  List,
@@ -574,7 +575,7 @@ class StepRunFilter(WorkspaceScopedFilter):
574
575
  default=None,
575
576
  description="Name/ID of the model associated with the step run.",
576
577
  )
577
- run_metadata: Optional[Dict[str, str]] = Field(
578
+ run_metadata: Optional[Dict[str, Any]] = Field(
578
579
  default=None,
579
580
  description="The run_metadata to filter the step runs by.",
580
581
  )
@@ -619,13 +620,19 @@ class StepRunFilter(WorkspaceScopedFilter):
619
620
  additional_filter = and_(
620
621
  RunMetadataResourceSchema.resource_id == StepRunSchema.id,
621
622
  RunMetadataResourceSchema.resource_type
622
- == MetadataResourceTypes.STEP_RUN,
623
+ == MetadataResourceTypes.STEP_RUN.value,
623
624
  RunMetadataResourceSchema.run_metadata_id
624
625
  == RunMetadataSchema.id,
626
+ self.generate_custom_query_conditions_for_column(
627
+ value=key,
628
+ table=RunMetadataSchema,
629
+ column="key",
630
+ ),
625
631
  self.generate_custom_query_conditions_for_column(
626
632
  value=value,
627
633
  table=RunMetadataSchema,
628
634
  column="value",
635
+ json_encode_value=True,
629
636
  ),
630
637
  )
631
638
  custom_filters.append(additional_filter)
@@ -407,17 +407,31 @@ class Pipeline:
407
407
  return self
408
408
 
409
409
  @property
410
- def requires_parameters(self) -> bool:
411
- """If the pipeline entrypoint requires parameters.
410
+ def required_parameters(self) -> List[str]:
411
+ """List of required parameters for the pipeline entrypoint.
412
412
 
413
413
  Returns:
414
- If the pipeline entrypoint requires parameters.
414
+ List of required parameters for the pipeline entrypoint.
415
415
  """
416
416
  signature = inspect.signature(self.entrypoint, follow_wrapped=True)
417
- return any(
418
- parameter.default is inspect.Parameter.empty
417
+ return [
418
+ parameter.name
419
419
  for parameter in signature.parameters.values()
420
- )
420
+ if parameter.default is inspect.Parameter.empty
421
+ ]
422
+
423
+ @property
424
+ def missing_parameters(self) -> List[str]:
425
+ """List of missing parameters for the pipeline entrypoint.
426
+
427
+ Returns:
428
+ List of missing parameters for the pipeline entrypoint.
429
+ """
430
+ available_parameters = set(self.configuration.parameters or {})
431
+ if params_from_file := self._from_config_file.get("parameters", None):
432
+ available_parameters.update(params_from_file)
433
+
434
+ return list(set(self.required_parameters) - available_parameters)
421
435
 
422
436
  @property
423
437
  def is_prepared(self) -> bool:
@@ -1412,7 +1426,7 @@ To avoid this consider setting pipeline parameters only in one place (config or
1412
1426
  except ValidationError as e:
1413
1427
  raise ValueError(
1414
1428
  "Invalid or missing pipeline function entrypoint arguments. "
1415
- "Only JSON serializable inputs are allowed as pipeline inputs."
1429
+ "Only JSON serializable inputs are allowed as pipeline inputs. "
1416
1430
  "Check out the pydantic error above for more details."
1417
1431
  ) from e
1418
1432
 
@@ -1427,15 +1441,17 @@ To avoid this consider setting pipeline parameters only in one place (config or
1427
1441
  requires parameters.
1428
1442
  """
1429
1443
  if not self.is_prepared:
1430
- if self.requires_parameters:
1444
+ if missing_parameters := self.missing_parameters:
1431
1445
  raise RuntimeError(
1432
1446
  f"Failed while trying to prepare pipeline {self.name}. "
1433
1447
  "The entrypoint function of the pipeline requires "
1434
- "arguments. Please prepare the pipeline by calling "
1435
- "`pipeline_instance.prepare(...)` and try again."
1448
+ "arguments which have not been configured yet: "
1449
+ f"{missing_parameters}. Please provide those parameters by "
1450
+ "calling `pipeline_instance.configure(parameters=...)` or "
1451
+ "by calling `pipeline_instance.prepare(...)` and try again."
1436
1452
  )
1437
- else:
1438
- self.prepare()
1453
+
1454
+ self.prepare()
1439
1455
 
1440
1456
  def create_run_template(
1441
1457
  self, name: str, **kwargs: Any
@@ -1 +1 @@
1
- import{j as e}from"./@radix-DeK6qiuw.js";import{f as s,r as t}from"./index-CxO6541P.js";import{E as r}from"./EmptyState-BzdlCwp3.js";import{S as a}from"./help-Cc9bBIJH.js";import{L as o}from"./@react-router-B3Z5rLr2.js";import"./@tanstack-DT5WLu9C.js";import"./@reactflow-6JPoencd.js";function d(){return e.jsx("div",{className:"flex min-h-screen w-full flex-col",children:e.jsx(r,{icon:e.jsx(a,{className:"h-[120px] w-[120px] fill-neutral-300"}),children:e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"mb-2 text-display-xs font-semibold",children:"We can't find the page you are looking for"}),e.jsx("p",{className:"text-lg text-theme-text-secondary",children:"You can try typing a different URL or we can bring you back to your Homepage."}),e.jsx("div",{className:"mt-5 flex justify-center",children:e.jsx(s,{size:"md",asChild:!0,children:e.jsx(o,{className:"w-min self-center whitespace-nowrap",to:t.home,children:e.jsx("span",{className:"px-0.5",children:"Go to Home"})})})})]})})})}export{d as default};
1
+ import{j as e}from"./@radix-B7OY3d6N.js";import{f as s,r as t}from"./index-D25WcEJJ.js";import{E as r}from"./EmptyState-C8-mkRwm.js";import{S as a}from"./help-CgM5zwtY.js";import{L as o}from"./@react-router-CiF9laDg.js";import"./@tanstack-W1pLDzVg.js";import"./@reactflow-DgwdIYyq.js";function d(){return e.jsx("div",{className:"flex min-h-screen w-full flex-col",children:e.jsx(r,{icon:e.jsx(a,{className:"h-[120px] w-[120px] fill-neutral-300"}),children:e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"mb-2 text-display-xs font-semibold",children:"We can't find the page you are looking for"}),e.jsx("p",{className:"text-lg text-theme-text-secondary",children:"You can try typing a different URL or we can bring you back to your Homepage."}),e.jsx("div",{className:"mt-5 flex justify-center",children:e.jsx(s,{size:"md",asChild:!0,children:e.jsx(o,{className:"w-min self-center whitespace-nowrap",to:t.home,children:e.jsx("span",{className:"px-0.5",children:"Go to Home"})})})})]})})})}export{d as default};