I’m happy to announce the first (of hopefully many) custom graph interfaces to LightGraphs.jl. SimpleWeightedGraphs is a proof-of-concept that was mostly hammered out at JuliaCon. As its name might imply, it provides weighted edges, and all functions that can take weights (such as shortest path calculations) will work seamlessly with this graph structure:

```
using LightGraphs, SimpleWeightedGraphs
g = SimpleWeightedGraph(3)
add_edge!(g, 1, 2, 0.5)
add_edge!(g, 2, 3, 0.8)
add_edge!(g, 1, 3, 2.0)
# find the shortest path from vertex 1 to vertex 3 taking weights into account.
enumerate_paths(dijkstra_shortest_paths(g, 1), 3)
3-element Array{Int64,1}:
1
2
3
# reweight the edge from 1 to 2
add_edge!(g, 1, 2, 1.6)
# rerun the shortest path calculation from 1 to 3
enumerate_paths(dijkstra_shortest_paths(g, 1), 3)
2-element Array{Int64,1}:
1
3
```

Both directed and undirected weighted graphs are supported.

Please feel free to open up issues if you find any problems or see performance improvement opportunities.