Is there a python function in Object to duplicate itself with all children, modifiers, etc.? Manually, this can be done with 1. Select the object in the Outliner 2. Select Hierarchy 3. Shift+D in 3D Viewport
bpy.ops.object.duplicate() is not exactly what I'm looking for because it doesn't duplicate the children and also requires selecting only the right object in the Outliner before each duplication.