# How to enforce rigid body constraints while editing?

I'm designing some toy puzzles using Blender. For example, here is the classical puzzle with two rings each having a small opening, where both openings have to be aligned in order to separate them:

I would like to temporarily enable constraints while editing the scene, so that I can "jiggle" the objects around, using the grab G and rotate R, and check that the puzzle works as expected, just like I would do with a 3D-printed object for example. The problem is that objects pass through each other when editing:

I can somewhat manage to get the behaviour I want by creating a dummy object, attaching it to the ring with a Fixed constraint, pressing Alt+A to start the animation, and moving the dummy object, but this is rather impractical as the dummy object starts falling if you don't grab G it quickly enough etc.

Is there a way to enable user control of an object's position and rotation, while enforcing rigid body constraints? I am a programmer, but I am not familiar at all with Blender's API, so if the solution involves Python please be include a couple of pointers to the relevant API docs.