How does one append/change the values of matrix_basis directly in blender using the python API? I have a set of 3 orthonormal vectors(x_vec, y_vec, z_vec: know values) defining a particular position in the global frame, I want to align an Empty's XYZ axes to the above mentioned orthonormal vectors. I tried rotations and all sort of stuff but it doesn't seem to align properly. I figured that changing the matrix_basis of the empty directly to that of the 3 orthonormal vectors' rotation matrix is the most efficient way to do it, but I can't seem to modify the values of the matrix_basis of the Empty.

Any help will be appreciated. Thanks!
I figured it out. It's pretty straight forward.

let the 3 orthonormal vectors be represented as a matrix,
 rotation_matrix = [x_vec, y_vec, z_vec] (3x3 normalized rotation matrix)

Now, use mathutils to convert this to a set of Euler rotations and Voila!

rotation_in_euler =  rotation_matrix.to_euler()

obj.rotation_mode = 'XYZ'

obj.rotation_euler = rotation_in_euler