Accessing edges in non-sorted fashion Graphs.jl?

g = DiGraph(3);
add_edge!(g, 2, 1)
add_edge!(g, 1, 2)
add_edge!(g, 3, 2)

julia> collect(edges(g))
3-element Vector{LightGraphs.SimpleGraphs.SimpleEdge{Int64}}:
 Edge 1 => 2
 Edge 2 => 1
 Edge 3 => 2

edges collected here are obtained in sorted fashion. But How do we obtain the edges in the order we pushed or added ?

You need to keep track of that yourself. The internal representation of a SimpleDiGraph is, well, too simple to represent such information.