def is_directed_acyclic_graph(G):
    if not G.is_directed():
        return False
    try:
        topological_sort(G)
        return True
    except nx.NetworkXUnfeasible:
        return False
pack up a function, args, and kwargs to be sent over the wire
dataset/ETHPy150Open gkno/gkno_launcher/src/networkx/algorithms/dag.py/is_directed_acyclic_graph--crossover with--dataset/ETHPy150Open ipython/ipython-py3k/IPython/parallel/util.py/pack_apply_message