pyiron_base icon indicating copy to clipboard operation
pyiron_base copied to clipboard

Change input and output of `GenericJob` to `DataContainer`s

Open niklassiemer opened this issue 3 years ago • 1 comments

The idea is to provide generic input and output fields at the GenericJob level such that SubJobs do not need to handle to_hdf and from_hdf if they just want to store and receive some values.

The major issue I encounter is that the group input in the hdf is used at several places and not in all these cases the job.input = DataContainer(table_name='input') gets overwritten. Here I try to document where the input group is used and we may discuss how to handle this best.

niklassiemer avatar Aug 12 '21 17:08 niklassiemer

I suppose a start would be to change the default table_name of DataContainer to something like input_parameters and define GenericJob.input. We could then incrementally move entries of the original hdf['input'] into that container, while leaving copies. Once everything is migrated, we version bump the HDF and rename the default table_name back to input. This way we only need to break API once.

pmrv avatar Aug 13 '21 10:08 pmrv