Skip to content

Commit

Permalink
Prepare v0.6.0 (#648)
Browse files Browse the repository at this point in the history
* Bump version to 0.6.0

* Write v0.6.0 release notes

* Fix bug with plot_diagram on empty diagrams
  • Loading branch information
ulupo committed Aug 26, 2022
1 parent 7576eb9 commit 7b3e47d
Show file tree
Hide file tree
Showing 7 changed files with 60 additions and 6 deletions.
2 changes: 1 addition & 1 deletion CODE_AUTHORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Where component authors are known, add them here.
| Lewis Tunstall, lewis.c.tunstall@gmail.com
| Matteo Caorsi, m.caorsi@l2f.ch
| Philippe Nguyen, p.nguyen@l2f.ch
| Julian Burella Pérez, julian.burellaperez@heig-vd.ch
| Julián Burella Pérez, julian.burellaperez@heig-vd.ch
| Alessio Ghiraldello, amg28@protonmail.com
| Adélie Garin, adelie.garin@epfl.ch
| Anibal Medina-Mardones, anibal.medinamardones@epfl.ch
Expand Down
4 changes: 2 additions & 2 deletions doc/library.rst
Original file line number Diff line number Diff line change
Expand Up @@ -124,5 +124,5 @@ What's new

.. include::
release.rst
:start-after: Release 0.5.1
:end-before: Release 0.5.0
:start-after: Release 0.6.0
:end-before: Release 0.5.1
35 changes: 35 additions & 0 deletions doc/release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,41 @@ Release Notes

.. _stable:

*************
Release 0.6.0
*************

This is a major release including a new local homology subpackage, a new backend for computing Vietoris–Rips barcodes, wheels for Python 3.10 and Apple Silicon systems, and end of support for Python 3.6.

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

- A new ``local_homology`` subpackage containing ``scikit-learn``–compatible transformers for the extraction of local homology features has been added (`#602 <https://github.com/giotto-ai/giotto-tda/pull/602>`_). A `tutorial <https://giotto-ai.github.io/gtda-docs/0.6.0/notebooks/local_homology.html>`_ and an `example <https://giotto-ai.github.io/gtda-docs/0.6.0/notebooks/local_hom_NLP_disambiguation.html>`_ notebooks explain it.
- Wheels for Python 3.10 are now available (`#644 <https://github.com/giotto-ai/giotto-tda/pull/644>`_ and `#646 <https://github.com/giotto-ai/giotto-tda/pull/646>`_).
- Wheels for Apple Silicon systems are now available for Python versions 3.8, 3.9 and 3.10 (`#646 <https://github.com/giotto-ai/giotto-tda/pull/646>`_).
- ``giotto-ph`` is now the backend for the computation of Vietoris–Rips barcodes, replacing ``ripser.py`` (`#614 <https://github.com/giotto-ai/giotto-tda/pull/614>`_).
- The documentation has been improved (`#609 <https://github.com/giotto-ai/giotto-tda/pull/609>`_).

Bug Fixes
=========

- A bug involving tests for the ``mapper`` subpackage has been fixed (`#638 <https://github.com/giotto-ai/giotto-tda/pull/638>`_).

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

- Python 3.6 is no longer supported, and the manylinux standard has been bumped from ``manylinux2010`` to ``manylinux2014`` (`#644 <https://github.com/giotto-ai/giotto-tda/pull/644>`_ and `#646 <https://github.com/giotto-ai/giotto-tda/pull/646>`_).
- The ``python-igraph`` requirement has been replaced with ``igraph >= 0.9.8`` (`#616 <https://github.com/giotto-ai/giotto-tda/pull/616>`_).

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

This release contains contributions from:

Umberto Lupo, Jacob Bamberger, Wojciech Reise, Julián Burella Pérez, and Anibal Medina-Mardones

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.5.1
*************
Expand Down
1 change: 1 addition & 0 deletions doc/versions
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@
./0.4.0
./0.5.0
./0.5.1
./0.6.0
./latest
2 changes: 1 addition & 1 deletion gtda/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@
# 'X.Y.dev0' is the canonical version of 'X.Y.dev'
#

__version__ = "0.5.1"
__version__ = "0.6.0"
9 changes: 7 additions & 2 deletions gtda/plotting/persistence_diagrams.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,13 @@ def plot_diagram(diagram, homology_dimensions=None, plotly_params=None):
diagram_no_dims = diagram[:, :2]
posinfinite_mask = np.isposinf(diagram_no_dims)
neginfinite_mask = np.isneginf(diagram_no_dims)
max_val = np.max(np.where(posinfinite_mask, -np.inf, diagram_no_dims))
min_val = np.min(np.where(neginfinite_mask, np.inf, diagram_no_dims))
if diagram_no_dims.size:
max_val = np.max(np.where(posinfinite_mask, -np.inf, diagram_no_dims))
min_val = np.min(np.where(neginfinite_mask, np.inf, diagram_no_dims))
else:
# Dummy values if diagram is empty
max_val = 1
min_val = 0
parameter_range = max_val - min_val
extra_space_factor = 0.02
has_posinfinite_death = np.any(posinfinite_mask[:, 1])
Expand Down
13 changes: 13 additions & 0 deletions gtda/plotting/tests/test_persistence_diagrams.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
"""Testing for plot_diagram."""
# License: GNU AGPLv3

import numpy as np

from gtda.plotting import plot_diagram


def test_plot_diagram_empty():
"""Test that plot_diagram does not crash on a diagram with no non-trivial
points."""
plot_diagram(np.array([[0., 0., 0.],
[0., 0., 1.]]))

0 comments on commit 7b3e47d

Please sign in to comment.