From 0453dcce7a5c4497845349ef85a324fdc3e839cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Flamary?= Date: Thu, 30 Apr 2020 16:08:35 +0200 Subject: [PATCH 1/5] change release and update reseale file --- RELEASES.md | 37 +++++++++++++++++++++++++++++++++++++ ot/__init__.py | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index 5fcf485d1..0fc924091 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,7 +1,44 @@ # Releases +## 0.7 +*May 2020* +This is the new stable release for POT. We have a lot of changes in the documentation and several new features such as Partial OT, Unbalanced and Multi Sources OT Domain Adaptation and several bug fixes. One important change is that we have created a the GitHub organization [PythonOT](https://github.com/PythonOT) that now owns the main POT repository [https://github.com/PythonOT/POT](https://github.com/PythonOT/POT) and the repository for the new documentation hosted at [https://PythonOT.github.io/](https://PythonOT.github.io/). +This is the first release where the Python 2.7 tests have been removed. Most of the toolbox should still work but this is the last release where we release Python 2.7 wheels. + +A lot of changes have been done to the documentation that is now hosted on [https://PythonOT.github.io/](https://PythonOT.github.io/) instead of readthedocs. It was a hard choice but readthedocs did not allow us to run sphinx-gallery to update our beautiful examples and it was a huge amount of work to maintain it. The documentation is now automatically compiled and updated on merge. We also removed the notebooks from the repository for space reason and also because they are all available in the [example gallery](https://pythonot.github.io/auto_examples/index.html). Note that now the output of the documentation build for each commit in the PR is available to check that the doc builds correctly before merging which was not possible with readthedoc. + +The CI framework has also been changed with a move from Travis to Github Action which allows us to get faster tests on Windows, MacOS and Linux. We also now report our coverage on [Codecov.io](https://codecov.io/gh/PythonOT/POT) and we have a reasonable 92% coverage. We also now generate wheels for a number of OS and python versions at each merge in the master branch. They are available as artifacts of this [action](https://github.com/PythonOT/POT/actions?query=workflow%3A%22Build+dist+and+wheels%22). This will allow simpler multi-platform releases from now on. + +In terms of new features we now have [OTDA Classes for unbalanced OT](https://pythonot.github.io/gen_modules/ot.da.html#ot.da.UnbalancedSinkhornTransport), a new Domain adaptation class form [multi domain problems (JCPOT)](https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_jcpot.html#sphx-glr-auto-examples-domain-adaptation-plot-otda-jcpot-py), and several solvers to solve the [Partial Optimal Transport](https://pythonot.github.io/auto_examples/unbalanced-partial/plot_partial_wass_and_gromov.html#sphx-glr-auto-examples-unbalanced-partial-plot-partial-wass-and-gromov-py) problems. + +This release is also the moment to thank all the POT contributors (old and new) for helping making POT such a nice to use toolbox. A lot of changes (also in the API) are comming for the next versions. + + +#### Features + +- New documentation on [https://PythonOT.github.io/](https://PythonOT.github.io/) (PR #160, PR #143, PR #144) +- Documentation build on CircleCI with sphinx-gallery (PR #145,PR #146, #155) +- Run sphinx gallery in CI (PR #146) +- Remove notebooks from repo because available in doc (PR #156) +- Build wheels in CI (#157) +- Move from travis to GitHub Action for Windows, MacOS and Linux (PR #148, PR #150) +- Partial Optimal Transport (PR#141 and PR #142) +- Laplace regularized OTDA (PR #140) +- Multi source DA with target shift (PR #137) +- Screenkhorn algorithm (PR #121) + +#### Closed issues + +- Bug in Unbalanced OT example (Issue #127) +- Clean Cython output when calling setup.py clean (Issue #122) +- Various Macosx compilation problems (Issue #113, Issue #118, PR#130) +- EMD dimension mismatch (Issue #114, Fixed in PR #116) +- 2D barycenter bug for non square images (Issue #124, fixed in PR #132) +- Bad value in EMD 1D (Issue #138, fixed in PR #139) +- Log bugs for Gromov-Wassertein solver (Issue #107, fixed in PR #108) +- Weight issues in barycenter function (PR #106) ## 0.6 *July 2019* diff --git a/ot/__init__.py b/ot/__init__.py index 2d2361067..0e6e2e25b 100644 --- a/ot/__init__.py +++ b/ot/__init__.py @@ -43,7 +43,7 @@ # utils functions from .utils import dist, unif, tic, toc, toq -__version__ = "0.7.0b" +__version__ = "0.7.0" __all__ = ['emd', 'emd2', 'emd_1d', 'sinkhorn', 'sinkhorn2', 'utils', 'datasets', 'bregman', 'lp', 'tic', 'toc', 'toq', 'gromov', From 27facf1f22176eabae9f710e8dd528c8aa2c9c6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Flamary?= Date: Mon, 4 May 2020 15:20:49 +0200 Subject: [PATCH 2/5] test build wheels --- .github/workflows/build_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index be1719b53..a4b980b72 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -4,7 +4,7 @@ on: release: push: branches: - - "master" + - "**" jobs: build_wheels: @@ -39,7 +39,7 @@ jobs: - name: Build wheel env: - CIBW_SKIP: "pp*-win* pp*-macosx*" # remove pypy on mac and win (wrong version) + CIBW_SKIP: "pp*-win* pp*-macosx* cp2*" # remove pypy on mac and win (wrong version) CIBW_BEFORE_BUILD: "pip install numpy cython" run: | python -m cibuildwheel --output-dir wheelhouse From 43fcd147158d0cdf67f3bdc9a73716fdd5fac6be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Flamary?= Date: Mon, 4 May 2020 15:33:33 +0200 Subject: [PATCH 3/5] remove whelels pypy --- .github/workflows/build_wheels.yml | 2 +- RELEASES.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index a4b980b72..babe7fada 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -39,7 +39,7 @@ jobs: - name: Build wheel env: - CIBW_SKIP: "pp*-win* pp*-macosx* cp2*" # remove pypy on mac and win (wrong version) + CIBW_SKIP: "pp*-win* pp*-macosx* cp2* pp2*" # remove pypy on mac and win (wrong version) CIBW_BEFORE_BUILD: "pip install numpy cython" run: | python -m cibuildwheel --output-dir wheelhouse diff --git a/RELEASES.md b/RELEASES.md index 0fc924091..dbcb4cb63 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -5,7 +5,7 @@ This is the new stable release for POT. We have a lot of changes in the documentation and several new features such as Partial OT, Unbalanced and Multi Sources OT Domain Adaptation and several bug fixes. One important change is that we have created a the GitHub organization [PythonOT](https://github.com/PythonOT) that now owns the main POT repository [https://github.com/PythonOT/POT](https://github.com/PythonOT/POT) and the repository for the new documentation hosted at [https://PythonOT.github.io/](https://PythonOT.github.io/). -This is the first release where the Python 2.7 tests have been removed. Most of the toolbox should still work but this is the last release where we release Python 2.7 wheels. +This is the first release where the Python 2.7 tests have been removed. Most of the toolbox should still work but we do not offer support for Python 2.7 and will close related Issues. A lot of changes have been done to the documentation that is now hosted on [https://PythonOT.github.io/](https://PythonOT.github.io/) instead of readthedocs. It was a hard choice but readthedocs did not allow us to run sphinx-gallery to update our beautiful examples and it was a huge amount of work to maintain it. The documentation is now automatically compiled and updated on merge. We also removed the notebooks from the repository for space reason and also because they are all available in the [example gallery](https://pythonot.github.io/auto_examples/index.html). Note that now the output of the documentation build for each commit in the PR is available to check that the doc builds correctly before merging which was not possible with readthedoc. From f0770af36cb2fef01156f3a30222eeace19a5352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Flamary?= Date: Mon, 4 May 2020 15:46:23 +0200 Subject: [PATCH 4/5] really remove pypy --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index babe7fada..7c61a06ee 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -39,7 +39,7 @@ jobs: - name: Build wheel env: - CIBW_SKIP: "pp*-win* pp*-macosx* cp2* pp2*" # remove pypy on mac and win (wrong version) + CIBW_SKIP: "pp*-win* pp*-macosx* cp2* pp*" # remove pypy on mac and win (wrong version) CIBW_BEFORE_BUILD: "pip install numpy cython" run: | python -m cibuildwheel --output-dir wheelhouse From ba752bdba9a6733ebbb835cdbc59f1195a849245 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Flamary?= Date: Mon, 4 May 2020 16:06:22 +0200 Subject: [PATCH 5/5] back to build wheels on master --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 7c61a06ee..662a60495 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -4,7 +4,7 @@ on: release: push: branches: - - "**" + - "master" jobs: build_wheels: