@target_iterator(...)
Decorator used to write the outputs of a task function.
prism.decorators.target_iterator(
*, type: prism.target.PrismTarget, loc: Union[str, pathlib.Path]
)
Parameters
*
: indicates that thetarget_iterator
decorator only accepts keyword arguments.type
: a valid Prism target. This controls the output type, e.g., a.txt
file, a.csv
, a.json
, etc. Prism targets are classes that inherit theprism.target.PrismTarget
class and implement thesave
method. See here.loc
: a string or path-like object represent the parent directory in which the outputs should be saved.
Technical notes:
The
target_iterator
function requires that the task function return a dictionary mapping the name of the desired output file to the associated object.
Example:
import prism.task
import prism.target
import prism.decorators
class ExampleTask(prism.task.PrismTask):
@prism.decorators.target_iterator(
type=prism.target.Txt,
loc="/Users/,
**kwargs
)
def run(self, tasks, hooks):
test_str = "Hello, world!"
test_str_2 = "This is a second string"
return {
"hello_world.txt": test_str,
"other_string.txt": test_str_2,
}