Is there any way to activate Rigify Buttons from a Python Script?
Well, I guess I'll be answering my own question!
After reading up the barely commented documentation, I figured out how to do this. It's very likely that what I have done is very inefficient, but it works. Here's the code I concluded with!
RigGen = True #Just in case I don't want to replace the rig every time

#Define a deselect command for all selected items - it'll be useful later.

def DeselAll():
    for obj in bpy.context.selected_objects:
        obj.select_set(False)
DeselAll()

##Then, we delete the original widgets found in the &quot;Widgets&quot; collection
if RigGen == True:
    widg_del = bpy.data.collections[&quot;Widgets&quot;].objects
    for obj in widg_del:
        bpy.data.objects.remove(obj)
    
    #Then, we removes all orphans stored in the meshes data block 
    for block in bpy.data.meshes:
        if block.users == 0:
            bpy.data.meshes.remove(block)
        
#At this point, the context has been changed, so we need to change it back to object mode
#Else, our rig generation will not work unless you hover your mouse over the 3d viewport.
    bpy.ops.object.mode_set(mode='OBJECT')
    cnt = bpy.context
    scn = bpy.context.scene
    mrig       = bpy.data.objects[&quot;Metarig&quot;] #&quot;Metarig&quot; is your metarig object name 
    mrig.select_set(True)
    rigify.generate.generate_rig(cnt,mrig)

DeselAll()

It's slow, but it's faster than doing it all manually!