Can this be set up to yield data from individual functions instead of simply returning it?
In the former case, yes, it's pretty easy:
driver.execute(final_vars=["my_func_1", "my_func_2"])
will just give out the specific ones you want. In the latter case, it's a little trickier but doable -- we were just going over this with a user recently actually! https://github.com/DAGWorks-Inc/hamilton/issues/90