Pymanopt is a Python version of the Matlab code Manopt by Nicolas Boumal. It adds some features like automatic differentiation. I can't speak highly enough about both of these packages. A lot of people don't realize how useful manifold optimization is. The academic community has been aware of it for a while now, but it seems to have remained a bit of a secret.
It can be used to perform SVD, phase retrieval, global registration of point clouds, and low rank modeling.
I'm (very slowly) writing a Julia port of the code, so if someone wants to take over, feel free.