I've got a script that loads geographical data into an attribute and creates a point cloud.

The data is a 3D array so I want to use the frame to slice out different time steps. I use this to update my attribute
bpy.data.objects[name].data.attributes['myAttribute'].data.foreach_set('value', slice.flatten())
Except these changes don't appear unless I re-enter my attribute here and the tree is executed again.
How can I re-execute my node tree again at the end of the script?
bpy.data.node_groups['Geonodes'].is_evaluated
always returns False so I dunno if that's relevant
Also I would like to avoid using 'ops' or 'context'
