Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. JAX
  3. Optimal Transport Tools

Optimal Transport Tools

Apache-2.0Python0.1.20

A Python toolbox for solving optimal transport problems with JAX-powered computational efficiency.

GitHubGitHub
214 stars17 forks0 contributors

What is Optimal Transport Tools?

OTT is a Python toolbox for solving optimal transport problems, which involve finding optimal ways to move mass between probability distributions. It provides efficient implementations of algorithms like Sinkhorn and Greenkhorn, with JAX acceleration for computational performance. The library enables applications in machine learning, computer vision, and data science where measuring distances between distributions is essential.

Target Audience

Machine learning researchers and practitioners working with distributional data, computational geometry problems, or applications requiring Wasserstein distances. Data scientists and engineers needing efficient optimal transport implementations for large-scale problems.

Value Proposition

Developers choose OTT for its JAX-powered computational efficiency, clean API design, and focus on differentiability—making it ideal for integration with modern machine learning pipelines. It offers a balance between research flexibility and production-ready performance.

Overview

OTT is a Python library that provides efficient implementations of algorithms for solving optimal transport problems. It focuses on computational performance through JAX acceleration, making it suitable for large-scale applications in machine learning and data science.

Key Features

  • JAX-powered computations — Leverages JAX for automatic differentiation, vectorization, and GPU/TPU acceleration
  • Comprehensive algorithm suite — Implements Sinkhorn, Greenkhorn, and other optimal transport solvers
  • Differentiable transport — Supports end-to-end differentiable pipelines for integration with neural networks
  • Geometric tools — Provides utilities for Wasserstein distances, barycenters, and Gromov-Wasserstein alignment
  • Modular design — Clean API with separable components for custom algorithm development

Philosophy

OTT prioritizes computational efficiency and differentiability while maintaining a clean, research-friendly API that balances flexibility with performance.

Use Cases

Best For

  • Computing Wasserstein distances between high-dimensional distributions
  • Implementing differentiable optimal transport layers in neural networks
  • Solving large-scale optimal transport problems with GPU acceleration
  • Research on optimal transport algorithms and applications
  • Calculating barycenters and Gromov-Wasserstein alignments
  • Benchmarking optimal transport solvers in machine learning pipelines

Not Ideal For

  • Projects not using JAX or requiring seamless integration with PyTorch/TensorFlow ecosystems
  • Applications where optimal transport problems are small-scale and computational overhead isn't justified
  • Teams seeking long-term support from an actively maintained repository without migration hassles

Pros & Cons

Pros

JAX-Powered Performance

Leverages JAX for automatic differentiation and GPU/TPU acceleration, enabling efficient large-scale computations as highlighted in its focus on computational performance.

Differentiable Transport Layers

Supports end-to-end differentiable pipelines, allowing integration with neural networks for machine learning applications, which is a core feature for modern ML workflows.

Comprehensive Algorithm Suite

Implements Sinkhorn, Greenkhorn, and other solvers with geometric tools for Wasserstein distances, providing a wide range of options for optimal transport problems.

Cons

Deprecated Original Repository

Development stopped on the main GitHub branch in 2022, with migration to ott-jax, causing potential confusion and extra steps for users to access updated versions.

Heavy JAX Dependency

Requires JAX, which adds setup complexity and may not align with projects using other deep learning frameworks, limiting flexibility for some teams.

Limited Ecosystem Maturity

As a research-focused tool, it has fewer community resources and documentation compared to established libraries like POT, which can hinder adoption and troubleshooting.

Frequently Asked Questions

Quick Stats

Stars214
Forks17
Contributors0
Open Issues2
Last commit4 years ago
CreatedSince 2021

Tags

#jax#python-library#gpu-computing#optimal-transport#machine-learning#computational-geometry#numerical-optimization

Built With

J
JAX
P
Python
N
NumPy
S
SciPy

Included in

JAX2.1k
Auto-fetched 9 hours ago

Related Projects

ALXALX

Google Research

Stars38,711
Forks8,465
Last commit22 hours ago
OryxOryx

Probabilistic reasoning and statistical analysis in TensorFlow

Stars4,432
Forks1,127
Last commit1 month ago
BRAXBRAX

Massively parallel rigidbody physics simulation on accelerator hardware.

Stars3,230
Forks349
Last commit1 month ago
MctxMctx

Monte Carlo tree search in JAX

Stars2,657
Forks216
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub