title: Is it possible to get unique paths in networkx with attribute included in the path?
body: <p>I have the following graph and I want to be able to discover all ways that I can go from 'ip' to 'name' with the following graph in networkx it shows that I can go from 'ip' to 'name' if I follow this path <code>[['ip', 'address', 'name']]</code> the problem is I also defined that <code>address</code> to <code>name</code> can go from two different edges, one that has the attribute <code>through=isptool</code> and another that goes through the attribute <code>through=phyonebook</code> is it possible to have networkx list out these two paths as separate paths and also include the through attribute in the path? Something like</p>
  <pre><code>ip -sometool-&gt; address -isptool-&gt; name
  
  ip -sometool-&gt; address -phonebook-&gt; name
  </code></pre>
  <pre><code>import networkx as nx
  g = nx.DiGraph()
  g.add_node('email')
  g.add_node('ip')
  g.add_node('address')
  g.add_node('name')
  g.add_edges_from([('address', 'name')], through='isptool')
  g.add_edges_from([('address', 'name')], through='phonebook')
  g.add_edge('email', 'address')
  g.add_edge('ip', 'address', through='sometool')
  list(nx.all_simple_paths(g, 'ip', 'name'))
  &gt;&gt;&gt;[['ip', 'address', 'name']] # should have 2 paths one using isptool and one using phonebook edge
  list(nx.all_simple_paths(g, 'email', 'name'))
  &gt;&gt;&gt;[['email', 'address', 'name']] # same here, should have 2 paths
  </code></pre>