You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
File ~\miniconda3\envs\detectron\lib\site-packages\datajoint\diagram.py:428, in Diagram.make_svg(self)
425 def make_svg(self):
426 from IPython.display import SVG
--> 428 return SVG(self.make_dot().create_svg())
File ~\miniconda3\envs\detectron\lib\site-packages\datajoint\diagram.py:306, in Diagram.make_dot(self)
304 def make_dot(self):
--> 306 graph = self._make_graph()
307 graph.nodes()
309 scale = 1.2 # scaling factor for fonts and boxes
File ~\miniconda3\envs\detectron\lib\site-packages\datajoint\diagram.py:292, in Diagram._make_graph(self)
288 nx.set_node_attributes(
289 graph, name="node_type", values={n: _get_tier(n) for n in graph}
290 )
291 # relabel nodes to class names
--> 292 mapping = {
293 node: lookup_class_name(node, self.context) or node
294 for node in graph.nodes()
295 }
296 new_names = [mapping.values()]
297 if len(new_names) > len(set(new_names)):
File ~\miniconda3\envs\detectron\lib\site-packages\datajoint\diagram.py:293, in <dictcomp>(.0)
288 nx.set_node_attributes(
289 graph, name="node_type", values={n: _get_tier(n) for n in graph}
290 )
291 # relabel nodes to class names
292 mapping = {
--> 293 node: lookup_class_name(node, self.context) or node
294 for node in graph.nodes()
295 }
296 new_names = [mapping.values()]
297 if len(new_names) > len(set(new_names)):
File ~\miniconda3\envs\detectron\lib\site-packages\datajoint\table.py:980, in lookup_class_name(name, context, depth)
972 elif (
973 node["depth"] > 0
974 and inspect.ismodule(member)
975 and member.__name__ != "datajoint"
976 ):
977 try:
978 nodes.append(
979 dict(
--> 980 context=dict(inspect.getmembers(member)),
981 context_name=node["context_name"] + "." + member_name,
982 depth=node["depth"] - 1,
983 )
984 )
985 except ImportError:
986 pass # could not import, so do not attempt
File ~\miniconda3\envs\detectron\lib\inspect.py:458, in getmembers(object, predicate)
454 # :dd any DynamicClassAttributes to the list of names if object is a class;
455 # this may result in duplicate entries if, for example, a virtual
456 # attribute with the same name as a DynamicClassAttribute exists
457 try:
--> 458 for base in object.__bases__:
459 for k, v in base.__dict__.items():
460 if isinstance(v, types.DynamicClassAttribute):
TypeError: '_ClassNamespace' object is not iterable
Description
Sometimes (and I don't know exactly when), the generation of dj Diagrams does not work. See error above.
Reproducibility
Include:
OS: Windows 11 Pro
Python 3.10.6
DataJoint Version 0.13.8
The text was updated successfully, but these errors were encountered:
Bug Report
runs into
Description
Sometimes (and I don't know exactly when), the generation of dj Diagrams does not work. See error above.
Reproducibility
Include:
0.13.8
The text was updated successfully, but these errors were encountered: