This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.


configuration_model(aseq, bseq, create_using=None, seed=None)[source]

Returns a random bipartite graph from two given degree sequences.

  • aseq (list) – Degree sequence for node set A.
  • bseq (list) – Degree sequence for node set B.
  • create_using (NetworkX graph instance, optional) – Return graph of this type.
  • seed (integer, random_state, or None (default)) – Indicator of random number generation state. See Randomness.
  • Nodes from the set A are connected to nodes in the set B by
  • choosing randomly from the possible free stubs, one in A and
  • one in B.


The sum of the two sequences must be equal: sum(aseq)=sum(bseq) If no graph type is specified use MultiGraph with parallel edges. If you want a graph with no parallel edges use create_using=Graph() but then the resulting degree sequences might not be exact.

The nodes are assigned the attribute ‘bipartite’ with the value 0 or 1 to indicate which bipartite set the node belongs to.

This function is not imported in the main namespace. To use it you have to explicitly import the bipartite package.