Hi, I tried to use this library because it seemed like a really useful tool to analyze existing operations graphs, but it seems to be broken by the latest versions of networkx. When trying to call compose, I got the following exception:
def _optionalized(graph, data):
"""Retain optionality of a `data` node based on all `needs` edges."""
> all_optionals = all(e[2] for e in graph.out_edges(data, "optional", False))
E TypeError: OutEdgeView.__call__() takes from 1 to 3 positional arguments but 4 were given
It didn't feel like an issue on my side, so I investigated a bit and found that the signature of some views changed a few months ago in networkx 3.2, with this commit being the most likely culprit: networkx/networkx@edd50e3
Fixing the networkx version to 3.1 solved the issue as expected. Usage of views should probably be adapted in graphtik to accommodate the latest changes in networkx.
Hi, I tried to use this library because it seemed like a really useful tool to analyze existing operations graphs, but it seems to be broken by the latest versions of networkx. When trying to call
compose, I got the following exception:It didn't feel like an issue on my side, so I investigated a bit and found that the signature of some views changed a few months ago in networkx 3.2, with this commit being the most likely culprit: networkx/networkx@edd50e3
Fixing the networkx version to 3.1 solved the issue as expected. Usage of views should probably be adapted in graphtik to accommodate the latest changes in networkx.