3.2 (unreleased)#

Release date: TBD

Supports Python 3.9, 3.10, and 3.11.

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.


This release is the result of X of work with over X pull requests by X contributors. Highlights include:


  • [#6654] Function cycle_basis switched from using Python sets to dicts so the results are now deterministic (not dependent on order reported by a set).

  • [#6759] Function write_network_text has new argument vertical_chains which, if true, reduces horizontal space by rendering chains of nodes vertically.

  • [#6892] The shortest path function goldberg_radzik handles a zero-weight-cycle correctly instead of raising an exception as a negative weight cycle.

API Changes#

  • [#6651] In is_semiconnected, the keyword argument topo_order has been removed. That argument resulted in silently incorrect results more often than not.

  • [#6887] A new default argument is added to get_node_attributes and get_edge_attributes. The default keyword can be used to set a default value if the attribute is missing from a node/edge.

  • [#6908] Rename join as join_trees in algorithms.tree.operations.py.


  • [#6758] Remove random_tree and replace with the new random_labeled_tree. In the newly named version, the argument create_using is no longer available and seed is now keyword-only.

  • [#5925] The sort_neighbors input argument of nx.generic_bfs_edges is deprecated and will be removed in v3.4. Use neighbors to sort the nodes if desired.

  • [#6785] Deprecate MultiDiGraph_EdgeKey subclass used in Edmonds class. Deprecate Edmonds class for computing minimum and maximum branchings and arborescences (use minimum_branching, minimal_branching, maximum_branching, minimum_arborescence and maximum_arborescence directly).

  • [#6841] Deprecate the normalized keyword of the s_metric function. Ignore value of normalized for future compatibility.

Merged PRs#

<output of contribs.py>


<output of contribs.py>