NetworkX 2.8#
Release date: 9 April 2022
Supports Python 3.8, 3.9, and 3.10
NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
For more information, please visit our website and our gallery of examples. Please send comments and questions to the networkx-discuss mailing list.
Highlights#
This release is the result of over five weeks of work with 48 pull requests by 18 contributors. This is the last release before NetworkX 3.0. For a preview of the upcoming 3.0 release, please see the draft of our migration guide for people moving from 2.X to 3.0.
Improvements#
Correction to the treatment of directed graphs for
average_neighbor_degree
which used to sum the degrees of outgoing neighbors only but then divide by the number of “in” or “out” or “in+out” neighbors. So it wasn’t even an average. The correction makes it an average degree of whatever population of neighbors is specified bysource
= “in” or “out” or “in+out”. For example:>>> G = nx.path_graph(3, create_using=nx.DiGraph) >>> print(nx.average_neighbor_degree(G, source="in", target="in")) {0: 0.0, 1: 1.0, 2: 1.0}
This used to produce
{0: 0.0, 1: 1.0, 2: 0.0}
Note: node 0 and 2 were treated nonsensically. Node 0 had calculated value 1/0 which was converted to 0. (numerator looking at successors while denominator counting predecessors) Node 2 had caluated value 0/1 = 0.0 (again succs on top, but preds in bottom)Now node 0 has calculated value 0.0/0 which we treat as 0.0. And node 2 has calculated value 1/1 = 1.0. Both handle the same nbrhood on top and bottom.
API Changes#
[#5394] The function
min_weight_matching
no longer acts upon the parametermaxcardinality
because setting it to False would result in the min_weight_matching being no edges at all. The only reasonable option is True. The parameter will be removed completely in v3.0.
Deprecations#
[#5227] Deprecate the
n_communities
parameter name ingreedy_modularity_communities
in favor ofcutoff
.[#5422] Deprecate
extrema_bounding
. Use the related distance measures withusebounds=True
instead.[#5427] Deprecate
dict_to_numpy_array1
anddict_to_numpy_array2
in favor ofdict_to_numpy_array
, which handles both.[#5428] Deprecate
utils.misc.to_tuple
.
Merged PRs#
Fix docs
Fix release notes
Bump release version
Fix missing backticks (#5381)
Add Generator support to create_py_random_state. (#5380)
modulartiy_max: introduce enforce_n_communities parameter (#5227)
First draft. (#5359)
Updated MultiDiGraph documentation to include more examples of actually (#5387)
Multigraph docs update (#5389)
Updates to greedy_modularity_communities docs (#5390)
Finish up NXEP 4 first draft (#5391)
Correct typo in docstring (int -> float) (#5398)
DOC: examples code blacks needs a blank line (#5401)
Add support for multigraphs to nx.bridges. (#5397)
Update extrema bounding method for compute=”eccentricities” parameter (#5409)
Add Tutte polynomial (#5265)
Update sparse6 urls to use https (#5424)
Deprecate extrema bounding (#5422)
Add NXEP4 to developer toctree and fix broken links (#5420)
Rm _inherit_doc - default behavior as of Python 3.5. (#5416)
Minor improvements from general code readthrough (#5414)
Ignore formatting changes with black, pep8 for git blame (#5405)
Deprecate dict to numpy helpers (#5427)
Deprecate
to_tuple
(#5430)Fix average_neighbor_degree calculations for directed graph (#5404)
Parametrize tutte polynomial tests (#5431)
Update black (#5438)
Ignore black formatting (#5440)
Update sphinx (#5439)
Use https links for conference.scipy.org (#5441)
Don’t use graph6 with directed graphs (#5443) (#5444)
Fix min_weight_matching to convert edge weights without reciprocal (#5394)
Make sympy extra dep (#5454)
Optimize prim for mst (#5455)
Adding more examples for to_numpy_array method’s usage (#5451)
MAINT: Prim MST test didn’t pass algorithm name to all unit tests (#5457)
Fixed wrong dict factory usage on MultiDiGraph (#5456)
added extra condition for fancy arrow colors (#5407)
Update dependencies (#5468)
Update release notes
Designate 2.8rc1 release
Bump release version
DOCS: add some guidelines for references (#5476)
Fix for issue 5212 (#5471)
shortest_path() example (#5491)
Rm incorrect reference from spiral_layout docstring. (#5503)
Improve docstring for bethe_hessian_matrix (#5458)
Add notes about NumPy/SciPy integration to NX 2->3 migration guide (#5505)
Run black on docs (#5513)
Contributors#
Ross Barnowski
Riccardo Bucco
Matthias Bussonnier
FabianBall
Martha Frysztacki
Chris Keefe
Lukong123
Peter Mawhorter
Lucas H. McCabe
Jarrod Millman
Sultan Orazbayev
Dan Schult
Seon82
Mridul Seth
Nikita Sharma
Dilara Tekinoglu
blokhinnv
yusuf-csdev