Есть необходимость генерировать случайный граф с заданным количеством выходящих из вершины ребер + задавать сколько всего узлов в графе + сколько будет висячих узлов.
Подскажите пожалуйста, есть ли готовый класс в networkx, который умеет это делать (если networkx не умеет, может умеет какая-то другая библиотека?)?

Пока смогла написать только вот такой код, но тут я могу указать только 1 из параметров (количество исходящих из вершины ребер).
# coding: utf8
from random import randint
import networkx as nx
import matplotlib.pyplot as plt
btree = nx.balanced_tree(randint(1, 5), 2)
print(btree.edges())
print(btree.nodes())
pos = nx.graphviz_layout(btree, prog='dot')
nx.draw(btree, pos, with_labels=True, arrows=False)
plt.savefig("path_graph_cities.png")