pyiron_base.project.update.pyiron_base_03x_to_04x module

pyiron_base<=0.3.10 has a bug that writes all arrays with dtype=object even numeric ones. As a fix pyiron_base=0.4.1 introduces a conversion when reading such arrays, but does not automatically save them. This conversion script simply goes over all jobs and rewrites their HDF5 files, since it’s read with the correct dtype, this then writes this correct dtype.

pyiron_base.project.update.pyiron_base_03x_to_04x.detect_bug(file_name)

Checks whether HDF5 file has at least one group setup like /foo Group /foo/data Dataset {…} /foo/index Dataset {…} which is how h5io stores dtype=object arrays. If a file doesn’t have any of them there’s no need to rewrite them. If there is it might be a corrupted record from our bug or a legitimate dtype=object array. In that case just rewrite anyway.

pyiron_base.project.update.pyiron_base_03x_to_04x.pyiron_base_03x_to_04x(project)

pyiron_base<=0.3.10 has a bug that writes all arrays with dtype=object even numeric ones. As a fix pyiron_base=0.4.1 introduces a conversion when reading such arrays, but does not automatically save them. This conversion script simply goes over all jobs and rewrites their HDF5 files, since it’s read with the correct dtype, this then writes this correct dtype.