Right now we have prospective data (NodeRecipe) and retrospective data (NodeData), but no retrospective metadata template, e.g. to hold things like runtimes.
Such a thing exists in the pyiron_workflow.execution.Run object. This actually pulls out extremely cleanly, needing only the class itself, the lighweight Steps class which is an iterable collection of these, a simple enum on run status, a type var bound on NodeData, and a helper class for the LexicalPath -- which is its own sub-module but anyhow depends only on flowrep!
Flowrep-compliant WfMS would then commit to producing these Run objects instead of the meta-data-free NodeData objects they currently produce. @samwaseda and I currently see this as a nice change. One of the motivators is that we want semantikon to strictly digest flowrep objects, but Sam would like semantikon knowledge graphs to include some metadata, so we'd better have space for the metadata in flowrep too!
Right now we have prospective data (
NodeRecipe) and retrospective data (NodeData), but no retrospective metadata template, e.g. to hold things like runtimes.Such a thing exists in the
pyiron_workflow.execution.Runobject. This actually pulls out extremely cleanly, needing only the class itself, the lighweightStepsclass which is an iterable collection of these, a simple enum on run status, a type var bound onNodeData, and a helper class for theLexicalPath-- which is its own sub-module but anyhow depends only on flowrep!Flowrep-compliant WfMS would then commit to producing these
Runobjects instead of the meta-data-freeNodeDataobjects they currently produce. @samwaseda and I currently see this as a nice change. One of the motivators is that we wantsemantikonto strictly digestflowrepobjects, but Sam would likesemantikonknowledge graphs to include some metadata, so we'd better have space for the metadata in flowrep too!