POT: Python Optimal Transport
This open source Python library provide several solvers for optimization problems related to Optimal Transport for signal, image processing and machine learning.
Website and documentation: https://PythonOT.github.io/
Source Code (MIT): https://github.com/PythonOT/POT
POT provides the following generic OT solvers (links to examples):
OT Network Simplex solver for the linear program/ Earth Movers Distance  .
Sinkhorn divergence  and entropic regularization OT from empirical data.
Smooth optimal transport solvers (dual and semi-dual) for KL and squared L2 regularizations .
Non regularized Wasserstein barycenters  ) with LP solver (only small scale).
Stochastic solver for Large-scale Optimal Transport (semi-dual problem  and dual problem )
Non regularized free support Wasserstein barycenters .
Partial Wasserstein and Gromov-Wasserstein (exact  and entropic  formulations).
POT provides the following Machine Learning related solvers:
Wasserstein Discriminant Analysis  (requires autograd + pymanopt).
Some demonstrations are available in the documentation.