There is indeed a straightforward python method using mathutils.

    from mathutils import Vector
    direction = Vector(your_tuple)
    your_object.rotation_mode = 'QUATERNION'
    your_object.rotation_quaternion = direction.to_track_quat('Z','Y')

You can see the doc [here][1] for more details.


  [1]: https://www.blender.org/api/blender_python_api_2_72b_release/mathutils.html?highlight=track_quat#mathutils.Vector.to_track_quat