Navigate the disk cycle, like you can navigate the loop and radial loop cycles in bmesh?
Something like this?

[edge for edge in vertex.link_edges]


Where vertex is bm.verts[n]. I assume it's in order, otherwise I have to fix my code too if it isn't. 

If you want loops, there's also link_loops.

edit: Here's the current way I'm doing it that actually works ok (radially sorted 1-ring of edges for a vert)

def radial_edges(iv):
    loop = iv.link_loops[0]
    eg = []
    while True:
        eg.append(loop.edge)
        loop = loop.link_loop_radial_next.link_loop_next
        if loop.edge == eg[0]:
            break
    return eg