NEXP pre-proposal for backbone subpackage

22 views
Skip to first unread message

Brian Keegan

unread,
Feb 10, 2026, 4:57:12 PM (11 days ago) Feb 10
to networkx-discuss
I'd like to propose adding a backbone extraction subpackage to NetworkX and want to check whether this is suitable for a NXEP

Sparsifying a weighted network down to its structurally significant edges is a standard operation in network analysis, but NetworkX currently has no native support for it. Users rely on external packages like netbone (Yassin et al. 2023, Sci. Rep. 13:17000) or Neal's backbone R package (2022, PLOS ONE 17:e0269137), or reimplement methods from papers. 

The netbone package is particularly relevant here: it's MIT licensed, well-tested, covers 20 methods across statistical, structural, and hybrid categories, and has been validated across 33 real-world networks in a recent comparative study (Yassin et al. 2025, PLOS ONE 20:e0322298).

The proposal is to translate netbone's implementations into a networkx.algorithms.backbone subpackage with a native nx.Graph API, supplemented by bipartite projection and unweighted sparsification methods from Neal's R package. The design separates scoring from filtering: methods store computed scores (p-values, salience, etc.) as edge attributes, and users apply threshold or fraction filters explicitly. Methods that produce a fixed subgraph (metric backbone, MST, PMFG) return the backbone graph directly. The module would also include evaluation measures for comparing backbones, which addresses a practical gap both packages have documented. No dependencies beyond numpy and scipy would be needed.

I have a reference implementation covering 25+ methods with 182 tests passing and would welcome feedback on a few questions. 

First, does backbone extraction belong in NetworkX proper, or is it better keep as a standalone package like netbone? 

Second, is 20+ methods too broad for an initial proposal, or should I start with a smaller core set? 

Third, are there concerns about the scoring-then-filtering pattern as an API convention? 

Any guidance on whether and how to proceed with a NXEP would be much appreciated.

Brian Keegan

unread,
Feb 11, 2026, 10:08:02 PM (10 days ago) Feb 11
to networkx-discuss
I'll be working on the backbone project here: https://github.com/brianckeegan/networkx_backbone
Reply all
Reply to author
Forward
0 new messages