diff --git a/backend/src/v2/compiler/argocompiler/argo.go b/backend/src/v2/compiler/argocompiler/argo.go index faf5b2b69840..b6899f9b6c67 100644 --- a/backend/src/v2/compiler/argocompiler/argo.go +++ b/backend/src/v2/compiler/argocompiler/argo.go @@ -262,7 +262,7 @@ func (c *workflowCompiler) argumentsPlaceholder(componentName string) (string, e return workflowParameter(componentName), nil } -// extractBaseComponentName removes the iteration suffix that the IR compiler +// ExtractBaseComponentName removes the iteration suffix that the IR compiler // adds to the component name. func ExtractBaseComponentName(componentName string) string { baseComponentName := componentName @@ -270,7 +270,6 @@ func ExtractBaseComponentName(componentName string) string { if _, err := strconv.Atoi(componentNameArray[len(componentNameArray)-1]); err == nil { baseComponentName = strings.Join(componentNameArray[:len(componentNameArray)-1], "-") - } return baseComponentName diff --git a/backend/src/v2/compiler/argocompiler/argo_test.go b/backend/src/v2/compiler/argocompiler/argo_test.go index f3bb1fdcb1c0..3f6ccb88afe2 100644 --- a/backend/src/v2/compiler/argocompiler/argo_test.go +++ b/backend/src/v2/compiler/argocompiler/argo_test.go @@ -154,6 +154,21 @@ func Test_extractBaseComponentName(t *testing.T) { componentName: "component", expectedBaseName: "component", }, + { + name: "Last char is int", + componentName: "component-v2", + expectedBaseName: "component-v2", + }, + { + name: "Multiple dashes, ends with int", + componentName: "service-api-v2", + expectedBaseName: "service-api-v2", + }, + { + name: "Multiple dashes and ints", + componentName: "module-1-2-3", + expectedBaseName: "module-1-2", + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { diff --git a/sdk/python/kfp/compiler/compiler_test.py b/sdk/python/kfp/compiler/compiler_test.py index d417d9eec199..3051dca17fdd 100644 --- a/sdk/python/kfp/compiler/compiler_test.py +++ b/sdk/python/kfp/compiler/compiler_test.py @@ -129,7 +129,7 @@ def comp(): @dsl.component -def return_1() -> int: +def return_one() -> int: return 1 @@ -3369,43 +3369,43 @@ def test_cpu_memory_optional(self): @dsl.pipeline def simple_pipeline(): - return_1() - return_1().set_cpu_limit('5') - return_1().set_memory_limit('50G') - return_1().set_cpu_request('2').set_cpu_limit( + return_one() + return_one().set_cpu_limit('5') + return_one().set_memory_limit('50G') + return_one().set_cpu_request('2').set_cpu_limit( '5').set_memory_request('4G').set_memory_limit('50G') dict_format = json_format.MessageToDict(simple_pipeline.pipeline_spec) self.assertNotIn( 'resources', dict_format['deploymentSpec']['executors'] - ['exec-return-1']['container']) + ['exec-return-one']['container']) self.assertEqual( - 5, dict_format['deploymentSpec']['executors']['exec-return-1-2'] + 5, dict_format['deploymentSpec']['executors']['exec-return-one-2'] ['container']['resources']['cpuLimit']) self.assertNotIn( 'memoryLimit', dict_format['deploymentSpec']['executors'] - ['exec-return-1-2']['container']['resources']) + ['exec-return-one-2']['container']['resources']) self.assertEqual( - 50, dict_format['deploymentSpec']['executors']['exec-return-1-3'] + 50, dict_format['deploymentSpec']['executors']['exec-return-one-3'] ['container']['resources']['memoryLimit']) self.assertNotIn( 'cpuLimit', dict_format['deploymentSpec']['executors'] - ['exec-return-1-3']['container']['resources']) + ['exec-return-one-3']['container']['resources']) self.assertEqual( - 2, dict_format['deploymentSpec']['executors']['exec-return-1-4'] + 2, dict_format['deploymentSpec']['executors']['exec-return-one-4'] ['container']['resources']['cpuRequest']) self.assertEqual( - 5, dict_format['deploymentSpec']['executors']['exec-return-1-4'] + 5, dict_format['deploymentSpec']['executors']['exec-return-one-4'] ['container']['resources']['cpuLimit']) self.assertEqual( - 4, dict_format['deploymentSpec']['executors']['exec-return-1-4'] + 4, dict_format['deploymentSpec']['executors']['exec-return-one-4'] ['container']['resources']['memoryRequest']) self.assertEqual( - 50, dict_format['deploymentSpec']['executors']['exec-return-1-4'] + 50, dict_format['deploymentSpec']['executors']['exec-return-one-4'] ['container']['resources']['memoryLimit']) diff --git a/sdk/python/kfp/dsl/component_factory.py b/sdk/python/kfp/dsl/component_factory.py index 1af26d80bfc4..e6d9656f89ad 100644 --- a/sdk/python/kfp/dsl/component_factory.py +++ b/sdk/python/kfp/dsl/component_factory.py @@ -66,6 +66,13 @@ class ComponentInfo(): def _python_function_name_to_component_name(name): name_with_spaces = re.sub(' +', ' ', name.replace('_', ' ')).strip(' ') + name_list = name_with_spaces.split(' ') + + if name_list[-1].isdigit(): + raise ValueError( + f'Invalid function name "{name}". The function name must not end in `_`.' + ) + return name_with_spaces[0].upper() + name_with_spaces[1:] diff --git a/sdk/python/kfp/dsl/component_factory_test.py b/sdk/python/kfp/dsl/component_factory_test.py index b602be241fd0..7f8770cbed5d 100644 --- a/sdk/python/kfp/dsl/component_factory_test.py +++ b/sdk/python/kfp/dsl/component_factory_test.py @@ -174,6 +174,30 @@ def comp(Output: OutputPath(str), text: str) -> str: pass +class TestPythonFunctionName(unittest.TestCase): + + def test_invalid_function_name(self): + + with self.assertRaisesRegex( + ValueError, + r'Invalid function name "comp_2". The function name must not end in `_`.' + ): + + @component + def comp_2(text: str) -> str: + pass + + def test_valid_function_name(self): + + @component + def comp_v2(text: str) -> str: + pass + + @component + def comp_(text: str) -> str: + pass + + class TestExtractComponentInterfaceListofArtifacts(unittest.TestCase): def test_python_component_input(self): diff --git a/sdk/python/test_data/pipelines/if_elif_else_complex.py b/sdk/python/test_data/pipelines/if_elif_else_complex.py index ea616d9bdf12..c7ebdc804bf8 100644 --- a/sdk/python/test_data/pipelines/if_elif_else_complex.py +++ b/sdk/python/test_data/pipelines/if_elif_else_complex.py @@ -18,7 +18,7 @@ @dsl.component -def int_0_to_9999() -> int: +def int_0_to_9999_func() -> int: import random return random.randint(0, 9999) @@ -49,7 +49,7 @@ def lucky_number_pipeline(add_drumroll: bool = True, repeat_if_lucky_number: bool = True, trials: List[int] = [1, 2, 3]): with dsl.ParallelFor(trials) as trial: - int_task = int_0_to_9999().set_caching_options(False) + int_task = int_0_to_9999_func().set_caching_options(False) with dsl.If(add_drumroll == True): with dsl.If(trial == 3): print_and_return(text='Adding drumroll on last trial!') diff --git a/sdk/python/test_data/pipelines/if_elif_else_complex.yaml b/sdk/python/test_data/pipelines/if_elif_else_complex.yaml index 9950a23713ce..7e9a1296746e 100644 --- a/sdk/python/test_data/pipelines/if_elif_else_complex.yaml +++ b/sdk/python/test_data/pipelines/if_elif_else_complex.yaml @@ -28,7 +28,7 @@ components: name: print-and-return-5 inputDefinitions: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: parameterType: NUMBER_INTEGER pipelinechannel--is-even-or-odd-2-Output: parameterType: STRING @@ -59,7 +59,7 @@ components: name: print-and-return-6 inputDefinitions: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: parameterType: NUMBER_INTEGER pipelinechannel--is-even-or-odd-2-Output: parameterType: STRING @@ -75,8 +75,8 @@ components: name: comp-condition-14 inputs: parameters: - pipelinechannel--int-0-to-9999-Output: - componentInputParameter: pipelinechannel--int-0-to-9999-Output + pipelinechannel--int-0-to-9999-func-Output: + componentInputParameter: pipelinechannel--int-0-to-9999-func-Output pipelinechannel--repeat_if_lucky_number: componentInputParameter: pipelinechannel--repeat_if_lucky_number taskInfo: @@ -99,7 +99,7 @@ components: name: print-and-return-8 inputDefinitions: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: parameterType: NUMBER_INTEGER pipelinechannel--repeat_if_lucky_number: parameterType: BOOLEAN @@ -111,8 +111,8 @@ components: name: comp-for-loop-16 inputs: parameters: - pipelinechannel--int-0-to-9999-Output: - componentInputParameter: pipelinechannel--int-0-to-9999-Output + pipelinechannel--int-0-to-9999-func-Output: + componentInputParameter: pipelinechannel--int-0-to-9999-func-Output pipelinechannel--repeat_if_lucky_number: componentInputParameter: pipelinechannel--repeat_if_lucky_number parameterIterator: @@ -123,7 +123,7 @@ components: name: for-loop-16 inputDefinitions: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: parameterType: NUMBER_INTEGER pipelinechannel--repeat_if_lucky_number: parameterType: BOOLEAN @@ -194,7 +194,7 @@ components: name: print-and-return-2 inputDefinitions: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: parameterType: NUMBER_INTEGER pipelinechannel--is-even-or-odd-Output: parameterType: STRING @@ -225,7 +225,7 @@ components: name: print-and-return-3 inputDefinitions: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: parameterType: NUMBER_INTEGER pipelinechannel--is-even-or-odd-Output: parameterType: STRING @@ -243,8 +243,8 @@ components: - is-even-or-odd inputs: parameters: - pipelinechannel--int-0-to-9999-Output: - componentInputParameter: pipelinechannel--int-0-to-9999-Output + pipelinechannel--int-0-to-9999-func-Output: + componentInputParameter: pipelinechannel--int-0-to-9999-func-Output pipelinechannel--is-even-or-odd-Output: taskOutputParameter: outputParameterKey: Output @@ -259,7 +259,7 @@ components: inputs: parameters: num: - componentInputParameter: pipelinechannel--int-0-to-9999-Output + componentInputParameter: pipelinechannel--int-0-to-9999-func-Output taskInfo: name: is-even-or-odd print-and-return-4: @@ -279,7 +279,7 @@ components: name: print-and-return-4 inputDefinitions: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: parameterType: NUMBER_INTEGER comp-condition-9: dag: @@ -291,8 +291,8 @@ components: - is-even-or-odd-2 inputs: parameters: - pipelinechannel--int-0-to-9999-Output: - componentInputParameter: pipelinechannel--int-0-to-9999-Output + pipelinechannel--int-0-to-9999-func-Output: + componentInputParameter: pipelinechannel--int-0-to-9999-func-Output pipelinechannel--is-even-or-odd-2-Output: taskOutputParameter: outputParameterKey: Output @@ -307,7 +307,7 @@ components: inputs: parameters: num: - componentInputParameter: pipelinechannel--int-0-to-9999-Output + componentInputParameter: pipelinechannel--int-0-to-9999-func-Output taskInfo: name: is-even-or-odd-2 print-and-return-7: @@ -327,7 +327,7 @@ components: name: print-and-return-7 inputDefinitions: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: parameterType: NUMBER_INTEGER comp-condition-branches-10: dag: @@ -346,8 +346,8 @@ components: name: comp-condition-11 inputs: parameters: - pipelinechannel--int-0-to-9999-Output: - componentInputParameter: pipelinechannel--int-0-to-9999-Output + pipelinechannel--int-0-to-9999-func-Output: + componentInputParameter: pipelinechannel--int-0-to-9999-func-Output pipelinechannel--is-even-or-odd-2-Output: componentInputParameter: pipelinechannel--is-even-or-odd-2-Output taskInfo: @@ -360,8 +360,8 @@ components: name: comp-condition-12 inputs: parameters: - pipelinechannel--int-0-to-9999-Output: - componentInputParameter: pipelinechannel--int-0-to-9999-Output + pipelinechannel--int-0-to-9999-func-Output: + componentInputParameter: pipelinechannel--int-0-to-9999-func-Output pipelinechannel--is-even-or-odd-2-Output: componentInputParameter: pipelinechannel--is-even-or-odd-2-Output taskInfo: @@ -371,7 +371,7 @@ components: == ''even'')' inputDefinitions: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: parameterType: NUMBER_INTEGER pipelinechannel--is-even-or-odd-2-Output: parameterType: STRING @@ -387,44 +387,44 @@ components: name: comp-condition-13 inputs: parameters: - pipelinechannel--int-0-to-9999-Output: - componentInputParameter: pipelinechannel--int-0-to-9999-Output + pipelinechannel--int-0-to-9999-func-Output: + componentInputParameter: pipelinechannel--int-0-to-9999-func-Output pipelinechannel--repeat_if_lucky_number: componentInputParameter: pipelinechannel--repeat_if_lucky_number taskInfo: name: condition-13 triggerPolicy: - condition: '!(int(inputs.parameter_values[''pipelinechannel--int-0-to-9999-Output'']) - < 5000) && !(int(inputs.parameter_values[''pipelinechannel--int-0-to-9999-Output'']) + condition: '!(int(inputs.parameter_values[''pipelinechannel--int-0-to-9999-func-Output'']) + < 5000) && !(int(inputs.parameter_values[''pipelinechannel--int-0-to-9999-func-Output'']) > 5000)' condition-8: componentRef: name: comp-condition-8 inputs: parameters: - pipelinechannel--int-0-to-9999-Output: - componentInputParameter: pipelinechannel--int-0-to-9999-Output + pipelinechannel--int-0-to-9999-func-Output: + componentInputParameter: pipelinechannel--int-0-to-9999-func-Output taskInfo: name: condition-8 triggerPolicy: - condition: int(inputs.parameter_values['pipelinechannel--int-0-to-9999-Output']) + condition: int(inputs.parameter_values['pipelinechannel--int-0-to-9999-func-Output']) < 5000 condition-9: componentRef: name: comp-condition-9 inputs: parameters: - pipelinechannel--int-0-to-9999-Output: - componentInputParameter: pipelinechannel--int-0-to-9999-Output + pipelinechannel--int-0-to-9999-func-Output: + componentInputParameter: pipelinechannel--int-0-to-9999-func-Output taskInfo: name: condition-9 triggerPolicy: - condition: '!(int(inputs.parameter_values[''pipelinechannel--int-0-to-9999-Output'']) - < 5000) && int(inputs.parameter_values[''pipelinechannel--int-0-to-9999-Output'']) + condition: '!(int(inputs.parameter_values[''pipelinechannel--int-0-to-9999-func-Output'']) + < 5000) && int(inputs.parameter_values[''pipelinechannel--int-0-to-9999-func-Output'']) > 5000' inputDefinitions: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: parameterType: NUMBER_INTEGER pipelinechannel--repeat_if_lucky_number: parameterType: BOOLEAN @@ -445,8 +445,8 @@ components: name: comp-condition-6 inputs: parameters: - pipelinechannel--int-0-to-9999-Output: - componentInputParameter: pipelinechannel--int-0-to-9999-Output + pipelinechannel--int-0-to-9999-func-Output: + componentInputParameter: pipelinechannel--int-0-to-9999-func-Output pipelinechannel--is-even-or-odd-Output: componentInputParameter: pipelinechannel--is-even-or-odd-Output taskInfo: @@ -459,8 +459,8 @@ components: name: comp-condition-7 inputs: parameters: - pipelinechannel--int-0-to-9999-Output: - componentInputParameter: pipelinechannel--int-0-to-9999-Output + pipelinechannel--int-0-to-9999-func-Output: + componentInputParameter: pipelinechannel--int-0-to-9999-func-Output pipelinechannel--is-even-or-odd-Output: componentInputParameter: pipelinechannel--is-even-or-odd-Output taskInfo: @@ -470,7 +470,7 @@ components: == ''even'')' inputDefinitions: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: parameterType: NUMBER_INTEGER pipelinechannel--is-even-or-odd-Output: parameterType: STRING @@ -482,10 +482,10 @@ components: dag: outputs: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: valueFromParameter: outputParameterKey: Output - producerSubtask: int-0-to-9999 + producerSubtask: int-0-to-9999-func tasks: condition-2: componentRef: @@ -505,23 +505,23 @@ components: componentRef: name: comp-condition-branches-4 dependentTasks: - - int-0-to-9999 + - int-0-to-9999-func inputs: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: taskOutputParameter: outputParameterKey: Output - producerTask: int-0-to-9999 + producerTask: int-0-to-9999-func pipelinechannel--repeat_if_lucky_number: componentInputParameter: pipelinechannel--repeat_if_lucky_number taskInfo: name: condition-branches-4 - int-0-to-9999: + int-0-to-9999-func: cachingOptions: {} componentRef: - name: comp-int-0-to-9999 + name: comp-int-0-to-9999-func taskInfo: - name: int-0-to-9999 + name: int-0-to-9999-func inputDefinitions: parameters: pipelinechannel--add_drumroll: @@ -534,7 +534,7 @@ components: parameterType: NUMBER_INTEGER outputDefinitions: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: parameterType: LIST comp-for-loop-16: dag: @@ -554,14 +554,14 @@ components: name: print-and-return-9 inputDefinitions: parameters: - pipelinechannel--int-0-to-9999-Output: + pipelinechannel--int-0-to-9999-func-Output: parameterType: NUMBER_INTEGER pipelinechannel--loop-item-param-15: parameterType: NUMBER_INTEGER pipelinechannel--repeat_if_lucky_number: parameterType: BOOLEAN - comp-int-0-to-9999: - executorLabel: exec-int-0-to-9999 + comp-int-0-to-9999-func: + executorLabel: exec-int-0-to-9999-func outputDefinitions: parameters: Output: @@ -684,19 +684,19 @@ components: parameterType: LIST deploymentSpec: executors: - exec-int-0-to-9999: + exec-int-0-to-9999-func: container: args: - --executor_input - '{{$}}' - --function_to_execute - - int_0_to_9999 + - int_0_to_9999_func command: - sh - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -710,7 +710,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ - \ *\n\ndef int_0_to_9999() -> int:\n import random\n return random.randint(0,\ + \ *\n\ndef int_0_to_9999_func() -> int:\n import random\n return random.randint(0,\ \ 9999)\n\n" image: python:3.8 exec-is-even-or-odd: @@ -725,7 +725,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -754,7 +754,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -783,7 +783,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -812,7 +812,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -841,7 +841,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -870,7 +870,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -899,7 +899,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -928,7 +928,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -957,7 +957,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -986,7 +986,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -1015,7 +1015,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -1044,7 +1044,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -1093,7 +1093,7 @@ root: parameters: ints: taskOutputParameter: - outputParameterKey: pipelinechannel--int-0-to-9999-Output + outputParameterKey: pipelinechannel--int-0-to-9999-func-Output producerTask: for-loop-1 taskInfo: name: print-ints @@ -1115,4 +1115,4 @@ root: isOptional: true parameterType: LIST schemaVersion: 2.1.0 -sdkVersion: kfp-2.7.0 +sdkVersion: kfp-2.8.0 diff --git a/sdk/python/test_data/pipelines/pipeline_with_parallelfor_parallelism.py b/sdk/python/test_data/pipelines/pipeline_with_parallelfor_parallelism.py index f477767dd64a..05d50c320415 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_parallelfor_parallelism.py +++ b/sdk/python/test_data/pipelines/pipeline_with_parallelfor_parallelism.py @@ -33,7 +33,7 @@ def print_int(x: int): @component -def list_dict_maker_0() -> List[Dict[str, int]]: +def list_dict_maker_v0() -> List[Dict[str, int]]: """Enforces strict type checking - returns a list of dictionaries where keys are strings and values are integers. For testing type handling during compilation.""" @@ -41,7 +41,7 @@ def list_dict_maker_0() -> List[Dict[str, int]]: @component -def list_dict_maker_1() -> List[Dict]: +def list_dict_maker_v1() -> List[Dict]: """Utilizes generic dictionary typing (no enforcement of specific key or value types). @@ -51,7 +51,7 @@ def list_dict_maker_1() -> List[Dict]: @component -def list_dict_maker_2() -> List[dict]: +def list_dict_maker_v2() -> List[dict]: """Returns a list of dictionaries without type enforcement. Tests flexibility in type handling. @@ -60,7 +60,7 @@ def list_dict_maker_2() -> List[dict]: @component -def list_dict_maker_3() -> List: +def list_dict_maker_v3() -> List: """Returns a basic list (no typing or structure guarantees). Tests the limits of compiler type handling. @@ -71,7 +71,7 @@ def list_dict_maker_3() -> List: with tempfile.TemporaryDirectory() as tmpdir: pipeline_package_path = os.path.join(tmpdir, 'upstream_component.yaml') compiler.Compiler().compile( - pipeline_func=list_dict_maker_1, + pipeline_func=list_dict_maker_v1, package_path=pipeline_package_path, ) @@ -113,19 +113,19 @@ def my_pipeline(loop_parameter: List[str]): print_int(x=item.a) # Loop argument that coming from the upstream component. - t_0 = list_dict_maker_0() + t_0 = list_dict_maker_v0() with dsl.ParallelFor(items=t_0.output) as item: print_int(x=item.a) - t_1 = list_dict_maker_1() + t_1 = list_dict_maker_v1() with dsl.ParallelFor(items=t_1.output) as item: print_int(x=item.a) - t_2 = list_dict_maker_2() + t_2 = list_dict_maker_v2() with dsl.ParallelFor(items=t_2.output) as item: print_int(x=item.a) - t_3 = list_dict_maker_3() + t_3 = list_dict_maker_v3() with dsl.ParallelFor(items=t_3.output) as item: print_int(x=item.a) diff --git a/sdk/python/test_data/pipelines/pipeline_with_parallelfor_parallelism.yaml b/sdk/python/test_data/pipelines/pipeline_with_parallelfor_parallelism.yaml index a33fc357221f..ae52688dc01e 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_parallelfor_parallelism.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_parallelfor_parallelism.yaml @@ -47,15 +47,15 @@ components: inputs: parameters: x: - componentInputParameter: pipelinechannel--list-dict-maker-1-Output-loop-item + componentInputParameter: pipelinechannel--list-dict-maker-v1-Output-loop-item parameterExpressionSelector: parseJson(string_value)["a"] taskInfo: name: print-int-3 inputDefinitions: parameters: - pipelinechannel--list-dict-maker-1-Output: + pipelinechannel--list-dict-maker-v1-Output: parameterType: LIST - pipelinechannel--list-dict-maker-1-Output-loop-item: + pipelinechannel--list-dict-maker-v1-Output-loop-item: parameterType: STRUCT comp-for-loop-11: dag: @@ -68,15 +68,15 @@ components: inputs: parameters: x: - componentInputParameter: pipelinechannel--list-dict-maker-2-Output-loop-item + componentInputParameter: pipelinechannel--list-dict-maker-v2-Output-loop-item parameterExpressionSelector: parseJson(string_value)["a"] taskInfo: name: print-int-4 inputDefinitions: parameters: - pipelinechannel--list-dict-maker-2-Output: + pipelinechannel--list-dict-maker-v2-Output: parameterType: LIST - pipelinechannel--list-dict-maker-2-Output-loop-item: + pipelinechannel--list-dict-maker-v2-Output-loop-item: parameterType: STRUCT comp-for-loop-12: dag: @@ -89,15 +89,15 @@ components: inputs: parameters: x: - componentInputParameter: pipelinechannel--list-dict-maker-3-Output-loop-item + componentInputParameter: pipelinechannel--list-dict-maker-v3-Output-loop-item parameterExpressionSelector: parseJson(string_value)["a"] taskInfo: name: print-int-5 inputDefinitions: parameters: - pipelinechannel--list-dict-maker-3-Output: + pipelinechannel--list-dict-maker-v3-Output: parameterType: LIST - pipelinechannel--list-dict-maker-3-Output-loop-item: + pipelinechannel--list-dict-maker-v3-Output-loop-item: parameterType: STRING comp-for-loop-13: dag: @@ -110,15 +110,15 @@ components: inputs: parameters: x: - componentInputParameter: pipelinechannel--list-dict-maker-1-2-Output-loop-item + componentInputParameter: pipelinechannel--list-dict-maker-v1-2-Output-loop-item parameterExpressionSelector: parseJson(string_value)["a"] taskInfo: name: print-int-6 inputDefinitions: parameters: - pipelinechannel--list-dict-maker-1-2-Output: + pipelinechannel--list-dict-maker-v1-2-Output: parameterType: LIST - pipelinechannel--list-dict-maker-1-2-Output-loop-item: + pipelinechannel--list-dict-maker-v1-2-Output-loop-item: parameterType: STRING comp-for-loop-2: dag: @@ -243,42 +243,42 @@ components: inputs: parameters: x: - componentInputParameter: pipelinechannel--list-dict-maker-0-Output-loop-item + componentInputParameter: pipelinechannel--list-dict-maker-v0-Output-loop-item parameterExpressionSelector: parseJson(string_value)["a"] taskInfo: name: print-int-2 inputDefinitions: parameters: - pipelinechannel--list-dict-maker-0-Output: + pipelinechannel--list-dict-maker-v0-Output: parameterType: LIST - pipelinechannel--list-dict-maker-0-Output-loop-item: + pipelinechannel--list-dict-maker-v0-Output-loop-item: parameterType: STRUCT - comp-list-dict-maker-0: - executorLabel: exec-list-dict-maker-0 + comp-list-dict-maker-v0: + executorLabel: exec-list-dict-maker-v0 outputDefinitions: parameters: Output: parameterType: LIST - comp-list-dict-maker-1: - executorLabel: exec-list-dict-maker-1 + comp-list-dict-maker-v1: + executorLabel: exec-list-dict-maker-v1 outputDefinitions: parameters: Output: parameterType: LIST - comp-list-dict-maker-1-2: - executorLabel: exec-list-dict-maker-1-2 + comp-list-dict-maker-v1-2: + executorLabel: exec-list-dict-maker-v1-2 outputDefinitions: parameters: Output: parameterType: LIST - comp-list-dict-maker-2: - executorLabel: exec-list-dict-maker-2 + comp-list-dict-maker-v2: + executorLabel: exec-list-dict-maker-v2 outputDefinitions: parameters: Output: parameterType: LIST - comp-list-dict-maker-3: - executorLabel: exec-list-dict-maker-3 + comp-list-dict-maker-v3: + executorLabel: exec-list-dict-maker-v3 outputDefinitions: parameters: Output: @@ -357,19 +357,19 @@ components: parameterType: STRING deploymentSpec: executors: - exec-list-dict-maker-0: + exec-list-dict-maker-v0: container: args: - --executor_input - '{{$}}' - --function_to_execute - - list_dict_maker_0 + - list_dict_maker_v0 command: - sh - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -383,25 +383,25 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ - \ *\n\ndef list_dict_maker_0() -> List[Dict[str, int]]:\n \"\"\"Enforces\ + \ *\n\ndef list_dict_maker_v0() -> List[Dict[str, int]]:\n \"\"\"Enforces\ \ strict type checking - returns a list of dictionaries \n where keys\ \ are strings and values are integers. For testing type \n handling during\ \ compilation.\"\"\"\n return [{'a': 1, 'b': 2}, {'a': 2, 'b': 3}, {'a':\ \ 3, 'b': 4}]\n\n" image: python:3.8 - exec-list-dict-maker-1: + exec-list-dict-maker-v1: container: args: - --executor_input - '{{$}}' - --function_to_execute - - list_dict_maker_1 + - list_dict_maker_v1 command: - sh - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -415,24 +415,24 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ - \ *\n\ndef list_dict_maker_1() -> List[Dict]:\n \"\"\"Utilizes generic\ + \ *\n\ndef list_dict_maker_v1() -> List[Dict]:\n \"\"\"Utilizes generic\ \ dictionary typing (no enforcement of specific key or\n value types).\n\ \n Tests flexibility in type handling.\n \"\"\"\n return [{'a':\ \ 1, 'b': 2}, {'a': 2, 'b': 3}, {'a': 3, 'b': 4}]\n\n" image: python:3.8 - exec-list-dict-maker-1-2: + exec-list-dict-maker-v1-2: container: args: - --executor_input - '{{$}}' - --function_to_execute - - list_dict_maker_1 + - list_dict_maker_v1 command: - sh - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -446,24 +446,24 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ - \ *\n\ndef list_dict_maker_1() -> List[Dict]:\n \"\"\"Utilizes generic\ + \ *\n\ndef list_dict_maker_v1() -> List[Dict]:\n \"\"\"Utilizes generic\ \ dictionary typing (no enforcement of specific key or\n value types).\n\ \n Tests flexibility in type handling.\n \"\"\"\n return [{'a':\ \ 1, 'b': 2}, {'a': 2, 'b': 3}, {'a': 3, 'b': 4}]\n\n" image: python:3.8 - exec-list-dict-maker-2: + exec-list-dict-maker-v2: container: args: - --executor_input - '{{$}}' - --function_to_execute - - list_dict_maker_2 + - list_dict_maker_v2 command: - sh - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -477,24 +477,24 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ - \ *\n\ndef list_dict_maker_2() -> List[dict]:\n \"\"\"Returns a list\ + \ *\n\ndef list_dict_maker_v2() -> List[dict]:\n \"\"\"Returns a list\ \ of dictionaries without type enforcement.\n\n Tests flexibility in\ \ type handling.\n \"\"\"\n return [{'a': 1, 'b': 2}, {'a': 2, 'b':\ \ 3}, {'a': 3, 'b': 4}]\n\n" image: python:3.8 - exec-list-dict-maker-3: + exec-list-dict-maker-v3: container: args: - --executor_input - '{{$}}' - --function_to_execute - - list_dict_maker_3 + - list_dict_maker_v3 command: - sh - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -508,7 +508,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ - \ *\n\ndef list_dict_maker_3() -> List:\n \"\"\"Returns a basic list\ + \ *\n\ndef list_dict_maker_v3() -> List:\n \"\"\"Returns a basic list\ \ (no typing or structure guarantees).\n\n Tests the limits of compiler\ \ type handling.\n \"\"\"\n return [{'a': 1, 'b': 2}, {'a': 2, 'b':\ \ 3}, {'a': 3, 'b': 4}]\n\n" @@ -525,7 +525,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -553,7 +553,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -581,7 +581,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -609,7 +609,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -637,7 +637,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -665,7 +665,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -693,7 +693,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -721,7 +721,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -749,7 +749,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -777,7 +777,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -805,7 +805,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -833,7 +833,7 @@ deploymentSpec: - -c - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0'\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.8.0'\ \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ $0\" \"$@\"\n" - sh @@ -873,68 +873,68 @@ root: componentRef: name: comp-for-loop-10 dependentTasks: - - list-dict-maker-1 + - list-dict-maker-v1 inputs: parameters: - pipelinechannel--list-dict-maker-1-Output: + pipelinechannel--list-dict-maker-v1-Output: taskOutputParameter: outputParameterKey: Output - producerTask: list-dict-maker-1 + producerTask: list-dict-maker-v1 parameterIterator: - itemInput: pipelinechannel--list-dict-maker-1-Output-loop-item + itemInput: pipelinechannel--list-dict-maker-v1-Output-loop-item items: - inputParameter: pipelinechannel--list-dict-maker-1-Output + inputParameter: pipelinechannel--list-dict-maker-v1-Output taskInfo: name: for-loop-10 for-loop-11: componentRef: name: comp-for-loop-11 dependentTasks: - - list-dict-maker-2 + - list-dict-maker-v2 inputs: parameters: - pipelinechannel--list-dict-maker-2-Output: + pipelinechannel--list-dict-maker-v2-Output: taskOutputParameter: outputParameterKey: Output - producerTask: list-dict-maker-2 + producerTask: list-dict-maker-v2 parameterIterator: - itemInput: pipelinechannel--list-dict-maker-2-Output-loop-item + itemInput: pipelinechannel--list-dict-maker-v2-Output-loop-item items: - inputParameter: pipelinechannel--list-dict-maker-2-Output + inputParameter: pipelinechannel--list-dict-maker-v2-Output taskInfo: name: for-loop-11 for-loop-12: componentRef: name: comp-for-loop-12 dependentTasks: - - list-dict-maker-3 + - list-dict-maker-v3 inputs: parameters: - pipelinechannel--list-dict-maker-3-Output: + pipelinechannel--list-dict-maker-v3-Output: taskOutputParameter: outputParameterKey: Output - producerTask: list-dict-maker-3 + producerTask: list-dict-maker-v3 parameterIterator: - itemInput: pipelinechannel--list-dict-maker-3-Output-loop-item + itemInput: pipelinechannel--list-dict-maker-v3-Output-loop-item items: - inputParameter: pipelinechannel--list-dict-maker-3-Output + inputParameter: pipelinechannel--list-dict-maker-v3-Output taskInfo: name: for-loop-12 for-loop-13: componentRef: name: comp-for-loop-13 dependentTasks: - - list-dict-maker-1-2 + - list-dict-maker-v1-2 inputs: parameters: - pipelinechannel--list-dict-maker-1-2-Output: + pipelinechannel--list-dict-maker-v1-2-Output: taskOutputParameter: outputParameterKey: Output - producerTask: list-dict-maker-1-2 + producerTask: list-dict-maker-v1-2 parameterIterator: - itemInput: pipelinechannel--list-dict-maker-1-2-Output-loop-item + itemInput: pipelinechannel--list-dict-maker-v1-2-Output-loop-item items: - inputParameter: pipelinechannel--list-dict-maker-1-2-Output + inputParameter: pipelinechannel--list-dict-maker-v1-2-Output taskInfo: name: for-loop-13 for-loop-4: @@ -961,57 +961,57 @@ root: componentRef: name: comp-for-loop-9 dependentTasks: - - list-dict-maker-0 + - list-dict-maker-v0 inputs: parameters: - pipelinechannel--list-dict-maker-0-Output: + pipelinechannel--list-dict-maker-v0-Output: taskOutputParameter: outputParameterKey: Output - producerTask: list-dict-maker-0 + producerTask: list-dict-maker-v0 parameterIterator: - itemInput: pipelinechannel--list-dict-maker-0-Output-loop-item + itemInput: pipelinechannel--list-dict-maker-v0-Output-loop-item items: - inputParameter: pipelinechannel--list-dict-maker-0-Output + inputParameter: pipelinechannel--list-dict-maker-v0-Output taskInfo: name: for-loop-9 - list-dict-maker-0: + list-dict-maker-v0: cachingOptions: enableCache: true componentRef: - name: comp-list-dict-maker-0 + name: comp-list-dict-maker-v0 taskInfo: - name: list-dict-maker-0 - list-dict-maker-1: + name: list-dict-maker-v0 + list-dict-maker-v1: cachingOptions: enableCache: true componentRef: - name: comp-list-dict-maker-1 + name: comp-list-dict-maker-v1 taskInfo: - name: list-dict-maker-1 - list-dict-maker-1-2: + name: list-dict-maker-v1 + list-dict-maker-v1-2: cachingOptions: enableCache: true componentRef: - name: comp-list-dict-maker-1-2 + name: comp-list-dict-maker-v1-2 taskInfo: - name: list-dict-maker-1-2 - list-dict-maker-2: + name: list-dict-maker-v1-2 + list-dict-maker-v2: cachingOptions: enableCache: true componentRef: - name: comp-list-dict-maker-2 + name: comp-list-dict-maker-v2 taskInfo: - name: list-dict-maker-2 - list-dict-maker-3: + name: list-dict-maker-v2 + list-dict-maker-v3: cachingOptions: enableCache: true componentRef: - name: comp-list-dict-maker-3 + name: comp-list-dict-maker-v3 taskInfo: - name: list-dict-maker-3 + name: list-dict-maker-v3 inputDefinitions: parameters: loop_parameter: parameterType: LIST schemaVersion: 2.1.0 -sdkVersion: kfp-2.7.0 +sdkVersion: kfp-2.8.0