diff options
-rw-r--r-- | .github/how_to_use_github_to_contribute_to_gudhi.md | 15 | ||||
-rw-r--r-- | src/python/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/python/test/test_persistence_graphical_tools.py | 5 |
3 files changed, 16 insertions, 12 deletions
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/src/python/CMakeLists.txt b/src/python/CMakeLists.txt index 8bf176fc..39e2acd4 100644 --- a/src/python/CMakeLists.txt +++ b/src/python/CMakeLists.txt @@ -44,7 +44,7 @@ function( add_gudhi_debug_info DEBUG_INFO ) endfunction( add_gudhi_debug_info ) if(PYTHONINTERP_FOUND) - if(PYBIND11_FOUND AND CYTHON_FOUND) + if(NUMPY_FOUND AND PYBIND11_FOUND AND CYTHON_FOUND) add_gudhi_debug_info("Pybind11 version ${PYBIND11_VERSION}") # PyBind11 modules set(GUDHI_PYTHON_MODULES "${GUDHI_PYTHON_MODULES}'bottleneck', ") @@ -623,10 +623,10 @@ if(PYTHONINTERP_FOUND) # Set missing or not modules set(GUDHI_MODULES ${GUDHI_MODULES} "python" CACHE INTERNAL "GUDHI_MODULES") - else(PYBIND11_FOUND AND CYTHON_FOUND) - message("++ Python module will not be compiled because cython and/or pybind11 was/were not found") + else(NUMPY_FOUND AND PYBIND11_FOUND AND CYTHON_FOUND) + message("++ Python module will not be compiled because numpy and/or cython and/or pybind11 was/were not found") set(GUDHI_MISSING_MODULES ${GUDHI_MISSING_MODULES} "python" CACHE INTERNAL "GUDHI_MISSING_MODULES") - endif(PYBIND11_FOUND AND CYTHON_FOUND) + endif(NUMPY_FOUND AND PYBIND11_FOUND AND CYTHON_FOUND) else(PYTHONINTERP_FOUND) message("++ Python module will not be compiled because no Python interpreter was found") set(GUDHI_MISSING_MODULES ${GUDHI_MISSING_MODULES} "python" CACHE INTERNAL "GUDHI_MISSING_MODULES") diff --git a/src/python/test/test_persistence_graphical_tools.py b/src/python/test/test_persistence_graphical_tools.py index c19836b7..0e2ac3f8 100644 --- a/src/python/test/test_persistence_graphical_tools.py +++ b/src/python/test/test_persistence_graphical_tools.py @@ -12,6 +12,7 @@ import gudhi as gd import numpy as np import matplotlib as plt import pytest +import warnings def test_array_handler(): @@ -71,13 +72,13 @@ def test_limit_to_max_intervals(): (0, (0.0, 0.106382)), ] # check no warnings if max_intervals equals to the diagrams number - with pytest.warns(None) as record: + with warnings.catch_warnings(): + warnings.simplefilter("error") truncated_diags = gd.persistence_graphical_tools._limit_to_max_intervals( diags, 10, key=lambda life_time: life_time[1][1] - life_time[1][0] ) # check diagrams are not sorted assert truncated_diags == diags - assert len(record) == 0 # check warning if max_intervals lower than the diagrams number with pytest.warns(UserWarning) as record: |