pditommaso / awesome-pipeline

A curated list of awesome pipeline toolkits inspired by Awesome Sysadmin
6.1k stars 625 forks source link

Add ZnTrack #173

Open PythonFZ opened 1 year ago

PythonFZ commented 1 year ago

The ZnTrack package provides workflow and Experiment management based on DVC. It can be used to

API

A ZnTrack Node is similar to the dataclass API, defining inputs, outputs and the node methods in an object oriented approach:

class InputToOutput(Node):
    """Save the inputs 'zn.params' to the outputs attribute 'zn.outs'"""

    inputs = zn.params()
    outputs = zn.outs()

    def run(self):
        self.outputs = self.inputs

Nodes can be connected via zn.deps(InputToOutput) or the respective files that are generated. More examples are available at https://github.com/zincware/znlib which collects ZnTrack Nodes and is constantly growing.