python-math3d is another good 3D mathematic library which is object oriented
https://github.com/mortlind/pymath3d
import math3d as m3d
v = m3d.Vector(1,2,3) # A vector object
o = m3d.Orientation.new_euler((1,0,0), "ZYX") # An Orientation object from one type of euler angles
t = m3d.Transform(o, v) # A Transform object created using the vector and orientation
t2 = m3d.Transform()# Another Transform object (Identity)
t2.orient.rotate_x(3) # rotate the transformation around x
res = t * t2 #Matrix multiplication