summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/for_maintainers/new_gudhi_version_creation.md3
-rw-r--r--.github/for_maintainers/next_release_template.md4
-rw-r--r--.github/how_to_use_github_to_contribute_to_gudhi.md15
-rw-r--r--.github/next_release.md61
-rw-r--r--.github/workflows/pip-build-linux.yml20
-rw-r--r--.github/workflows/pip-build-osx.yml18
-rw-r--r--.github/workflows/pip-build-windows.yml6
-rw-r--r--.github/workflows/pip-packaging-linux.yml16
-rw-r--r--.github/workflows/pip-packaging-osx.yml23
-rw-r--r--.github/workflows/pip-packaging-windows.yml6
10 files changed, 87 insertions, 85 deletions
diff --git a/.github/for_maintainers/new_gudhi_version_creation.md b/.github/for_maintainers/new_gudhi_version_creation.md
index 19ef168e..9634adae 100644
--- a/.github/for_maintainers/new_gudhi_version_creation.md
+++ b/.github/for_maintainers/new_gudhi_version_creation.md
@@ -22,7 +22,6 @@ cmake -DCMAKE_BUILD_TYPE=Release -DCGAL_DIR=/your/path/to/CGAL -DWITH_GUDHI_EXAM
make user_version
date +"%d-%m-%Y-%T" > gudhi.@GUDHI_VERSION@/timestamp.txt
tar -czvf gudhi.@GUDHI_VERSION@.tar.gz gudhi.@GUDHI_VERSION@
-md5sum gudhi.@GUDHI_VERSION@.tar.gz > md5sum.txt
sha256sum gudhi.@GUDHI_VERSION@.tar.gz > sha256sum.txt
sha512sum gudhi.@GUDHI_VERSION@.tar.gz > sha512sum.txt
@@ -87,7 +86,7 @@ Copy gudhi WebDAV python/@GUDHI_VERSION@ as python/latest (no symbolic link with
* Name the tag: tags/gudhi-release-@GUDHI_VERSION@
* Name the release GUDHI @GUDHI_VERSION@ release
* Write the release note
-* Drag'n drop *gudhi.@GUDHI_VERSION@.tar.gz*, *md5sum.txt*, *sha256sum.txt*, *sha512sum.txt* files
+* Drag'n drop *gudhi.@GUDHI_VERSION@.tar.gz*, *sha256sum.txt*, *sha512sum.txt* files
* Tick the *This is a pre-release* check button if this is a release candidate (untick if this is an official version)
* Click the *Publish the release* button
diff --git a/.github/for_maintainers/next_release_template.md b/.github/for_maintainers/next_release_template.md
index a2805a55..0b6dde63 100644
--- a/.github/for_maintainers/next_release_template.md
+++ b/.github/for_maintainers/next_release_template.md
@@ -26,3 +26,7 @@ Feel free to [contact us](https://gudhi.inria.fr/contact/) in case you have any
For further information about downloading and installing the library ([C++](https://gudhi.inria.fr/doc/latest/installation.html) or [Python](https://gudhi.inria.fr/python/latest/installation.html)), please visit the [GUDHI web site](https://gudhi.inria.fr/).
+## Contributors
+
+- ...
+- ... \ No newline at end of file
diff --git a/.github/how_to_use_github_to_contribute_to_gudhi.md b/.github/how_to_use_github_to_contribute_to_gudhi.md
index 738c1ce9..f72bb9d6 100644
--- a/.github/how_to_use_github_to_contribute_to_gudhi.md
+++ b/.github/how_to_use_github_to_contribute_to_gudhi.md
@@ -17,7 +17,7 @@ You can see your fork at https://github.com/LOGIN/gudhi-devel
## Create a local clone on your computer
```bash
-git clone https://github.com/LOGIN/gudhi-devel.git
+git clone --recurse-submodules https://github.com/LOGIN/gudhi-devel.git
```
This creates a directory gudhi-devel, which you are free to move around or rename. For the following, change to that directory:
@@ -25,16 +25,14 @@ This creates a directory gudhi-devel, which you are free to move around or renam
cd gudhi-devel
```
-When you clone the repository, you also need to download the *submodules*.
-
## Submodules
-Hera, used for Wasserstein distance, is available on an external git repository. To download it:
+When you clone the repository, you also need to download the *submodules*. This is done automatically thanks to `--recurse-submodules`.
+If you forgot this option, you can still download them with
```bash
git submodule update --init
```
-[gudhi-deploy](https://github.com/GUDHI/gudhi-deploy) is used for Continuous Integration python
-requirements and will also be downloaded by the above command.
+The submodules appear in the `ext/` subdirectory. There are currently 2, [Hera](https://github.com/anigmetov/hera) for distances between persistence diagrams, and [gudhi-deploy](https://github.com/GUDHI/gudhi-deploy) for Continuous Integration.
## Configuring a remote for a fork
```bash
@@ -68,6 +66,11 @@ It is safe, it will not mess with your files.
git submodule sync
git submodule update --init
```
+You can configure `git` to do this automatically with
+```bash
+git config submodule.recurse true
+```
+(add `--global` if you want it to apply to other projects as well)
## Create a branch, based on the current master
```bash
diff --git a/.github/next_release.md b/.github/next_release.md
index 72c55999..54115196 100644
--- a/.github/next_release.md
+++ b/.github/next_release.md
@@ -1,59 +1,18 @@
-We are pleased to announce the release 3.6.0 of the GUDHI library.
+We are pleased to announce the release 3.7.1 of the GUDHI library.
-As a major new feature, the GUDHI library now offers automatic differentiation for the computation of
-persistence diagrams, Cubical complex persistence scikit-learn like interface, datasets fetch methods,
-and weighted version for alpha complex in any dimension D.
+This minor post-release is a bug fix version for [python representation module](https://gudhi.inria.fr/python/latest/representations.html).
-Do not hesitate to [fork the GUDHI project on GitHub](https://github.com/GUDHI/gudhi-devel). From a user point of view, we recommend to download GUDHI user version (gudhi.3.X.X.tar.gz).
-For further information, please visit the [GUDHI web site](https://gudhi.inria.fr/).
+We are now using GitHub to develop the GUDHI library, do not hesitate to [fork the GUDHI project on GitHub](https://github.com/GUDHI/gudhi-devel). From a user point of view, we recommend to download GUDHI user version (gudhi.3.X.X.tar.gz).
-# GUDHI 3.6.0 Release Notes
-Below is a list of changes made since GUDHI 3.5.0:
+The [list of bugs that were solved since GUDHI-3.7.0](https://github.com/GUDHI/gudhi-devel/issues?q=label%3A3.7.1+is%3Aclosed) is available on GitHub.
-- TensorFlow 2 models that can handle automatic differentiation for the computation of persistence diagrams:
- - [Cubical complex](https://gudhi.inria.fr/python/latest/cubical_complex_tflow_itf_ref.html)
- - [lower-star persistence on simplex trees](https://gudhi.inria.fr/python/latest/ls_simplex_tree_tflow_itf_ref.html)
- - [Rips complex](https://gudhi.inria.fr/python/latest/rips_complex_tflow_itf_ref.html)
+All modules are distributed under the terms of the MIT license.
+However, there are still GPL dependencies for many modules. We invite you to check our [license dedicated web page](https://gudhi.inria.fr/licensing/) for further details.
-- [Cubical complex](https://gudhi.inria.fr/python/latest/cubical_complex_sklearn_itf_ref.html)
- - Cubical complex persistence scikit-learn like interface
+We kindly ask users to cite the GUDHI library as appropriately as possible in their papers, and to mention the use of the GUDHI library on the web pages of their projects using GUDHI and provide us with links to these web pages.
-- [Datasets](https://gudhi.inria.fr/python/latest/datasets.html)
- - `datasets.remote.fetch_bunny` and `datasets.remote.fetch_spiral_2d` allows to fetch datasets from [GUDHI-data](https://github.com/GUDHI/gudhi-data)
+We provide [bibtex entries](https://gudhi.inria.fr/doc/latest/_citation.html) for the modules of the User and Reference Manual, as well as for publications directly related to the GUDHI library.
-- [Alpha complex](https://gudhi.inria.fr/python/latest/alpha_complex_user.html)
- - python weighted version for alpha complex is now available in any dimension D.
- - `alpha_complex = gudhi.AlphaComplex(off_file='/data/points/tore3D_300.off')` is deprecated, please use [read_points_from_off_file](https://gudhi.inria.fr/python/latest/point_cloud.html#gudhi.read_points_from_off_file) instead.
+Feel free to [contact us](https://gudhi.inria.fr/contact/) in case you have any questions or remarks.
-- [Edge collapse](https://gudhi.inria.fr/doc/latest/group__edge__collapse.html)
- - rewriting of the module to improve performance
-
-- [Čech complex](https://gudhi.inria.fr/doc/latest/group__cech__complex.html)
- - rewriting of the module to improve performance
-
-- [Representations](https://gudhi.inria.fr/python/latest/representations.html#gudhi.representations.vector_methods.BettiCurve)
- - A more flexible Betti curve class capable of computing exact curves
-
-- [C++ documentation](https://gudhi.inria.fr/doc/latest/)
- - upgrade and improve performance with new doxygen features
-
-- [Simplex tree](https://gudhi.inria.fr/python/latest/simplex_tree_ref.html)
- - `__deepcopy__`, `copy` and copy constructors for python module
- - `expansion_with_blockers` python interface
-
-- Installation
- - Boost ≥ 1.66.0 is now required (was ≥ 1.56.0).
- - Python >= 3.5 and cython >= 0.27 are now required.
-
-- Miscellaneous
- - The [list of bugs that were solved since GUDHI-3.5.0](https://github.com/GUDHI/gudhi-devel/issues?q=label%3A3.6.0+is%3Aclosed) is available on GitHub.
-
-## Contributors
-
-- @albert-github
-- @gspr
-- @Hind-M
-- @MathieuCarriere
-- @mglisse
-- @Soriano-Trigueros
-- @VincentRouvreau
+For further information about downloading and installing the library ([C++](https://gudhi.inria.fr/doc/latest/installation.html) or [Python](https://gudhi.inria.fr/python/latest/installation.html)), please visit the [GUDHI web site](https://gudhi.inria.fr/).
diff --git a/.github/workflows/pip-build-linux.yml b/.github/workflows/pip-build-linux.yml
index a2b4f085..bc4f999e 100644
--- a/.github/workflows/pip-build-linux.yml
+++ b/.github/workflows/pip-build-linux.yml
@@ -9,19 +9,19 @@ jobs:
# cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_pip
container: gudhi/pip_for_gudhi
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v3
with:
submodules: true
- - name: Build wheel for Python 3.10
+ - name: Build wheel for Python 3.11
run: |
- mkdir build_310
- cd build_310
- cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=$PYTHON310/bin/python ..
+ mkdir build_311
+ cd build_311
+ cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=$PYTHON311/bin/python ..
cd src/python
- $PYTHON310/bin/python setup.py bdist_wheel
+ $PYTHON311/bin/python setup.py bdist_wheel
auditwheel repair dist/*.whl
- - name: Install and test wheel for Python 3.10
+ - name: Install and test wheel for Python 3.11
run: |
- $PYTHON310/bin/python -m pip install --user pytest build_310/src/python/dist/*.whl
- $PYTHON310/bin/python -c "import gudhi; print(gudhi.__version__)"
- $PYTHON310/bin/python -m pytest src/python/test/test_alpha_complex.py
+ $PYTHON311/bin/python -m pip install --user pytest build_311/src/python/dist/*.whl
+ $PYTHON311/bin/python -c "import gudhi; print(gudhi.__version__)"
+ $PYTHON311/bin/python -m pytest src/python/test/test_alpha_complex.py
diff --git a/.github/workflows/pip-build-osx.yml b/.github/workflows/pip-build-osx.yml
index 99d515ff..a438124a 100644
--- a/.github/workflows/pip-build-osx.yml
+++ b/.github/workflows/pip-build-osx.yml
@@ -2,19 +2,24 @@ name: pip build osx
on: [push, pull_request]
+env:
+ MACOSX_DEPLOYMENT_TARGET: 10.14
+ _PYTHON_HOST_PLATFORM: macosx-10.14-universal2
+ ARCHFLAGS: "-arch arm64 -arch x86_64"
+
jobs:
build:
runs-on: macos-latest
strategy:
max-parallel: 4
matrix:
- python-version: ['3.10']
+ python-version: ['3.11']
name: Build wheels for Python ${{ matrix.python-version }}
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v3
with:
submodules: true
- - uses: actions/setup-python@v1
+ - uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
@@ -24,14 +29,21 @@ jobs:
brew install boost eigen gmp mpfr cgal || true
python -m pip install --user -r ext/gudhi-deploy/build-requirements.txt
python -m pip install --user twine delocate
+ ./scripts/build_osx_universal_gmpfr.sh
+ # Now the universal libraries are in $PWD/deps-uni/lib
- name: Build python wheel
run: |
+ export GMP_LIB_DIR=$PWD/deps-uni/lib
+ export GMPXX_LIB_DIR=$PWD/deps-uni/lib
+ export MPFR_LIB_DIR=$PWD/deps-uni/lib
python --version
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DPython_ADDITIONAL_VERSIONS=3 ..
cd src/python
python setup.py bdist_wheel
+ export PATH="$PATH:`python -m site --user-base`/bin"
+ delocate-wheel --require-archs universal2 -v dist/*.whl
- name: Install and test python wheel
run: |
python -m pip install --user pytest build/src/python/dist/*.whl
diff --git a/.github/workflows/pip-build-windows.yml b/.github/workflows/pip-build-windows.yml
index 30b0bd94..50bdfe2c 100644
--- a/.github/workflows/pip-build-windows.yml
+++ b/.github/workflows/pip-build-windows.yml
@@ -8,13 +8,13 @@ jobs:
strategy:
max-parallel: 4
matrix:
- python-version: ['3.10']
+ python-version: ['3.11']
name: Build wheels for Python ${{ matrix.python-version }}
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v3
with:
submodules: true
- - uses: actions/setup-python@v1
+ - uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
diff --git a/.github/workflows/pip-packaging-linux.yml b/.github/workflows/pip-packaging-linux.yml
index 98173ed3..14b1cf7a 100644
--- a/.github/workflows/pip-packaging-linux.yml
+++ b/.github/workflows/pip-packaging-linux.yml
@@ -11,7 +11,7 @@ jobs:
# cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_pip
container: gudhi/pip_for_gudhi
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v3
with:
submodules: true
- name: Build wheel for Python 3.6
@@ -79,6 +79,19 @@ jobs:
$PYTHON310/bin/python -m pip install --user pytest build_310/src/python/dist/*.whl
$PYTHON310/bin/python -c "import gudhi; print(gudhi.__version__)"
$PYTHON310/bin/python -m pytest src/python/test/test_alpha_complex.py
+ - name: Build wheel for Python 3.11
+ run: |
+ mkdir build_311
+ cd build_311
+ cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=$PYTHON311/bin/python ..
+ cd src/python
+ $PYTHON311/bin/python setup.py bdist_wheel
+ auditwheel repair dist/*.whl
+ - name: Install and test wheel for Python 3.11
+ run: |
+ $PYTHON311/bin/python -m pip install --user pytest build_311/src/python/dist/*.whl
+ $PYTHON311/bin/python -c "import gudhi; print(gudhi.__version__)"
+ $PYTHON311/bin/python -m pytest src/python/test/test_alpha_complex.py
- name: Publish on PyPi
env:
TWINE_USERNAME: __token__
@@ -89,3 +102,4 @@ jobs:
$PYTHON36/bin/python -m twine upload build_38/src/python/wheelhouse/*
$PYTHON36/bin/python -m twine upload build_39/src/python/wheelhouse/*
$PYTHON36/bin/python -m twine upload build_310/src/python/wheelhouse/*
+ $PYTHON36/bin/python -m twine upload build_311/src/python/wheelhouse/*
diff --git a/.github/workflows/pip-packaging-osx.yml b/.github/workflows/pip-packaging-osx.yml
index 7417300a..9ddbcfce 100644
--- a/.github/workflows/pip-packaging-osx.yml
+++ b/.github/workflows/pip-packaging-osx.yml
@@ -4,19 +4,24 @@ on:
release:
types: [published]
+env:
+ MACOSX_DEPLOYMENT_TARGET: 10.15
+ _PYTHON_HOST_PLATFORM: macosx-10.15-universal2
+ ARCHFLAGS: "-arch arm64 -arch x86_64"
+
jobs:
build:
runs-on: macos-latest
strategy:
max-parallel: 4
matrix:
- python-version: ['3.7', '3.8', '3.9', '3.10']
+ python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
name: Build wheels for Python ${{ matrix.python-version }}
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v3
with:
submodules: true
- - uses: actions/setup-python@v1
+ - uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
@@ -26,8 +31,13 @@ jobs:
brew install boost eigen gmp mpfr cgal || true
python -m pip install --user -r ext/gudhi-deploy/build-requirements.txt
python -m pip install --user twine delocate
+ ./scripts/build_osx_universal_gmpfr.sh
+ # Now the universal libs are in $PWD/deps-uni/lib
- name: Build python wheel
run: |
+ export GMP_LIB_DIR=$PWD/deps-uni/lib
+ export GMPXX_LIB_DIR=$PWD/deps-uni/lib
+ export MPFR_LIB_DIR=$PWD/deps-uni/lib
python --version
mkdir build
cd build
@@ -45,6 +55,7 @@ jobs:
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
mkdir wheelhouse
- /Users/runner/.local/bin/delocate-listdeps build/src/python/dist/*
- /Users/runner/.local/bin/delocate-wheel --require-archs x86_64 -w wheelhouse build/src/python/dist/*
- python -m twine upload wheelhouse/* \ No newline at end of file
+ export PATH="$PATH:`python -m site --user-base`/bin"
+ delocate-listdeps build/src/python/dist/*
+ delocate-wheel --require-archs universal2 -w wheelhouse build/src/python/dist/*
+ python -m twine upload wheelhouse/*
diff --git a/.github/workflows/pip-packaging-windows.yml b/.github/workflows/pip-packaging-windows.yml
index 48a98036..df0db9a5 100644
--- a/.github/workflows/pip-packaging-windows.yml
+++ b/.github/workflows/pip-packaging-windows.yml
@@ -10,13 +10,13 @@ jobs:
strategy:
max-parallel: 4
matrix:
- python-version: ['3.7', '3.8', '3.9', '3.10']
+ python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
name: Build wheels for Python ${{ matrix.python-version }}
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v3
with:
submodules: true
- - uses: actions/setup-python@v1
+ - uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64