Metadata-Version: 2.1
Name: fugw
Version: 0.1.1
Summary: A collection of gpu-compatible solvers for fused unbalanced gromov-wasserstein optimization problems
Author-email: Alexis Thual <alexisthual@gmail.com>, Huy Tran <quang-huy.tran@univ-ubs.fr>
Project-URL: homepage, https://github.com/alexisthual/fugw
Project-URL: repository, https://github.com/alexisthual/fugw.git
Keywords: optimal transport,gromov wasserstein,solver
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: dijkstra3d>=1.12.1
Requires-Dist: joblib>=1.2.0
Requires-Dist: numpy>=1.20
Requires-Dist: rich>=13.3.1
Requires-Dist: POT>=0.9.0
Requires-Dist: scikit-learn
Requires-Dist: scipy
Requires-Dist: torch>=1.12
Requires-Dist: tvb-gdist>=2.1.1
Provides-Extra: dev
Requires-Dist: black; extra == "dev"
Requires-Dist: fugw[doc]; extra == "dev"
Requires-Dist: fugw[test]; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Provides-Extra: doc
Requires-Dist: furo>=2022.12.07; extra == "doc"
Requires-Dist: fugw[test]; extra == "doc"
Requires-Dist: kaleido; extra == "doc"
Requires-Dist: m2r2; extra == "doc"
Requires-Dist: matplotlib; extra == "doc"
Requires-Dist: memory_profiler; extra == "doc"
Requires-Dist: myst_parser; extra == "doc"
Requires-Dist: numpydoc; extra == "doc"
Requires-Dist: pillow; extra == "doc"
Requires-Dist: plotly; extra == "doc"
Requires-Dist: sphinx==5.3.0; extra == "doc"
Requires-Dist: sphinx-copybutton; extra == "doc"
Requires-Dist: sphinx-gallery>=0.11.1; extra == "doc"
Provides-Extra: test
Requires-Dist: flake8; extra == "test"
Requires-Dist: nilearn; extra == "test"
Requires-Dist: pyproject-flake8; extra == "test"
Requires-Dist: pytest>=7.2; extra == "test"

# Fused Unbalanced Gromov-Wasserstein for Python

![build](https://img.shields.io/github/actions/workflow/status/alexisthual/fugw/unit_tests.yml?event=push&style=for-the-badge)
![python version](https://img.shields.io/badge/python-3.8_|_3.9_|_3.10_|_3.11-blue?style=for-the-badge)
![license](https://img.shields.io/github/license/alexisthual/fugw?style=for-the-badge)
![code style](https://img.shields.io/badge/code_style-black-black?style=for-the-badge)

This package implements multiple GPU-compatible PyTorch solvers
to the Fused Unbalanced Gromov-Wasserstein optimal transport problem.

**This package is under active development. There is no guarantee that the API and solvers
won't change in the near future.**

## Installation

**To install this package, make sure you have an up-to-date version of** `pip`.

### From PyPI

In a dedicated Python env, run:

```bash
pip install fugw
```

### From source

```bash
git clone https://github.com/alexisthual/fugw.git
cd fugw
```

In a dedicated Python env, run:

```bash
pip install -e .
```

Contributors should also install the development dependencies
in order to test and automatically format their contributions.

```bash
pip install -e ".[dev]"
pre-commit install
```

Tests run on CPU and GPU, depending on the configuration of your machine.
You can run them with:

```bash
pytest
```

## Citing this work

If this package was useful to you, please cite it in your work:

```bibtex
@article{Thual-2022-fugw,
  title={Aligning individual brains with Fused Unbalanced Gromov-Wasserstein},
  author={Thual, Alexis and Tran, Huy and Zemskova, Tatiana and Courty, Nicolas and Flamary, Rémi and Dehaene, Stanislas and Thirion, Bertrand},
  publisher={arXiv},
  doi={10.48550/ARXIV.2206.09398},
  url={https://arxiv.org/abs/2206.09398},
  year={2022},
  copyright={Creative Commons Attribution 4.0 International}
}
```
