vtkHDFWriter for temporal PDS Collection

@citronella3alain this script works for me with vtk==9.5.0:

from vtkmodules.util.vtkAlgorithm import VTKPythonAlgorithmBase
from vtkmodules.vtkCommonDataModel import vtkDataAssemblyUtilities, vtkPartitionedDataSetCollection, vtkDataAssembly
from vtkmodules.vtkFiltersSources import vtkSphereSource
from vtkmodules.vtkFiltersGeneral import vtkGroupDataSetsFilter
from vtkmodules.vtkIOHDF import vtkHDFWriter

class vtkAddAssembly(VTKPythonAlgorithmBase):
    def __init__(self):
        super().__init__(
            nInputPorts=1,
            nOutputPorts=1,
            inputType='vtkPartitionedDataSetCollection',
            outputType='vtkPartitionedDataSetCollection'
        )

    def RequestData(self, request, inInfo, outInfo):
        input_obj = vtkPartitionedDataSetCollection.GetData(inInfo[0])
        output_obj = vtkPartitionedDataSetCollection.GetData(outInfo)

        output_obj.ShallowCopy(input_obj)

        hierarchy = vtkDataAssembly()
        vtkDataAssemblyUtilities.GenerateHierarchy(input_obj, hierarchy, output_obj)

        return 1
    
sphere = vtkSphereSource()
group = vtkGroupDataSetsFilter()
group.SetInputConnection(sphere.GetOutputPort())

add_assembly = vtkAddAssembly()
add_assembly.SetInputConnection(group.GetOutputPort())

writer = vtkHDFWriter()
writer.SetInputConnection(add_assembly.GetOutputPort())
writer.SetFileName("test.vtkhdf")
writer.SetWriteAllTimeSteps(True)
writer.Write()