Skip to content

Commit

Permalink
Prepare 0.10.2 release (#434)
Browse files Browse the repository at this point in the history
* Prepare 0.10.2 release

This commit prepares for a 0.10.2 bugfix release to get the recent vf2
bugfixes on main out in the wild. Looking at the git log since 0.10.1
we've only merged fixes and requirements bumps since the release, so now
is a good time to push out the bugfix release before we start merging
new features.

* Update deps

* Fix release note syntax

* Update releasenotes/notes/0.10.2/prepare-0.10.2-d75b2d86be66a6d9.yaml

Co-authored-by: georgios-ts <[email protected]>

* Move new release note

* Minor rewording in prelude

* Improve betweenness centrality release note

Reviewing the release notes for this pending release I noticed that the
release note for the betweenness centrality function was a bit lacking.
This commit updates it to include more details and example using and
visualizing it. Reno lets us edit existing release notes like this
because it associates the file creation in the git history with the tag
so subsequent edits of existing note files are still under the correct
release.

* Fix release note typo

* Tweak betweenness centrality release note a bit more

* Another typo fix

* Move new release notes
  • Loading branch information
mtreinish authored Sep 8, 2021
1 parent 466b884 commit 5bced32
Show file tree
Hide file tree
Showing 10 changed files with 72 additions and 26 deletions.
42 changes: 21 additions & 21 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "retworkx"
description = "A python graph library implemented in Rust"
version = "0.11.0"
version = "0.10.2"
authors = ["Matthew Treinish <[email protected]>"]
license = "Apache-2.0"
readme = "README.md"
Expand Down
4 changes: 2 additions & 2 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@


# The short X.Y version.
version = '0.11.0'
version = '0.10.2'
# The full version, including alpha/beta/rc tags.
release = '0.11.0'
release = '0.10.2'

extensions = ['sphinx.ext.autodoc',
'sphinx.ext.autosummary',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,39 @@ features:
- |
Added a new function, :func:`~retworkx.betweenness_centrality` to compute
betweenness centrality of all nodes in a :class:`~retworkx.PyGraph` or
:class:`~retworkx.PyDiGraph` object.
:class:`~retworkx.PyDiGraph` object. The algorithm used in this function is
based on:
Ulrik Brandes, "A Faster Algorithm for Betweenness Centrality".
Journal of Mathematical Sociology 25(2):163-177, 2001.
DOI: `10.1080/0022250X.2001.9990249 <https://doi.org/10.1080/0022250X.2001.9990249>`__
The betweenness centrality of a node :math:`v` is the sum of the fraction
of all-pairs shortest paths that pass through :math:`v`
.. math::
c_B(v) =\sum_{s,t \in V} \frac{\sigma(s, t|v)}{\sigma(s, t)}
where :math:`V` is the set of nodes, :math:`\sigma(s, t)` is the number of
shortest :math:`(s, t)` paths, and :math:`\sigma(s, t|v)` is the number of
those paths passing through some node :math:`v` other than :math:`s, t`.
If :math:`s = t`, :math:`\sigma(s, t) = 1`, and if :math:`v \in {s, t}`,
:math:`\sigma(s, t|v) = 0`
For example, computing the betweenness centrality for all nodes in a 5x5
grid graph and using that to color the nodes in a graph visualization:
.. jupyter-execute::
import retworkx
from retworkx.visualization import mpl_draw
graph = retworkx.generators.grid_graph(5, 5)
btw = retworkx.betweenness_centrality(graph)
# Color nodes in graph visualization with betweenness centrality
colors = []
for i in range(len(graph)):
colors.append(btw[i])
mpl_draw(graph, node_color=colors)
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@ fixes:
- |
Fixes the output of :func:`~retworkx.is_subgraph_isomorphic`
if the input graphs have parallel edges.
Fixed `#429 <https://github.com/Qiskit/retworkx/issues/429>`__
- |
Fixes the output of :func:`~retworkx.is_isomorphic`
if the input graphs have parallel edges and an `edge_matcher`
is specified.
Fixed `#429 <https://github.com/Qiskit/retworkx/issues/429>`__
- |
Reduces the memory requirements of VF2 graph isomorphism algorithm
by making use of a hash map with number of entries scaling
as the number of edges in the graph rather than building the
full adjacency matrix.
Fixed `#367 <https://github.com/Qiskit/retworkx/issues/367>`__
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
prelude: >
This release is a bugfix release that fixes some issues found since the 0.10.1
release. The fixes in this release are primarily in the vf2 implementation
and most importantly fixes the output of :func:`~retworkx.vf2_mapping` with
an empty input graph and the output of :func:`~retworkx.vf2_mapping`,
:func:`~retworkx.is_isomorphic`, and :func:`~retworkx.is_subgraph_isomorphic`
with graphs that have parallel edges.
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def readme():

setup(
name="retworkx",
version="0.11.0",
version="0.10.2",
description="A python graph library implemented in Rust",
long_description=readme(),
long_description_content_type='text/markdown',
Expand Down

0 comments on commit 5bced32

Please sign in to comment.