How would you find the signed angle theta from vector a to b?

Can you tell something that can give me the minimum angle to rotate from a to b. A positive sign indicates a rotation from +x-axis towards +y-axis. Conversely, a negative sign indicates a rotation from +x-axis towards -y-axis.

assert angle((1,0),(0,1)) == pi/2.

assert angle((0,1),(1,0)) == -pi/2.