Пример #1
0
def test_workflow_with_any_type():
    @solid
    def mult_x(_, x):
        return 2 * x

    @pipeline
    def pipe():
        mult_x()

    run_config = {
        "storage": {
            "filesystem": {}
        },
        "solids": {
            "mult_x": {
                "inputs": {
                    "x": {
                        "value": 2
                    }
                }
            }
        },
    }

    with pytest.raises(TypeError):
        compile_pipeline_to_flyte(pipe, run_config=run_config, module=__name__)
Пример #2
0
def test_workflow_with_any_type():
    @solid
    def mult_x(_, x):
        return 2 * x

    @pipeline
    def pipe():
        mult_x()

    run_config = {
        'storage': {
            'filesystem': {}
        },
        'solids': {
            'mult_x': {
                'inputs': {
                    'x': {
                        'value': 2
                    }
                }
            }
        },
    }

    with pytest.raises(TypeError):
        compile_pipeline_to_flyte(pipe, run_config=run_config, module=__name__)
Пример #3
0
def test_flyte_sdk_workflow():
    @solid
    def mult_x(_, x: int) -> int:
        return 2 * x

    @pipeline
    def pipe():
        mult_x()

    run_config = {
        'storage': {
            'filesystem': {}
        },
        'solids': {
            'mult_x': {
                'inputs': {
                    'x': {
                        'value': 2
                    }
                }
            }
        },
    }

    workflow_obj = compile_pipeline_to_flyte(pipe,
                                             run_config=run_config,
                                             module=__name__)

    assert isinstance(workflow_obj, SdkWorkflow)
    assert len(workflow_obj.nodes) == 1
    assert hasattr(sys.modules[__name__], 'mult_x')
    assert isinstance(getattr(sys.modules[__name__], 'mult_x'),
                      sdk_runnable.SdkRunnableTask)
Пример #4
0
def test_flyte_sdk_workflow():
    @solid
    def mult_x(_, x: int) -> int:
        return 2 * x

    @pipeline
    def pipe():
        mult_x()

    run_config = {
        "storage": {
            "filesystem": {}
        },
        "solids": {
            "mult_x": {
                "inputs": {
                    "x": {
                        "value": 2
                    }
                }
            }
        },
    }

    workflow_obj = compile_pipeline_to_flyte(pipe,
                                             run_config=run_config,
                                             module=__name__)

    assert isinstance(workflow_obj, SdkWorkflow)
    assert len(workflow_obj.nodes) == 1
    assert hasattr(sys.modules[__name__], "mult_x")
    assert isinstance(getattr(sys.modules[__name__], "mult_x"),
                      sdk_runnable.SdkRunnableTask)
Пример #5
0
def test_multi_step_from_multi_outputs():
    @solid
    def mult_x(_, x: int) -> int:
        return 2 * x

    @solid
    def add(_, to_sum: list) -> int:
        return to_sum[0] + to_sum[1]

    @solid
    def add_z(_, z: int) -> int:
        return 3 * z

    @pipeline
    def pipe():
        summed = mult_x()
        added = add_z()
        result = add(to_sum=[summed, added])
        return result

    run_config = {
        'storage': {
            'filesystem': {}
        },
        'solids': {
            'mult_x': {
                'inputs': {
                    'x': {
                        'value': 2
                    }
                }
            },
            'add_z': {
                'inputs': {
                    'z': {
                        'value': 3
                    }
                }
            },
        },
    }

    workflow_obj = compile_pipeline_to_flyte(pipe,
                                             run_config=run_config,
                                             module=__name__)

    assert isinstance(workflow_obj, SdkWorkflow)
    assert len(workflow_obj.nodes) == 3
    assert hasattr(sys.modules[__name__], 'mult_x')
    assert hasattr(sys.modules[__name__], 'add')
    assert hasattr(sys.modules[__name__], 'add_z')
    assert isinstance(getattr(sys.modules[__name__], 'mult_x'),
                      sdk_runnable.SdkRunnableTask)
    assert isinstance(getattr(sys.modules[__name__], 'add'),
                      sdk_runnable.SdkRunnableTask)
    assert isinstance(getattr(sys.modules[__name__], 'add_z'),
                      sdk_runnable.SdkRunnableTask)
Пример #6
0
def test_multi_step_from_multi_outputs():
    @solid
    def mult_x(_, x: int) -> int:
        return 2 * x

    @solid
    def add(_, to_sum: list) -> int:
        return to_sum[0] + to_sum[1]

    @solid
    def add_z(_, z: int) -> int:
        return 3 * z

    @pipeline
    def pipe():
        summed = mult_x()
        added = add_z()
        result = add(to_sum=[summed, added])
        return result

    run_config = {
        "storage": {
            "filesystem": {}
        },
        "solids": {
            "mult_x": {
                "inputs": {
                    "x": {
                        "value": 2
                    }
                }
            },
            "add_z": {
                "inputs": {
                    "z": {
                        "value": 3
                    }
                }
            },
        },
    }

    workflow_obj = compile_pipeline_to_flyte(pipe,
                                             run_config=run_config,
                                             module=__name__)

    assert isinstance(workflow_obj, SdkWorkflow)
    assert len(workflow_obj.nodes) == 3
    assert hasattr(sys.modules[__name__], "mult_x")
    assert hasattr(sys.modules[__name__], "add")
    assert hasattr(sys.modules[__name__], "add_z")
    assert isinstance(getattr(sys.modules[__name__], "mult_x"),
                      sdk_runnable.SdkRunnableTask)
    assert isinstance(getattr(sys.modules[__name__], "add"),
                      sdk_runnable.SdkRunnableTask)
    assert isinstance(getattr(sys.modules[__name__], "add_z"),
                      sdk_runnable.SdkRunnableTask)
