Right now nodes use pyiron_snippets.files to automatically generate their own .working_directory based on their semantic path. This gets used in saving and (automatic-)loading.
This has some nasty interactions with macros (#316) and the current way I use it to look at directories and remove them when empty is super un-performant (conversations with @pmrv and local tests), but overall is running fine.
In practice, we like to decompose file-based stuff into macros where different stages are treated individually, e.g. WriteInput, RunExe, ReadOutput, each of which needs to know about the same working directory. In this case it makes much more sense for working directories to be some external input rather than leaning on the directory of each node, since all three want the same directory. So one of the key use-cases for a Node.working_directory is just not panning out as well as hoped.
What I'd like to do (for now at least) is to just get rid of the property. I don't have any objection to using pyiron_snippets.files, e.g. inside .save calls, I just don't want to be auto-populating a new directory on each node instance.
@samwaseda you are my files guy, thoughts?
@ligerzero-ai @Tara-Lakshmipathy, you've both been developing nodes -- would you miss the .working_directory property if it disappeared? Are there any related features you wish were available?
Right now nodes use
pyiron_snippets.files
to automatically generate their own.working_directory
based on their semantic path. This gets used in saving and (automatic-)loading.This has some nasty interactions with macros (#316) and the current way I use it to look at directories and remove them when empty is super un-performant (conversations with @pmrv and local tests), but overall is running fine.
In practice, we like to decompose file-based stuff into macros where different stages are treated individually, e.g.
WriteInput
,RunExe
,ReadOutput
, each of which needs to know about the same working directory. In this case it makes much more sense for working directories to be some external input rather than leaning on the directory of each node, since all three want the same directory. So one of the key use-cases for aNode.working_directory
is just not panning out as well as hoped.What I'd like to do (for now at least) is to just get rid of the property. I don't have any objection to using
pyiron_snippets.files
, e.g. inside.save
calls, I just don't want to be auto-populating a new directory on each node instance.@samwaseda you are my files guy, thoughts?
@ligerzero-ai @Tara-Lakshmipathy, you've both been developing nodes -- would you miss the
.working_directory
property if it disappeared? Are there any related features you wish were available?