GraphTransportation
GraphTransportation studies discrete optimal transport on graphs: computing transport geodesics, Wasserstein barycenters (Fréchet means), and barycentric coordinates for probability measures supported on a fixed graph, following the discrete transport-geometry framework of Erbar, Rumpf, Schmitzer, and Simon.
The original implementation is a Julia package (GraphTransportation.jl); an active project is porting the entropic (Sinkhorn) side of it to Python, aimed at being directly usable in machine-learning pipelines -- e.g. as a differentiable layer or a graph/dataset utility, rather than a 1:1 translation of the Julia API.
The interactive demo on this site lets you explore a barycentric coding model on a small graph directly in the browser.