Пример #7
0
def test_multi_step_pipeline():
    @solid
    def mult_x(_, x: int) -> int:
        return 2 * x

    @solid
    def add(_, to_sum: int, y: int) -> int:
        return to_sum + y

    @pipeline
    def pipe():
        add(mult_x())

    run_config = {
        'storage': {
            'filesystem': {}
        },
        'solids': {
            'mult_x': {
                'inputs': {
                    'x': {
                        'value': 2
                    }
                }
            },
            'add': {
                'inputs': {
                    'y': {
                        'value': 3
                    }
                }
            },
        },
    }

    workflow_obj = compile_pipeline_to_flyte(pipe,
                                             run_config=run_config,
                                             module=__name__)

    assert isinstance(workflow_obj, SdkWorkflow)
    assert len(workflow_obj.nodes) == 2
    assert hasattr(sys.modules[__name__], 'mult_x')
    assert hasattr(sys.modules[__name__], 'add')
    assert isinstance(getattr(sys.modules[__name__], 'mult_x'),
                      sdk_runnable.SdkRunnableTask)
    assert isinstance(getattr(sys.modules[__name__], 'add'),
                      sdk_runnable.SdkRunnableTask)
Пример #8
0
def test_multi_step_pipeline():
    @solid
    def mult_x(_, x: int) -> int:
        return 2 * x

    @solid
    def add(_, to_sum: int, y: int) -> int:
        return to_sum + y

    @pipeline
    def pipe():
        add(mult_x())

    run_config = {
        "storage": {
            "filesystem": {}
        },
        "solids": {
            "mult_x": {
                "inputs": {
                    "x": {
                        "value": 2
                    }
                }
            },
            "add": {
                "inputs": {
                    "y": {
                        "value": 3
                    }
                }
            },
        },
    }

    workflow_obj = compile_pipeline_to_flyte(pipe,
                                             run_config=run_config,
                                             module=__name__)

    assert isinstance(workflow_obj, SdkWorkflow)
    assert len(workflow_obj.nodes) == 2
    assert hasattr(sys.modules[__name__], "mult_x")
    assert hasattr(sys.modules[__name__], "add")
    assert isinstance(getattr(sys.modules[__name__], "mult_x"),
                      sdk_runnable.SdkRunnableTask)
    assert isinstance(getattr(sys.modules[__name__], "add"),
                      sdk_runnable.SdkRunnableTask)
Пример #9
0
def test_flyte_sdk_workflow():
    @solid
    def mult_x(context, x):  # pylint: disable=unused-argument
        return 2 * x

    @pipeline
    def pipe():
        mult_x()

    environment_dict = {'solids': {'mult_x': {'inputs': {'x': {'value': 2}}}}}

    workflow_obj = compile_pipeline_to_flyte(pipe,
                                             environment_dict=environment_dict,
                                             module=__name__)

    assert isinstance(workflow_obj, SdkWorkflow)
    assert len(workflow_obj.nodes) == 1
    assert hasattr(sys.modules[__name__], 'mult_x')
    assert isinstance(getattr(sys.modules[__name__], 'mult_x'),
                      sdk_runnable.SdkRunnableTask)
Пример #10
0
@solid
def mult_x(_, x: int) -> int:
    return 2 * x


@pipeline
def pipe():
    mult_x()


run_config: dict = {
    "storage": {"filesystem": {}},
    "solids": {"mult_x": {"inputs": {"x": {"value": 2}}}},
}

compute_dict = {
    "mult_x": {
        "storage_request": "300Mi",
        "memory_request": "300Mi",
        "cpu_request": "200m",
        "storage_limit": "300Mi",
        "memory_limit": "300Mi",
        "cpu_limit": "200m",
    }
}

workflow_obj = compile_pipeline_to_flyte(
    pipe, run_config=run_config, compute_dict=compute_dict, module=__name__
)
Пример #11
0
@solid
def mult_x(_, x: int) -> int:
    return 2 * x


@pipeline
def pipe():
    mult_x()


environment_dict: dict = {
    'storage': {'filesystem': {}},
    'solids': {'mult_x': {'inputs': {'x': {'value': 2}}}},
}

compute_dict = {
    'mult_x': {
        'storage_request': '300Mi',
        'memory_request': '300Mi',
        'cpu_request': '200m',
        'storage_limit': '300Mi',
        'memory_limit': '300Mi',
        'cpu_limit': '200m',
    }
}

workflow_obj = compile_pipeline_to_flyte(
    pipe, environment_dict=environment_dict, compute_dict=compute_dict, module=__name__
)