How does one append/change the values of matrix_basis directly in blender using the python API?
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