What happens if you add a call to time.sleep(0.001) as the first line of your scene.Scene.setup() method?<br />Or time.sleep(1) or time.sleep(3)?

Also, scene.Vector3 has two undocumented methods: as_tuple() and todict().

print(scene.gravity().as_tuple()) print('x: {x}\ny: {y}\nz: {z}'.format(**scene.gravity().todict()))