Maybe something like this? (If I understand correctly what you want).
import networkx as nx
G = nx.gnc_graph(100) # a DAG
R = G.reverse()
for n in G:
print n,\
len(nx.single_source_shortest_path_length(G,n))-1,\ # successors
len(nx.single_source_shortest_path_length(R,n))-1 # predecessors
Aric
Hmm. Now I realize I need to do this many more times than Ioriginally thought, for a Monte Carlo simulation. It seems like thereought to be a recursive successors function, that just tells you whatnodes are reachable from a source, without going to the extracomputational trouble of finding the shortest paths.