# Script

Note

OPS! For internal use!

class `systemds.script_building.script.``DMLScript`(context: SystemDSContext)

  DMLScript is the class used to describe our intended behavior in DML. This script can be then executed to get the results.

  `add_code`(code: str) → None

    Add a dml code line to our script

    Parameters

      code – the dml code line

  `add_input_from_python`(var_name: str, input_var: systemds.script_building.dag.DAGNode) → None

    Add an input for our preparedScript. Should only be executed for data that is python local.

    Parameters

      - var_name – name of variable

      - input_var – the DAGNode object which has data

  `build_code`(dag_root: systemds.script_building.dag.DAGNode) → None

    Builds code from our DAG

    Parameters

      dag_root – the topmost operation of our DAG, result of operation will be output

  `execute`() → py4j.java_gateway.JavaObject

    If not already created, create a preparedScript from our DMLCode, pass python local data to our prepared script, then execute our script and return the resultVariables

    Returns

      resultVariables of our execution

  `execute_with_lineage`() → Tuple[py4j.java_gateway.JavaObject, str]

    If not already created, create a preparedScript from our DMLCode, pass python local data to our prepared script, then execute our script and return the resultVariables

    Returns

      resultVariables of our execution and the string lineage trace