human
I wrote the below code

    def bits():
        'Return    sequence    of    individual    bits    from    6-bit-per-value\n                                list    of    data    values.'
        for d in data:
            for i in [5, 4, 3, 2, 1, 0]:
                (yield ((d >> i) & 1))
    if string.startswith('>>graph6<<'):
        string = string[10:]
    data = graph6_to_data(string)
    (n, data) = data_to_n(data)
    nd = ((((n * (n - 1)) // 2) + 5) // 6)
    if (len(data) != nd):
        raise NetworkXError(('Expected    %d    bits    but    got    %d    in    graph6' % (((n * (n - 1)) // 2), (len(data) * 6))))
    G = nx.Graph()
    G.add_nodes_from(range(n))
    for ((i, j), b) in zip([(i, j) for j in range(1, n) for i in range(j)], bits()):
        if b:
            G.add_edge(i, j)
    return G

What's a good function header?
assistant
#Here's a good function header.

def parse_graph6(string):