graphcanvas icon indicating copy to clipboard operation
graphcanvas copied to clipboard

Cannot create `GraphView` : `graph_from_dict` KeyError

Open Corwinpro opened this issue 3 years ago • 0 comments

The README example fails with a KeyError:

>>> from graphcanvas.api import GraphView, graph_from_dict
>>> g = {'a':['b'], 'b':['c', 'd'], 'c':[], 'd':[]}
>>> GraphView(graph=graph_from_dict(g))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/pkungurtsev/.edm/envs/env/lib/python3.6/site-packages/graphcanvas/graph_view.py", line 75, in __init__
    if isinstance(self.graph.nodes()[0], HasTraits):
  File "/Users/pkungurtsev/.edm/envs/env/lib/python3.6/site-packages/networkx/classes/reportviews.py", line 178, in __getitem__
    return self._nodes[n]
KeyError: 0
>>> import networkx
>>> networkx.__version__
'2.4'
>>> import graphcanvas
>>> graphcanvas.__version__
'4.1.0'

I think this is because networkx.NodeView is essentially a dict so no element-based access is possible.

Corwinpro avatar Apr 07 '22 18:04 Corwinpro