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}
}
```
