Skip to content

Update dependency networkx to v3.3

renovate-token-rw-2 requested to merge renovate/networkx-3.x into main

This MR contains the following updates:

Package Update Change
networkx minor ==3.2.1 -> ==3.3

Release Notes

networkx/networkx (networkx)

v3.3: NetworkX 3.3

Compare Source

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 of nonisomorphic_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 MR 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 in depth_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 to louvain_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() use add_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 (#​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 change linprog 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).
  • added 3d and animation to plot_greedy_coloring.py (#​7090).
  • DOC: fix URL econded links and doc references (#​7152).
  • DOC: add reference to fast_label_propagation_communities (#​7167).
  • updated See also sec of argmap class (#​7163).
  • DOC : updated examples in mincost.py (#​7169).
  • Document the walk_type argument default in directed_laplacian and similar functions (#​7171).
  • DOC: Add plots to classic graph generators docs (#​7114).
  • Fix a tiny typo in structuralholes.py::local_constraint docstring (#​7198).
  • Added subgraph_is_monomorphic and subgraph_monomorphisms_iter in docs (#​7197).
  • Fix online docs for _dispatch (#​7194).
  • DOC : Updated docs for panther_similarity (#​7175).
  • Fix warnings when building docs (#​7195).
  • Improve docs for optimal_edit_paths (#​7130).
  • DOC: build with nx-parallel extra documentation information (#​7220).
  • Fixed typo in tensor product documentation (Fixes #​7228) (#​7229).
  • Add example for cycle detection (#​6560).
  • Update general_k_edge_subgraphs docstring (#​7254).
  • Update docstring of nonisomorphic_trees (#​7255).
  • adding self loops related docs and tests for functions in cluster.py (#​7261).
  • Add minimum_cycle_basis to cycle_basis See Also (#​7274).
  • Update CONTRIBUTING.rst (#​7270).
  • Fix all sphinx warnings during doc build (#​7289).
  • Doc infrastructure: replace nb2plot with myst-nb (#​7237).
  • Add explicit targets of missing modules for intersphinx (#​7313).
  • DOC: add doc suggestions for arbitrarily large random integers tools (#​7322).
  • Try/except intermittently failing basemaps in geospatial examples (#​7324).
  • Update docstring example with future-proof pandas assignment (#​7323).
  • Remove animation from spectral clustering example to improve performance (#​7328).
  • Doc Improvements for Approximations Files (#​7338).
  • Update LCF_graph docstring (#​7262).
  • Option to include initial labels in weisfeiler_lehman_subgraph_hashes (#​6601).
  • Add eriknw as contributor (#​7343).
  • [DOC, DISPATCH] : updated and added backend.py's docs (#​7305).
  • add **kwargs to traveling_salesman_problem (#​7371).
  • Move the backend docs and connect the config docs. Both in a single sidebar entry (#​7389).

Maintenance

  • Drop Python 3.9 support (#​7028).
  • fix: Explicitly check for None/False in edge_attr during import from np (#​6825).
  • Add favicon (#​7043).
  • Remove unused code resistance_distance (#​7053).
  • Fix names of small graphs (#​7055).
  • Improve error messages for misconfigured backend treatment (#​7062).
  • MAINT: Fixup union exception message (#​7071).
  • MAINT: Minor touchups to tadpole and lollipop graph (#​7049).
  • Add @not_implemented_for("directed") to number_connected_components (#​7074).
  • remove unused code (#​7076).
  • Minor touchups to the beamsearch module (#​7059).
  • Fix annoying split strings on same line (#​7079).
  • Update dispatch decorator for hits to use "weight" edge weight (#​7081).
  • Remove nbconvert upper pin (revert #​6984) (#​7083).
  • Add a step to CI to check for warnings at import time (#​7077).
  • Added few tests for /generators/duplication.py and /generators/geomet… (#​6976).
  • Test on Python 3.13-dev (#​7096).
  • Changed arguments list of GraphMLWriterLxml.dump() (#​6261).
  • write_graphml: Small fix for object type description on TypeError exception (#​7109).
  • updated functions in core.py (#​7027).
  • label check on push and change check name (#​7111).
  • DEP : adding not_implemented_for("multigraph”) to k_core, k_shell, k_crust and k_corona (#​7121).
  • Add label check when pull request is edited instead of push (#​7134).
  • Add label workflow pull_request type synchronize and echo message (#​7135).
  • adding test coverage for isomorphism when using digraphs (#​6417).
  • Remove usage of __networkx_plugin__ (use __networkx_backend__ instead) (#​7157).
  • DOC: consistent spelling of neighbor and rename vars (#​7162).
  • MAINT: use ruff format instead of black (#​7160).
  • Ensure warnings related to changes in shortest_path returns are visible to users (#​7161).
  • Sync up behavior of is_{type} for empty graphs (#​5849).
  • Added NodeNotFound exceptions to _apply_prediction and simrank, and ignored isolated nodes in panther_similarity (#​7110).
  • Fix not_implemented_for decorator for is_regular and related functions (#​7182).
  • Fix all_node_cuts output for complete graphs (#​6558).
  • Remove "networkx.plugins" and "networkx.plugin_info" entry-points (#​7192).
  • Bump actions/setup-python from 4 to 5 (#​7201).
  • Update test suite for Pytest v8 (#​7203).
  • Undeprecate nx_pydot now that pydot is actively maintained again (#​7204).
  • Future-proofing and improve tests (#​7209).
  • Drop old dependencies per SPEC 0 (#​7217).
  • Update pygraphviz (#​7216).
  • Refactor geometric_soft_configuration_model tests for performance (#​7210).
  • Rename _dispatch to _dispatchable (#​7193).
  • Replace tempfile with tmp_path fixture in test suite (#​7221).
  • updated test_directed_edge_swap #​5814 (#​6426).
  • Bump copyright year for 2024 (#​7232).
  • Improving test coverage for Small.py (#​7260).
  • Test for symmetric edge flow betweenness partition (#​7251).
  • MAINT : added seed to gnm_random_graph in community/tests/test_label_propagation.py (#​7264).
  • Bump scientific-python/upload-nightly-action from 0.2.0 to 0.3.0 (#​7266).
  • adding self loops related docs and tests for functions in cluster.py (#​7261).
  • Improving test coverage for Mycielsky.py (#​7271).
  • Use ruff's docstring formatting (#​7276).
  • Add docstring formatting change to blame-ignore-revs (#​7281).
  • Improve test coverage for random_clustered and update function names (#​7273).
  • Doc infrastructure: replace nb2plot with myst-nb (#​7237).
  • Temporarily rm geospatial examples to fix CI (#​7299).
  • Improve test coverage for bipartite extendability (#​7306).
  • CI: Update scientific-python/upload-nightly-action from 0.3.0 to 0.4.0 (#​7309).
  • CI: Group dependabot updates (#​7308).
  • CI: update upload-nightly-action to 0.5.0 (#​7311).
  • renaming backend func_info dictionary's keys (#​7219).
  • Add mutates_input= and returns_graph= to _dispatchable (#​7191).
  • Avoid creating results with numpy scalars (re: NEP 51) (#​7282).
  • Bump changelist from 0.4 to 0.5 (#​7325).
  • Improve test coverage for bipartite matrix.py (#​7312).
  • Un-dispatch coloring strategies (#​7329).
  • Undo change in return type of single_target_shortest_path_length (#​7327).
  • Remove animation from spectral clustering example to improve performance (#​7328).
  • Expire steinertree mehlhorn futurewarning (#​7337).
  • Update louvain test modularity comparison to leq (#​7336).
  • Add aaronzo as contributor (#​7342).
  • Fix #​7339. shortest_path inconsisitent with warning (#​7341).
  • Add nx.config dict for configuring dispatching and backends (#​7225).
  • Improve test coverage for Steiner Tree & Docs (#​7348).
  • added seed to test_richclub_normalized (#​7355).
  • Add tests to link_prediction.py (#​7357).
  • Fix pydot tests when testing backends (#​7356).
  • Future proof xml parsing in graphml (#​7360).
  • make doc_string examples order-independent by removing np.set_printoptions (#​7361).
  • Close figures on test cleanup (#​7373).
  • More numpy scalars cleanup for numpy 2.0 (#​7374).
  • Update numpydoc (#​7364).
  • Fix pygraphviz tests causing segmentation faults in backend test (#​7380).
  • Add dispatching to broadcasting.py (#​7386).
  • Update test suite to handle when scipy is not installed (#​7388).
  • Rm deprecated np.row_stack in favor of vstack (#​7390).
  • Fix exception for del config[key] (#​7391).
  • Bump the GH actions with 3 updates (#​7310).

Contributors

54 authors added to this release (alphabetically):

29 reviewers added to this release (alphabetically):

These lists are automatically generated, and may not be complete or may contain duplicates.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled because a matching MR was automerged previously.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Merge request reports