Gavin Kistner
09/16/2025, 4:58 PMexecute() matching the dict passed as ~inputs~_*overrides*_, such that it provides really easy checkpoint-style processing.
# foo and bar are expensive to compute
setup = {…}
midpoint = dr.execute(["foo", "bar"], inputs=setup)
# Now we can use foo and bar as overrides
vars1 = {…}
results1 = dr.execute(["baz"], inputs=setup | vars1, overrides=midpoint)
vars2 = {…}
results2 = dr.execute(["baz"], inputs=setup | vars2, overrides=midpoint)
Nice!Elijah Ben Izzy
09/16/2025, 4:59 PMGavin Kistner
09/16/2025, 4:59 PMGavin Kistner
09/16/2025, 5:00 PMElijah Ben Izzy
09/16/2025, 5:02 PMElijah Ben Izzy
09/16/2025, 5:03 PMElijah Ben Izzy
09/16/2025, 5:03 PMGavin Kistner
09/16/2025, 5:09 PM# What I had written
results1 = dr.execute(["baz"], inputs=setup | midpoint | vars1)
# What is needed
results1 = dr.execute(["baz"], inputs=setup | vars1, overrides=midpoint)Gavin Kistner
09/16/2025, 5:10 PMGavin Kistner
09/16/2025, 5:12 PMElijah Ben Izzy
09/16/2025, 5:15 PMElijah Ben Izzy
09/16/2025, 5:15 PMGavin Kistner
09/16/2025, 5:18 PMGavin Kistner
09/16/2025, 5:19 PMElijah Ben Izzy
09/16/2025, 5:24 PMElijah Ben Izzy
09/16/2025, 5:29 PMElijah Ben Izzy
09/16/2025, 5:29 PMGavin Kistner
09/16/2025, 5:39 PMThierry Jean
09/16/2025, 8:58 PMnode_name: value mapping
• node_name must not match a node name defined by a function name
• node_name must match a node name defined by a function argument name
`overrides`:
• is a node_name: value mapping
• node_name must match a node name defined by a function name
• with the value known before execution, this prevents the function execution, "overriding it". It then changes the remaining DAG path to executeStefan Krawczyk
09/17/2025, 6:41 AMStefan Krawczyk
09/17/2025, 6:48 AM