nx-backbone#

Backbone extraction algorithms for complex networks, built on NetworkX.

nx-backbone provides about 110 functions across 14 modules for extracting backbone structures from weighted, unweighted, bipartite, temporal, and higher-order (hypergraph) networks. The public API is type-annotated, and the graph-in, graph-out functions dispatch to NetworkX backends (see Backends). Core usage follows a score-then-filter pattern: methods score edges on a full graph first, then filtering utilities extract the final sparse backbone.

Tip

New here? After the Quick Start, start with From a hairball to a backbone, end to end, a worked case study of the whole workflow: why a backbone, scoring versus filtering, choosing alpha and corrections, comparing and validating backbones, and reporting them.

Module

Description

Key Functions

Statistical Methods

Hypothesis-testing methods

disparity_filter(), noise_corrected_filter()

Structural Methods

Topology-based methods

high_salience_skeleton(), metric_backbone()

Proximity Methods

Neighborhood-similarity scoring

jaccard_backbone(), cosine_backbone()

Hybrid Methods

Combined approaches

glab_filter()

Bipartite Methods

Bipartite projection backbones

sdsm(), fdsm(), fixedrow()

Hypergraph Methods

Hypergraph backbones and interoperability

mdl_hypergraph_backbone(), statistically_validated_hypergraph(), read_hif()

Unweighted Sparsification

Sparsification for unweighted graphs

sparsify(), lspar()

Filters

Post-hoc filtering utilities

threshold_filter(), fraction_filter()

Measures

Evaluation and comparison

compare_backbones(), edge_fraction()

Visualization

Comparison plotting

compare_graphs(), graph_difference()

Describe

Methods text and citations

describe_backbone()

Convert

Array and data-frame input

to_graph()

Temporal

Temporal networks: snapshots, events, and spans

convert_temporal(), flatten_temporal(), from_event_table()

API Reference