Yup appending doesn’t work great in HDF5.
Resize + inserting data with slices should work fine tho. Just be aware that resizing operation does not physically extend the dataset memory in disk, it does create a separate storage blob and link them under the hood.
Thus, the more you resize, the slower it will be to do consecutive reads, e.g.
data = h5_file['data'][100:200]

That will return 100 elements  however, if first 50 elements were initially created, and last 50 are created later as part of a resizing operation, that data retrieval query above will have a decrease in performance, as data is not contiguous in disk.
So, just try to minimize resize calls