discontinuity in Quaternion.to_euler()

I’m converting an animation’s rotation to Euler angles to move a robot IRL. The motion looks smooth in the user perspective window, but Quaternion.to_euler() produces some bizarre output:

Quat(0.61, 0.43, -0.39, 0.54) = Euler(0.31, -1.22, 1.24)
Quat(0.59, 0.45, -0.41, 0.53) = Euler(0.36, -1.29, 1.20)
Quat(0.57, 0.47, -0.43, 0.52) = Euler(0.43, -1.35, 1.13)
Quat(0.55, 0.49, -0.45, 0.51) = Euler(0.58, -1.42, 0.98)
Quat(0.53, 0.51, -0.47, 0.49) = Euler(0.99, -1.48, 0.58)
Quat(0.51, 0.53, -0.49, 0.47) = Euler(1.99, -1.49, -0.42) <-- what?
Quat(0.48, 0.55, -0.51, 0.45) = Euler(-0.48, -1.71, 2.05)
Quat(0.46, 0.57, -0.54, 0.43) = Euler(-0.26, -1.80, 1.83)
Quat(0.42, 0.59, -0.56, 0.40) = Euler(-0.15, -1.90, 1.73)
Quat(0.39, 0.61, -0.58, 0.37) = Euler(-0.10, -2.01, 1.68)

How can I produce continuous Euler angles describing this rotation?

what I what here ?

first line
Quat(0.61, 0.43, -0.39, 0.54)

the numbers inside are these quaternion like W X Y Z or Eulers values ?

and for

Euler(0.31, -1.22, 1.24)
numbers inside are euler = X Y Z ?

thanks
happy bl