igraphmodule_Graph_dominator always boxes returned ints and doesn't expose all C function outputs
Describe the bug
The igraphmodule_Graph_dominator shouldn't box its return values in Python ints. I generally prefer to use graph libraries in such a way that there's no direct relationship between the size of my data set and the number of Python heap objects I have to allocate. Additionally, the underlying C function is capable of returning three outputs (a graph and a list of nodes left out), and the Python binding ignores all of them except the dominator list.
Expected behavior
The function should have a parameter that asks it to return some kind of Python-buffer-protocol-supporting object allowing for batch extraction of the dominator list.
Current behavior
Returns list[int]
Version information
Mainline.
Additionally, the underlying C function is capable of returning three outputs (a graph and a list of nodes left out), and the Python binding ignores all of them except the dominator list.
PRs welcome for this one, should be targeted on the develop branch.
As for the efficiency of the data transfer to Python, a new Python interface is in the works: https://github.com/igraph/python-igraph-ctypes It will use numpy arrays and will transfer/represent such data more efficiently. Progress is slow due to limited resources/funding/manpower.