import bpy, sys, mathutils
a=sys.argv[sys.argv.index("--")+1:]
bpy.ops.wm.read_factory_settings(use_empty=True); bpy.ops.import_scene.gltf(filepath=a[0])
for o in bpy.context.scene.objects:
    print("OBJ",o.name,o.type,tuple(round(x,3) for x in o.scale),tuple(round(x,3) for x in o.dimensions), o.parent.name if o.parent else "")
arm=[o for o in bpy.context.scene.objects if o.type=="ARMATURE"][0]
for b in arm.data.bones:
    h=arm.matrix_world@b.head_local; t=arm.matrix_world@b.tail_local
    print("BONE %-14s head(%.2f %.2f %.2f) tail(%.2f %.2f %.2f) parent=%s"%(b.name,*h,*t,b.parent.name if b.parent else "-"))
me=[o for o in bpy.context.scene.objects if o.type=="MESH"][0]
import collections
cnt=collections.Counter(); spread=collections.Counter()
for v in me.data.vertices:
    gs=[g for g in v.groups if g.weight>0.01]; spread[len(gs)]+=1
    if gs: cnt[me.vertex_groups[max(gs,key=lambda g:g.weight).group].name]+=1
print("VERTS",len(me.data.vertices),"influences",sorted(spread.items()))
print("DOMINANT",cnt.most_common())
print("ACTIONS",[x.name for x in bpy.data.actions], [ (x.frame_range[0],x.frame_range[1]) for x in bpy.data.actions])
