Skip to content

Commit

Permalink
Create v0.2.1 (#392)
Browse files Browse the repository at this point in the history
* Add twine check to CI, attempt fix in README (#379)

* Tests for plotting functions and methods, other increases in test coverage (#384)

* Vectorization2 (#378)

* Fix azure on windows (#388)

* Allow more general input to ripser when metric='precomputed', improve/refactor check_point_clouds and add tests (#386)

* Add citing entry to README.rst and doc/faq.rst (#389)

* Fix markdown subsection formatting (#390)

* Prepare release 0.2.1 (#391)

Co-authored-by: Anibal M. Medina-Mardones <ammedmar@gmail.com>
Co-authored-by: REDS institute <reds-heig@users.noreply.github.com>
Co-authored-by: Guillaume Tauzin <guillaumetauzin.ut@gmail.com>
  • Loading branch information
4 people authored Apr 8, 2020
1 parent 72e31c2 commit 08619b0
Show file tree
Hide file tree
Showing 31 changed files with 973 additions and 393 deletions.
2 changes: 1 addition & 1 deletion .azure-ci/docker_scripts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ cd /io
pip install -e ".[dev]"

# Test dev install with pytest
pytest gtda --cov --cov-report xml
pytest gtda --no-cov --no-coverage-upload

# Uninstall giotto-tda/giotto-tda-nightly dev
pip uninstall -y giotto-tda
Expand Down
23 changes: 23 additions & 0 deletions .azure-ci/install_boost.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/usr/bin/env python

import os
from pathlib import Path
import urllib.request
import shutil
import zipfile


url = "https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.zip"
boost_folder = r"C:\local"

Path(boost_folder).mkdir(parents=True, exist_ok=True)
zip_file = os.path.join(boost_folder, "1_72_0.zip")

with urllib.request.urlopen(url) as response, \
open(zip_file, 'wb') as out_file:
shutil.copyfileobj(response, out_file)

with zipfile.ZipFile(zip_file, 'r') as zip_ref:
zip_ref.extractall(boost_folder)

os.remove(zip_file)
12 changes: 5 additions & 7 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
[run]
omit =
*/gtda/externals/*
**/setup.py

*/gtda/compose/*
*/gtda/datasets/*
*/gtda/images/*
*/gtda/neural_network/*
*/gtda/model_selection/*
*tests*

**/gtda/utils/intervals.py
**/gtda/utils/_docs.py
**/base.py
**/pipeline.py
**/_version.py
**/setup.py
**/_version.py
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/gtda/externals/pybind11)
set(BINDINGS_DIR "gtda/externals/bindings")

include(cmake/HelperBoost.cmake)
include_directories(${Boost_INCLUDE_DIR})
include_directories(${Boost_INCLUDE_DIRS})

find_package(OpenMP)

Expand Down
23 changes: 22 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -120,12 +120,33 @@ source directory ::
pytest gtda

Important links
---------------
===============

- Official source code repo: https://github.com/giotto-ai/giotto-tda
- Download releases: https://pypi.org/project/giotto-tda/
- Issue tracker: https://github.com/giotto-ai/giotto-tda/issues


Citing giotto-tda
=================

If you use ``giotto-tda`` in a scientific publication, we would appreciate citations to the following paper:

`giotto-tda: A Topological Data Analysis Toolkit for Machine Learning and Data Exploration <https://arxiv.org/abs/2004.02551>`_, Tauzin *et al*, arXiv:2004.02551, 2020.

You can use the following BibTeX entry:

.. code:: RST
@misc{tauzin2020giottotda,
title={giotto-tda: A Topological Data Analysis Toolkit for Machine Learning and Data Exploration},
author={Guillaume Tauzin and Umberto Lupo and Lewis Tunstall and Julian Burella Pérez and Matteo Caorsi and Anibal Medina-Mardones and Alberto Dassatti and Kathryn Hess},
year={2020},
eprint={2004.02551},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
Community
=========

Expand Down
12 changes: 8 additions & 4 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:

- task: Cache@2
inputs:
key: '"ccache-wheels-v2020.03.23" | $(Agent.OS) | "$(python.version)"'
key: '"ccache-wheels-v2020.04.07" | $(Agent.OS) | "$(python.version)"'
path: $(CCACHE_DIR)
displayName: ccache

Expand Down Expand Up @@ -133,7 +133,7 @@ jobs:
- task: Cache@2
inputs:
key: '"ccache-v2020.03.23" | $(Agent.OS) | "$(python.version)"'
key: '"ccache-v2020.04.07" | $(Agent.OS) | "$(python.version)"'
path: $(CCACHE_DIR)
displayName: ccache

Expand All @@ -154,7 +154,7 @@ jobs:
- script: |
set -e
pytest gtda --cov --cov-report xml
displayName: 'Test dev install with pytest'
displayName: 'Test dev install with pytest, upload coverage report'
- script: |
set -e
Expand Down Expand Up @@ -246,13 +246,17 @@ jobs:
condition: eq(variables['nightly_check'], 'true')
displayName: 'Change name to giotto-tda-nightly'
- script: |
python .azure-ci/install_boost.py || exit /b
displayName: 'Install boost'
- script: |
python -m pip install --upgrade pip setuptools
python -m pip install -e ".[dev]"
displayName: 'Install dev environment'
- script: |
pytest gtda --cov --cov-report xml || exit /b
pytest gtda --no-cov --no-coverage-upload || exit /b
displayName: 'Test dev install with pytest'
- script: |
Expand Down
21 changes: 20 additions & 1 deletion doc/faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,25 @@ I am a researcher. Can I use ``giotto-tda`` in my project?
Of course! The `license <https://github.com/giotto-ai/giotto-tda/blob/master/LICENSE>`_ is very permissive.
For more information, please contact the `L2F team`_.

How do I cite ``giotto-tda``?
-----------------------------
We would appreciate citations to the following paper:

`giotto-tda: A Topological Data Analysis Toolkit for Machine Learning and Data Exploration <https://arxiv.org/abs/2004.02551>`_, Tauzin *et al*, arXiv:2004.02551, 2020.

You can use the following BibTeX entry:

.. code:: RST
@misc{tauzin2020giottotda,
title={giotto-tda: A Topological Data Analysis Toolkit for Machine Learning and Data Exploration},
author={Guillaume Tauzin and Umberto Lupo and Lewis Tunstall and Julian Burella Pérez and Matteo Caorsi and Anibal Medina-Mardones and Alberto Dassatti and Kathryn Hess},
year={2020},
eprint={2004.02551},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
I cannot install ``giotto-tda``
-------------------------------

Expand All @@ -26,4 +45,4 @@ There are many TDA libraries available. How is ``giotto-tda`` different?
``giotto-tda`` is oriented towards machine learning (for details, see the :ref:`guiding principles <guiding_principles>`).
This philosophy is in contrast with other reference libraries, like `GUDHI <https://gudhi.inria.fr/doc/latest/index.html>`_,
which provide more low-level functionality at the expense of being less adapted to e.g. batch processing, or of
being tightly integrated with ``scikit-learn``.
being tightly integrated with ``scikit-learn``.
4 changes: 2 additions & 2 deletions doc/library.rst
Original file line number Diff line number Diff line change
Expand Up @@ -114,5 +114,5 @@ What's new

.. include::
release.rst
:start-after: Release 0.2.0
:end-before: Release 0.1.4
:start-after: Release 0.2.1
:end-before: Release 0.2.0
39 changes: 39 additions & 0 deletions doc/release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,45 @@ Release Notes

.. _stable:

*************
Release 0.2.1
*************

Major Features and Improvements
===============================

- The theory glossary has been improved to include the notions of vectorization, kernel and amplitude for persistence diagrams.
- The ``ripser`` function in ``gtda.externals.python.ripser_interface`` no longer uses scikit-learn's ``pairwise_distances`` when
``metric`` is ``'precomputed'``, thus allowing square arrays with negative entries or infinities to be passed.
- ``check_point_clouds`` in ``gtda.utils.validation`` now checks for square array input when the input should be a collection of
distance-type matrices. Warnings guide the user to correctly setting the ``distance_matrices`` parameter. ``force_all_finite=False``
no longer means accepting NaN input (only infinite input is accepted).
- ``VietorisRipsPersistence`` in ``gtda.homology.simplicial`` no longer masks out infinite entries in the input to be fed to
``ripser``.
- The docstrings for ``check_point_clouds`` and ``VietorisRipsPersistence`` have been improved to reflect these changes and the
extra level of generality for ``ripser``.

Bug Fixes
=========

- The variable used to indicate the location of Boost headers has been renamed from ``Boost_INCLUDE_DIR`` to ``Boost_INCLUDE_DIRS``
to address developer installation issues in some Linux systems.

Backwards-Incompatible Changes
==============================

- The keyword parameter ``distance_matrix`` in ``check_point_clouds`` has been renamed to ``distance_matrices``.

Thanks to our Contributors
==========================

This release contains contributions from many people:

Umberto Lupo, Anibal Medina-Mardones, Julian Burella Pérez, Guillaume Tauzin, and Wojciech Reise.

We are also grateful to all who filed issues or helped resolve them, asked and answered questions, and were part of
inspiring discussions.

*************
Release 0.2.0
*************
Expand Down
Loading

0 comments on commit 08619b0

Please sign in to comment.