← Back to all sparks
N

networkx

DEVOPS
Velocity0.0

Network analysis library for Python

NetworkX keeps absorbing new algorithms while expiring a decade of deprecations

pythongraph-algorithmsdeprecationsapi-conventionsvisualization
Current state
Releases follow a strict candidate-then-final rhythm every six months or so. The 3.5 and 3.6 cycles were dominated by two things: a steady intake of contributed algorithms - Clauset local community detection, densest subgraph via greedy peeling and Greedy++, spectral bipartition community finding - and an aggressive sweep of deprecations, with function renames and expired kwargs in nearly every release. 3.5 also introduced a new draw API and layout persistence on graphs.
Where it's heading
The library is doing two jobs at once: staying the default place a graph algorithm lands in Python, and cleaning up the naming inconsistencies that accumulated while it got there. The renaming pattern - random_lobster to random_lobster_graph, maybe_regular_expander to maybe_regular_expander_graph - suggests a systematic convention pass rather than ad-hoc tidying.
Prediction
Expect the next cycle to continue expiring deprecated functions on the same schedule and to keep absorbing contributed algorithms, with the draw API the most likely area for follow-up work given how recently it changed.

Recent moves

  1. 8mo ago

    Spectral bipartition community finding added

    A patch release that nonetheless adds spectral bipartition community finding and greedy bipartition via node swaps, alongside nodelist support for from_biadjacency_matrix and a fix letting graph subclasses take extra arguments.

    View source ↗
  2. 8mo ago

    3.6 renames generators and expires deprecations

    The 3.6 release, weighted toward API cleanup: two generator renames, several expired deprecations, metric_closure deprecated, plus a normalize option for subgraph_centrality and performance work in the Tarjan SCC path.

    View source ↗
  3. 9mo ago

    NetworkX 3.6rc0

    The release candidate for 3.6, carrying the same changelog as the final that followed three weeks later. Useful for testing rather than as a distinct release.

    View source ↗
  4. 1y ago

    3.5 brings a new draw API and densest-subgraph algorithms

    The densest release in this window: a new draw API, layouts saved on graphs, Clauset local community detection, and densest-subgraph implementations via greedy peeling and Greedy++, alongside a long list of expired deprecations.

    View source ↗
  5. 1y ago

    NetworkX 3.5rc0

    The 3.5 release candidate, with a changelog identical to the final release three weeks later. A testing artefact rather than new work.

    View source ↗
  6. 1y ago

    Docstring and draw_networkx_nodes return type fixes

    A small patch fixing dispatchable function docstrings and the return type of draw_networkx_nodes, plus documentation maintenance. No algorithmic change.

    View source ↗