Releases: networkx/networkx
NetworkX 3.5
networkx 3.5
We're happy to announce the release of networkx 3.5!
API Changes
- Save Layouts on Graphs (#7571).
- Expire d_separated and minimum_d_separator functions (#7830).
- Expire all_triplets deprecation (#7828).
- Expire random_triad deprecation (#7829).
- DEP: Raise an exception for k_core functions with multigraphs (#7831).
- Deprecate graph_could_be_isomorphic (#7826).
- Expire total_spanning_tree_weight deprecation (#7843).
- Expire deprecation of create kwarg in nonisomorphic_trees (#7847).
- New draw API (#7589).
Enhancements
- perf: optimise
random_k_out_graph
(#7702). - Clausets local community detection algorithm (#7691).
find_asteroidal_triple
improvement (#7736).- Add
weight
to harmonic_diameter (#7636). - Densest Subgraph Problem: Greedy Peeling and Greedy++ Implementations (#7731).
- single_source_all_shortest_paths: don't loop over all nodes (#7762).
- Error message improvement for nbunch_iter ( NetworkXError raised with specific message on TypeError with "iter" in msg ) (#7790).
- Faster computation of energy in Laplacian centrality (#7793).
- Make
forceatlas2_layout
dispatchable (#7794). - Update dispatchable for
forceatlas2_layout
(#7798). - Enable backend-only functions where NetworkX is just an API (#7690).
- Steinertree kou enhancement in response to issue 5889 type:Enhancements (#7767).
- Add Leiden as a backend-only algorithm (#7743).
- Bipartite layout nodes optional (#7756).
- Densest Subgraph Problem: FISTA based algorithm + Large scale tests (#7770).
- Dispatch
get_node_attributes
and a few more fromnx.classes.function
(#7824). - Faster
could_be_isomorphic
andnumber_of_cliques
(#7855). - Add square_clustering to algorithm benchmarks (#7857).
- Faster Implementation of Structural Holes (#7249).
- Improve runtime of number_of_nonisomorphic_trees() (#7917).
- Fix write_gexf timeformat for dynamic Graphs (#7914).
- Consolidate could_be_isomorphic (#7852).
- Improving rooted_tree_isomorphism for deep trees (#7945).
- Fixing nx.diameter inconsistent results with usebounds=True (#7954).
- Faster
square_clustering
(#7810). - Avoid repeated cache conversion failures for backends (#7768).
- Improve _sparse_fruchterman_reingold with L-BFGS (#7889).
- Improve Performance of Tree Isomorphism and Center Calculation (#7946).
- Add option for
biadjacency_matrix
to be returned as a dense NumPy array (#7973). - Add Functions for Finding Connected Dominating Sets (#7774).
- Add feature to make storing node contraction data optional (#7902).
- Added "initial_node" param to generate_random_paths() to allow a starting node to be specified for generated walks (#8002).
- Fix behavior for iterable
sources
argument inbfs_layers
(#8013). - Speed up
connected_components
andweakly_connected_components
(#7971). - BiRank Algorithm Implementation (#7978).
- Enforce correct graph types for graph matchers (#8043).
Bug Fixes
- Update
_raise_on_directed
to work withcreate_using
pos arg (#7695). - trophic_levels now checks for paths from each node to a basal node (#7453).
- Fix TSP weight parameter issues (#7721).
- Fix for filtered MultiGraph views from
edge_subgraph
(#7724) (#7729). - BUG: fixed the
if
condition inasadpour_atsp
(#7753). - Implement Bar ConnectionStyle for labels (#7739).
- Fixed a divide by zero error in forceatlas2 (#7791).
- Fix for issue #7645: Do not preserve 'cw' and 'ccw' attributes in PlanarEmbedding.to_undirected() (#7750).
- fix typo in ramanujan branch (#7804).
- Fix
with nx.config(backend_priority=backends):
(#7814). - Fix handling of faux_infinite values in network_simplex (#7796).
- Fixed the return type from an empty dict to an empty set (#7910).
- Add
edge_attrs="weight"
toforceatlas2_layout
dispatch decorator (#7918). - Fix graph_hash iteration counts and DiGraph handling (#7834).
- Refactored the working of chordless_cycles to handle self loops (#7901).
- Fix bc scale with k endpoints (#7908).
- Fix BC scaling for source nodes with k and endpoints=False (#7949).
- BUG: graph6 format invariant to trailing newline (#7941).
- Fix
random_degree_sequence_graph
when input is an iterator (#7979). - Improve special cases in dispatch testing (paying off tech debt) (#7982).
- Fix bug when assigning list to
nx.config.backend_priority
(#8034). - A minimal fix for
is_aperiodic
(#8029). - fix bug of _sparse_fruchterman_reingold and remove try/except idiom (#8041).
- Fix edge case in ISMAGS symmetry detection (#8055).
Documentation
- set nx-arangodb link to github (#7694).
- Re-submission of gh-7087 with better file provenance (#7681).
- Fix code formatting of some examples (#7730).
- Add examples for custom graph in the doc of
soft_random_geometric_graph
andthresholded_random_geometric_graph
(#7749). - Gallery example: bipartite a/b-core motif (#7757).
- Add blurb about pytest-mpl dependency to contributing guide (#7741).
- Minor updates to
single_source_shortest_path_length
docstring (#7637). - Added a note to the contributor guideline to avoid numpy scalars as aโฆ (#7773).
- Correcting the example given under subgraph_is_monomorphic.py (#7779).
- [easy] Add to Contributor List (#7801).
- doc: mention the second major update (#7782).
- DOC: Add details about more grants (#7823).
- Refactor: Moving backend docs from
backends.py
tobackends.rst
(#7776). - Update readwrite docstrings for the
path
parameter (#7835). - Fix docstring example of
nx.generate_random_paths(index_map=...)
(#7832). - Adds NVIDIA Corporation to list of supporters (#7846).
- Fix use of triple backticks in docstrings ([#7845](https://github.com/networkx/net...
NetworkX 3.5rc0
networkx 3.5rc0
We're happy to announce the release of networkx 3.5rc0!
API Changes
- Save Layouts on Graphs (#7571).
- Expire d_separated and minimum_d_separator functions (#7830).
- Expire all_triplets deprecation (#7828).
- Expire random_triad deprecation (#7829).
- DEP: Raise an exception for k_core functions with multigraphs (#7831).
- Deprecate graph_could_be_isomorphic (#7826).
- Expire total_spanning_tree_weight deprecation (#7843).
- Expire deprecation of create kwarg in nonisomorphic_trees (#7847).
- New draw API (#7589 8000 ).
Enhancements
- perf: optimise
random_k_out_graph
(#7702). - Clausets local community detection algorithm (#7691).
find_asteroidal_triple
improvement (#7736).- Add
weight
to harmonic_diameter (#7636). - Densest Subgraph Problem: Greedy Peeling and Greedy++ Implementations (#7731).
- single_source_all_shortest_paths: don't loop over all nodes (#7762).
- Error message improvement for nbunch_iter ( NetworkXError raised with specific message on TypeError with "iter" in msg ) (#7790).
- Faster computation of energy in Laplacian centrality (#7793).
- Make
forceatlas2_layout
dispatchable (#7794). - Update dispatchable for
forceatlas2_layout
(#7798). - Enable backend-only functions where NetworkX is just an API (#7690).
- Steinertree kou enhancement in response to issue 5889 type:Enhancements (#7767).
- Add Leiden as a backend-only algorithm (#7743).
- Bipartite layout nodes optional (#7756).
- Densest Subgraph Problem: FISTA based algorithm + Large scale tests (#7770).
- Dispatch
get_node_attributes
and a few more fromnx.classes.function
(#7824). - Faster
could_be_isomorphic
andnumber_of_cliques
(#7855). - Add square_clustering to algorithm benchmarks (#7857).
- Faster Implementation of Structural Holes (#7249).
- Improve runtime of number_of_nonisomorphic_trees() (#7917).
- Fix write_gexf timeformat for dynamic Graphs (#7914).
- Consolidate could_be_isomorphic (#7852).
- Improving rooted_tree_isomorphism for deep trees (#7945).
- Fixing nx.diameter inconsistent results with usebounds=True (#7954).
- Faster
square_clustering
(#7810). - Avoid repeated cache conversion failures for backends (#7768).
- Improve _sparse_fruchterman_reingold with L-BFGS (#7889).
- Improve Performance of Tree Isomorphism and Center Calculation (#7946).
- Add option for
biadjacency_matrix
to be returned as a dense NumPy array (#7973). - Add Functions for Finding Connected Dominating Sets (#7774).
- Add feature to make storing node contraction data optional (#7902).
- Added "initial_node" param to generate_random_paths() to allow a starting node to be specified for generated walks (#8002).
- Fix behavior for iterable
sources
argument inbfs_layers
(#8013). - Speed up
connected_components
andweakly_connected_components
(#7971).
Bug Fixes
- Update
_raise_on_directed
to work withcreate_using
pos arg (#7695). - trophic_levels now checks for paths from each node to a basal node (#7453).
- Fix TSP weight parameter issues (#7721).
- Fix for filtered MultiGraph views from
edge_subgraph
(#7724) (#7729). - BUG: fixed the
if
condition inasadpour_atsp
(#7753). - Implement Bar ConnectionStyle for labels (#7739).
- Fixed a divide by zero error in forceatlas2 (#7791).
- Fix for issue #7645: Do not preserve 'cw' and 'ccw' attributes in PlanarEmbedding.to_undirected() (#7750).
- fix typo in ramanujan branch (#7804).
- Fix
with nx.config(backend_priority=backends):
(#7814). - Fix handling of faux_infinite values in network_simplex (#7796).
- Fixed the return type from an empty dict to an empty set (#7910).
- Add
edge_attrs="weight"
toforceatlas2_layout
dispatch decorator (#7918). - Fix graph_hash iteration counts and DiGraph handling (#7834).
- Refactored the working of chordless_cycles to handle self loops (#7901).
- Fix bc scale with k endpoints (#7908).
- Fix BC scaling for source nodes with k and endpoints=False (#7949).
- BUG: graph6 format invariant to trailing newline (#7941).
- Fix
random_degree_sequence_graph
when input is an iterator (#7979). - Improve special cases in dispatch testing (paying off tech debt) (#7982).
Documentation
- set nx-arangodb link to github (#7694).
- Re-submission of gh-7087 with better file provenance (#7681).
- Fix code formatting of some examples (#7730).
- Add examples for custom graph in the doc of
soft_random_geometric_graph
andthresholded_random_geometric_graph
(#7749). - Gallery example: bipartite a/b-core motif (#7757).
- Add blurb about pytest-mpl dependency to contributing guide (#7741).
- Minor updates to
single_source_shortest_path_length
docstring (#7637). - Added a note to the contributor guideline to avoid numpy scalars as aโฆ (#7773).
- Correcting the example given under subgraph_is_monomorphic.py (#7779).
- [easy] Add to Contributor List (#7801).
- doc: mention the second major update (#7782).
- DOC: Add details about more grants (#7823).
- Refactor: Moving backend docs from
backends.py
tobackends.rst
(#7776). - Update readwrite docstrings for the
path
parameter (#7835). - Fix docstring example of
nx.generate_random_paths(index_map=...)
(#7832). - Adds NVIDIA Corporation to list of supporters (#7846).
- Fix use of triple backticks in docstrings (#7845).
- Add paragraph about university classes to mentored projects (#7838).
- Fix pygraphviz_layout example (#7849).
- Add test-extras to optional dependencies (#7854).
- doc: hash size are in bytes (#7866).
- DOC: Clean up mentored projects page: move visualization project to completed section (#7881).
- added 2 projects for GSoC 2025 ([#7880](https://github.com/networkx/netw...
NetworkX 3.4.2
NetworkX 3.4.2
We're happy to announce the release of networkx 3.4.2!
Bug Fixes
Documentation
- Add disclaimer about LLM driven PRs (#7683).
Maintenance
- Fix doc warnings from recently added docs (#7682).
Contributors
6 authors added to this release (alphabetically):
- Dan Schult (@dschult)
- Erik Welch (@eriknw)
- Jarrod Millman (@jarrodmillman)
- Kirk Bonney (@kbonney)
- Mridul Seth (@MridulS)
- Ross Barnowski (@rossbar)
4 reviewers added to this release (alphabetically):
- Aditi Juneja (@Schefflera-Arboricola)
- Dan Schult (@dschult)
- Jarrod Millman (@jarrodmillman)
- Matt Schwennesen (@mjschwenne)
These lists are automatically generated, and may not be complete or may contain duplicates.
NetworkX 3.4.1
networkx 3.4.1
We're happy to announce the release of networkx 3.4.1!
Maintenance
- Remove old deprecation decorator (#7669).
- MAINT: delay loading of backend_info to after imports (#7672).
Contributors
2 authors added to this release (alphabetically):
- Dan Schult (@dschult)
- Jarrod Millman (@jarrodmillman)
3 reviewers added to this release (alphabetically):
- Jarrod Millman (@jarrodmillman)
- Mridul Seth (@MridulS)
- Ross Barnowski (@rossbar)
These lists are automatically generated, and may not be complete or may contain duplicates.
NetworkX 3.4
networkx 3.4
We're happy to announce the release of networkx 3.4!
API Changes
- Expires the
forest_str
deprecation (#7414). - [ENH, BUG]: added
colliders
andv_structures
and deprecatedcompute_v_structures
indag.py
(#7398). - Expires the
random_tree
deprecation (#7415). - Expire deprecation for strongly_connected_components_recursive (#7420).
- Expire deprecated
sort_neighbors
param ingeneric_bfs_edges
(#7417). - Rm deprecated normalized param from s_metric (#7418).
- Expire deprecated nx.join in favor of join_trees (#7419).
- Remove depercated Edmonds class for 3.4 (#7447).
- Remove deprecated MultiDiGraph_EdgeKey for 3.4 (#7448).
- Add
edges
keyword/deprecatelink
keyword arguments inJSON
input-output (#7565). - Revert breaking change to
node_link_*
link defaults (#7652).
Enhancements
- Add a
nodelist
feature tofrom_numpy_array
(#7412). - Prioritize edgelist representations in
to_networkx_graph
(#7424). - Adds initial debug logging calls to _dispatchable (#7300).
- add: nodes attribute is modifiable (#7532).
- Enable config to be used as context manager (#7363).
- Added code to handle multi-graph in mst (#7454).
- Enable cac 8000 hing by default (#7498).
- #7546 More detail error message for pydot (#7558).
- Fix weakly_connected_components() performance on graph view (#7586).
- Forceatlas2 (#7543).
- avoid iteration and use boolean indexing (#7591).
- Hide edges with a weight of None in simple_paths (#7583).
- Improved running time for harmonic centrality (#7595).
- Add remove attribute functions (#7569).
- Log "can/should run" and caching in dispatch machinery (#7568).
- Individualize drawing attributes (#7570).
- added nx-parallel gsoc project (#7620).
- Harmonic diameter (#5251).
- Allow dispatch machinery to fall back to networkx (#7585).
- Add
create_using
parameter for random graphs (#5672). - Add config option to disable warning when using cached value (#7497).
Bug Fixes
- Fix graph name attribute for
complete_bipartite_graph
(#7399). - Remove import warnings during to_networkx_graph conversion (#7426).
- Fix nx.from_pandas_edgelist so edge keys are not added as edge attributes and edge keys (#7445).
- Fix
from_pandas_edgelist
for MultiGraph given edge_key (#7466). - Fix dispatch tests when using numpy 2 (#7506).
- [ENH, BUG]: added
colliders
andv_structures
and deprecatedcompute_v_structures
indag.py
(#7398). - Fix reading edgelist when delimiter is whitespace, e.g. tab (#7465).
- Ensure we always raise for unknown backend in
backend=
(#7494). - Prevent
to_agraph
from modifying graph argument (#7610). - Implementing iterative removal of non_terminal_leaves in Steiner Tree approximation (#7422).
- Only allow connected graphs in
eigenvector_centrality_numpy
(#7549). - CI: Fix typo in nightly run pip install (#7625).
Documentation
- Document missing shortest_path functions (#7394).
- Optimal Edit Paths Return Section Improved (#7375).
- Minor updates to simple_cycles docstring (#7421).
- DOC: Clarifying
NetworkXPointlessConcept
exception (#7434). - DOC: updated
pairs.py
(#7416). - Add docstring example for directed tree (#7449).
- Change docs of
shortest_path_length
so return is number instead of int (#7477). - Use intersphinx_registry to manage intersphinx mapping (#7481).
- Ma: fix some spelling errors in docs (#7480).
- Update NetworkX reference links in doc index (#7500).
- strong product docs update (#7511).
- Refactoring and enhancing user-facing
Backend and Configs
docs (#7404). - Fixed the citation in
dominance.py
[Issue #7522] (#7524). - Clarify generation number in
dorogovtsev_goltsev_mendes_graph()
(#7473). - Add
Introspection
section to backends docs (#7556). - DOC: Added
default_config
inget_info
's description (#7567). - Prettify
README.rst
(#7514). - DOC: Fix typo in the code snippet provided in the docstring of nx_pydot.pydot_layout() (#7572).
- Fix installation instructions for
default
extras in README (#7574). - Add missing metadata to v3.3 release notes (#7592).
- Correct the members of steering council (#7604).
- Fix dispatch docs formatting (#7619).
- Add to Contributor List (#7621).
- Example fix for issue 7633 (#7634).
- Fix: Correct community color assignment in Girvan-Newman community detection (#7644).
- Updated docstring for generators/karate_club_graph() (#7626).
- Updates documentation to include details about using NetworkX with backends (#7611).
- Add examples section to
to_scipy_sparse_array
(#7627). - Add examples to docstrings of subgraph_(iso/monomorphism) methods (#7622).
Maintenance
- Simplify flow func augmentation logic in
connectivity
module (#7367). - A few more doctest skips for mpl/np dependencies (#7403).
- Remove repetitive words (#7406).
- FilterAdjacency: len is recalculated unnecessarily #7377 (#7378).
- Add check for empty graphs in
flow_hierarchy
(#7393). - Use nodelist feature of from_numpy_array (#7425).
- Cleanup remaining usages of deprecated
random_tree
in package (#7411). - Add check for empty graphs in
non_randomness
(#7395). - Update tests for macOS Sonoma v14 (#7437).
- Update doc requirements (#7435).
- Update pygraphviz (#7441).
- Always cache graph attrs for better cache behavior (#7455).
- retain adjacency order in nx-loopback copy of networkx graph (#7432).
- DEV: Add files generated by benchmarking to .gitignore (#7461).
- Remove redundant graph copy in
algorithms.bridges.bridges()
(#7471). - CI: Add G...
NetworkX 3.4rc0
networkx 3.4rc0
We're happy to announce the release of networkx 3.4rc0!
API Changes
- Expires the
forest_str
deprecation (#7414). - [ENH, BUG]: added
colliders
andv_structures
and deprecatedcompute_v_structures
indag.py
(#7398). - Expires the
random_tree
deprecation (#7415). - Expire deprecation for strongly_connected_components_recursive (#7420).
- Expire deprecated
sort_neighbors
param ingeneric_bfs_edges
(#7417). - Rm deprecated normalized param from s_metric (#7418).
- Expire deprecated nx.join in favor of join_trees (#7419).
- Remove depercated Edmonds class for 3.4 (#7447).
- Remove deprecated MultiDiGraph_EdgeKey for 3.4 (#7448).
- Add
edges
keyword/deprecatelink
keyword arguments inJSON
input-output (#7565). - Revert breaking change to
node_link_*
link defaults (#7652).
Enhancements
- Add a
nodelist
feature tofrom_numpy_array
(#7412). - Prioritize edgelist representations in
to_networkx_graph
(#7424). - Adds initial debug logging calls to _dispatchable (#7300).
- add: nodes attribute is modifiable (#7532).
- Enable config to be used as context manager (#7363).
- Added code to handle multi-graph in mst (#7454).
- Enable caching by default (#7498).
- #7546 More detail error message for pydot (#7558).
- Fix weakly_connected_components() performance on graph view (#7586).
- Forceatlas2 (#7543).
- avoid iteration and use boolean indexing (#7591).
- Hide edges with a weight of None in simple_paths (#7583).
- Improved running time for harmonic centrality (#7595).
- Add remove attribute functions (#7569).
- Log "can/should run" and caching in dispatch machinery (#7568).
- Individualize drawing attributes (#7570).
- added nx-parallel gsoc project (#7620).
- Harmonic diameter (#5251).
- Allow dispatch machinery to fall back to networkx (#7585).
Bug Fixes
- Fix graph name attribute for
complete_bipartite_graph
(#7399). - Remove import warnings during to_networkx_graph conversion (#7426).
- Fix nx.from_pandas_edgelist so edge keys are not added as edge attributes and edge keys (#7445).
- Fix
from_pandas_edgelist
for MultiGraph given edge_key (#7466). - Fix dispatch tests when using numpy 2 (#7506).
- [ENH, BUG]: added
colliders
andv_structures
and deprecatedcompute_v_structures
indag.py
(#7398). - Fix reading edgelist when delimiter is whitespace, e.g. tab (#7465).
- Ensure we always raise for unknown backend in
backend=
(#7494). - Prevent
to_agraph
from modifying graph argument (#7610). - Implementing iterative removal of non_terminal_leaves in Steiner Tree approximation (#7422).
- Only allow connected graphs in
eigenvector_centrality_numpy
(#7549). - CI: Fix typo in nightly run pip install (#7625).
Documentation
- Document missing shortest_path functions (#7394).
- Optimal Edit Paths Return Section Improved (#7375).
- Minor updates to simple_cycles docstring (#7421).
- DOC: Clarifying
NetworkXPointlessConcept
exception (#7434). - DOC: updated
pairs.py
(#7416). - Add docstring example for directed tree (#7449).
- Change docs of
shortest_path_length
so return is number instead of int (#7477). - Use intersphinx_registry to manage intersphinx mapping (#7481).
- Ma: fix some spelling errors in docs (#7480).
- Update NetworkX reference links in doc index (#7500).
- strong product docs update (#7511).
- Refactoring and enhancing user-facing
Backend and Configs
docs (#7404). - Fixed the citation in
dominance.py
[Issue #7522] (#7524). - Clarify generation number in
dorogovtsev_goltsev_mendes_graph()
(#7473). - Add
Introspection
section to backends docs (#7556). - DOC: Added
default_config
inget_info
's description (#7567). - Prettify
README.rst
(#7514). - DOC: Fix typo in the code snippet provided in the docstring of nx_pydot.pydot_layout() (#7572).
- Fix installation instructions for
default
extras in README (#7574). - Add missing metadata to v3.3 release notes (#7592).
- Correct the members of steering council (#7604).
- Fix dispatch docs formatting (#7619).
- Add to Contributor List (#7621).
- Example fix for issue 7633 (#7634).
- Fix: Correct community color assignment in Girvan-Newman community detection (#7644).
- Updated docstring for generators/karate_club_graph() (#7626).
Maintenance
- Simplify flow func augmentation logic in
connectivity
module (#7367). - A few more doctest skips for mpl/np dependencies (#7403).
- Remove repetitive words (#7406).
- FilterAdjacency: len is recalculated unnecessarily #7377 (#7378).
- Add check for empty graphs in
flow_hierarchy
(#7393). - Use nodelist feature of from_numpy_array (#7425).
- Cleanup remaining usages of deprecated
random_tree
in package (#7411). - Add check for empty graphs in
non_randomness
(#7395). - Update tests for macOS Sonoma v14 (#7437).
- Update doc requirements (#7435).
- Update pygraphviz (#7441).
- Always cache graph attrs for better cache behavior (#7455).
- retain adjacency order in nx-loopback copy of networkx graph (#7432).
- DEV: Add files generated by benchmarking to .gitignore (#7461).
- Remove redundant graph copy in
algorithms.bridges.bridges()
(#7471). - CI: Add GitHub artifact attestations to package distribution (#7459).
- Add
polynomials.py
toneeds_numpy
(#7493). - MAINT: Rename
LoopbackDispatcher
toLoopbackBackendInterface
anddispatcher
tobackend_interface
(#7492). - CI: update action that got moved org (#7503).
- Update momepy (#7507).
- Fix pygraphviz install on Windows ([#7512](htt...
NetworkX 3.3
networkx 3.3
We're happy to announce the release of networkx 3.3!
API Changes
- Disallow negative number of nodes in
complete_multipartite_graph
(#7057). - DEP: Deprecate the all_triplets one-liner (#7060).
- [A-star] Added expansion pruning via cutoff if cutoff is provided (#7073).
- Make HITS raise exceptions consistent with power iterations (#7084).
- DEP: Deprecate random_triad (#7061).
- Added feature modular graph product (#7227).
- ENH: Speed up common/non_neighbors by using _adj dict operations (#7244).
- Deprecate the
create
argument ofnonisomorphic_trees
(#7316). - Improve total_spanning_tree_weight (#7100).
- Update init.py (#7320).
- add **kwargs to traveling_salesman_problem (#7371).
Enhancements
- Add Tadpole graph (#6999).
- [A-star] Added expansion pruning via cutoff if cutoff is provided (#7073).
- Implementation of
$S^1$ model (#6858). - [Feat] Random expanders utilities (#6761).
- Compare graphs for generator functions when running tests with backend (#7066).
- Add Kirchhoff index / Effective graph resistance (#6926).
- Changed return types of shortest path methods to improve consistency (#6584).
- New PR for Fixes minimal d-separator function failing to handle cases where no d-separators exist (#7019).
- ENH : Provide non-normalized and normalized directed laplacian matrix calculation (#7199).
- feat: drop the use of node attribute "first_nbr" in PlanarEmbedding (#7202).
- Add functions to compute Schultz and Gutman Index (#3709).
- Divisive community algorithms (#5830).
- Added feature modular graph product (#7227).
- ENH : added
sort_neighbors
to all functions indepth_first_search.py
(#7196). - New graph generator for the Kneser graph (#7146).
- Draw MultiDiGraph edges and labels qa7008 (#7010).
- Use github actions to run a comparison benchmark (#7268).
- BFS layout implementation (#5179).
- Add
max_level=
argument tolouvain_communities
to limit macro-iterations (#6909). - Review and update
@nx._dispatchable
usage since 3.2.1 (#7302). - Transmogrify
_dispatchable
objects into functions (#7298). - fix: make
PlanarEmbedding.copy()
useadd_edges_from()
from parent (closes #7223) (#7224). - Allow seed of np.random instance to exactly produce arbitrarily large integers (#6869).
- Improve total_spanning_tree_weight (#7100).
- add seed to
nx.generate_random_paths
(#7332). - Allow backends to implement
should_run
(#7257). - Adding tree broadcasting algorithm in a new module (#6928).
- Option to include initial labels in
weisfeiler_lehman_subgraph_hashes
(#6601). - Add better error message when trying to get edge that is not present (#7245).
- Make
is_negatively_weighted
dispatchable (#7352). - Add option to hide or show tick labels (#6018).
- ENH: Cache graphs objects when converting to a backend (#7345).
Bug Fixes
- Fix listing of release notes on Releases page (#7030).
- Fix syntax warning from bad escape sequence (#7034).
- Fix triangles to avoid using
is
to compare nodes (#7041). - Fix error message for
nx.mycielski_graph(0)
(#7056). - Disallow negative number of nodes in
complete_multipartite_graph
(#7057). - Handle edge cases for greedy_modularity_communities (#6973).
- FIX: Match the doc description while copying over data (#7092).
- fix: Include singleton/trivial paths in all_simple_paths & other functions (< 6DAF a href="https://github.com/networkx/networkx/pull/6694" data-hovercard-type="pull_request" data-hovercard-url="/networkx/networkx/pull/6694/hovercard">#6694).
- Dinitz correction (#6968).
- Modify GML test to fix invalid octal character warning (#7159).
- Fix random_spanning_tree() for single node and empty graphs (#7211).
- PlanarEmbedding.remove_edge() now updates removed edge's neighbors (#6798).
- add seed to graph creation (#7241).
- add seed to tests of fast_label_propatation_communities (#7242).
- Fix rich_club_coefficient() for single node and empty graphs (#7212).
- Fix minimum_spanning_arborescence regression (#7280).
- Move arrowstyle input munging after intput validation (#7293).
- Fix empty GraphML attribute is not parsed (#7319).
- Add new test result to
test_asadpour_tsp
and changelinprog
method (#7335). - Fix custom weight attribute for Mehlhorn (#6681).
Documentation
- Update release process (#7029).
- Update convert_matrix.py (#7018).
- fix extendability function name in bipartite.rst (#7042).
- Minor doc cleanups to remove doc build warnings (#7048).
- DOC: Add example to generic_bfs_edges to demonstrate the
neighbors
param (#7072). - Hierarchical clustering layout gallery example (#7058).
- Fixed an error in the documentation of the katz centrality (#6294).
- Create 3d_rotation_anime.py (#7025).
- DOC: Add docstrings to filter view functions (#7086).
- DOC: Add docstrings to Filter mapping views (#7075).
- DOCS: Fix internal links to other functions in isomorphvf2 (#6706).
- added note for the triangle inequality case in TSP (#6995).
- Add note about importance of testing to contributor guide (#7103).
- Proposal to add centrality overview to mentored projects (#7104).
- Improve documentation of Component Algorithms (#5473).
- Add dot io to readwrite (#5061).
- Add Python versions to release notes (#7113).
- DOC: Turn on inline plots in graph generators docstrings (#6401).
- Fix duplicate numbering in contributor guide (#7116).
- DOC: remove unnecessary 'or' in planted_partition_graph (#7115).
- DOC: Link methods in functions to base Graph methods/properties (#7125).
- Connect docs to doc_string for total_spanning_tree_weight (#7098).
- Image (3D RGB data) segmentation by spectral clustering with 3D illustrations (#7040).
- update triadic_census documentation for undirected graphs - issue 4386 ([#7141](https://github.com/ne...
NetworkX 3.3rc0
What's Changed
- Update release process by @jarrodmillman in #7029
- Fix listing of release notes on Releases page by @ottojo in #7030
- Fix syntax warning from bad escape sequence. by @rossbar in #7034
- Drop Python 3.9 support by @jarrodmillman in #7028
- Fix triangles to avoid using
is
to compare nodes by @dschult in #7041 - fix: Explicitly check for None/False in edge_attr during import from np by @j6k4m8 in #6825
- Update convert_matrix.py by @akshayamadhuri in #7018
- fix extendability function name in bipartite.rst by @dschult in #7042
- Minor doc cleanups to remove doc build warnings by @rossbar in #7048
- Add Tadpole graph in #6999
- Add favicon by @jarrodmillman in #7043
- Remove unused code resistance_distance in #7053
- Fix error message for
nx.mycielski_graph(0)
by @eriknw in #7056 - Fix names of small graphs by @eriknw in #7055
- Disallow negative number of nodes in
complete_multipartite_graph
by @eriknw in #7057 - Improve error messages for misconfigured backend treatment by @dschult in #7062
- DOC: Add example to generic_bfs_edges to demonstrate the
neighbors
param by @rossbar in #7072 - MAINT: Fixup union exception message. by @rossbar in #7071
- MAINT: Minor touchups to tadpole and lollipop graph by @rossbar in #7049
- Add
@not_implemented_for("directed")
tonumber_connected_components
by @eriknw in #7074 - remove unused code in #7076
- DEP: Deprecate the all_triplets one-liner. by @rossbar in #7060
- Minor touchups to the beamsearch module by @rossbar in #7059
- Hierarchical clustering layout gallery example by @rossbar in #7058
- Fixed an error in the documentation of the katz centrality by @BrunoBaldissera in #6294
- Fix annoying split strings on same line by @eriknw in #7079
- Update dispatch decorator for
hits
to use"weight"
edge weight by @eriknw in #7081 - Remove nbconvert upper pin (revert #6984) by @jarrodmillman in #7083
- Add a step to CI to check for warnings at import time. by @rossbar in #7077
- [A-star] Added expansion pruning via cutoff if cutoff is provided by @anders-rydbirk in #7073
- Create 3d_rotation_anime.py by @lobpcg in #7025
- Make HITS raise exceptions consistent with power iterations by @eriknw in #7084
- Handle edge cases for greedy_modularity_communities by @NeilBotelho in #6973
- DOC: Add docstrings to filter view functions by @akshayamadhuri in #7086
- DOC: Add docstrings to Filter mapping views by @akshayamadhuri in #7075
- Added few tests for /generators/duplication.py and /generators/geometโฆ by @karthikchiru12 in #6976
- Test on Python 3.13-dev by @jarrodmillman in #7096
- DEP: Deprecate random_triad by @rossbar in #7061
- DOCS: Fix internal links to other functions in isomorphvf2 by @MridulS in #6706
- FIX: Match the doc description while copying over data by @MridulS in #7092
- added note for the triangle inequality case in TSP by @Schefflera-Arboricola in #6995
- Add note about importance of testing to contributor guide by @rossbar in #7103
- Proposal to add centrality overview to mentored projects. by @rossbar in #7104
- Improve documentation of Component Algorithms by @dtekinoglu in #5473
- Changed arguments list of GraphMLWriterLxml.dump() by @patrick-nicodemus in #6261
- Add dot io to readwrite by @rossbar in #5061
-
write_graphml
: Small fix for object type description onTypeError
exception by @nelsonaloysio in #7109 - Add Python versions to release notes by @jarrodmillman in #7113
- DOC: Turn on inline plots in graph generators docstrings by @paulitapb in #6401
- Fix duplicate numbering in contributor guide by @DanielEgdal in #7116
- updated functions in
core.py
by @Schefflera-Arboricola in #7027 - DOC: remove unnecessary 'or' in planted_partition_graph by @DanielEgdal in #7115
- DOC: Link methods in functions to base Graph methods/properties by @MridulS in #7125
- fix: Include singleton/trivial paths in all_simple_paths & other functions by @plammens in #6694
- label check on push and change check name by @dschult in #7111
- DEP : adding
not_implemented_for("multigraphโ)
tok_core
,k_shell
,k_crust
andk_corona
by @Schefflera-Arboricola in #7121 - Add label check when pull request is edited instead of push by @dschult in #7134
- Add label workflow pull_request type synchronize and echo message by @dschult in #7135
- Connect docs to doc_string for total_spanning_tree_weight in #7098
- Implementation of
- [Feat] Random expanders utilities by @fcrozatier in #6761
- Image (3D RGB data) segmentation by spectral clustering with 3D illustrations by @lobpcg in #7040
- update triadic_census documentation for undirected graphs - issue 4386 by @LuigiSciarretta in #7141
- added 3d and animation to plot_greedy_coloring.py by @lobpcg in #7090
- Dinitz correction by @YVWX in #6968
- Compare graphs for generator functions when running tests with backend by @eriknw in #7066
- Add Kirchhoff index / Effective graph resistance in #6926
- DOC: fix URL econded links and doc references by @MridulS in #7152
- Changed return types of shortest path methods to improve consistency by @navyagarwal in #6584
- adding test coverage for isomorphism when using digraphs by @ImHereForTheCookies in #6417
- Remove usage of
__networkx_plugin__
(use__networkx_backend__
instead) by @eriknw in #7157 - DOC: consistent spelling of neighbor and rename vars by @MridulS in #7162
- DOC: add reference to fast_label_propagation_communities by @MridulS in #7167
- MAINT: use ruff format instead of black by @MridulS in #7160
- updated See also sec of argmap class by @Schefflera-Arboricola in #7163
- Modify GML test to fix invalid octal character warning. by @rossbar in #7159
- DOC : updated examples in mincost.py by @Schefflera-Arboricola in #7169
- Ensure warnings related to changes in shortest_path returns are visible to users by @rossbar in #7161
- Sync up behavior of is_{type} for empty graphs by @MridulS in #5849
- Added
NodeNotFound
exceptions to_apply_prediction
andsimrank
, and ignored isolated nodes inpanther_similarity
by @Schefflera-Arboricola in #7110 - Document the walk_type argument default in directed_laplacian and similar functions. by @Ay-slim in #7171
- DOC: Add plots to classic graph generators docs by @MridulS in #7114
- Fix not_implemented_for decorator for is_regular and related functions by @rossbar in #7182
- New PR for Fixes minimal d-separator function failing to handle cases where no d-separators exist by @dschult in https://github.com/networkx/networkx/p...
NetworkX 3.2.1
networkx-3.2.1 signed 3.2.1 tag
NetworkX 3.2
networkx-3.2 signed 3.2 tag