kcore.py 575 Bytes
Newer Older
1
import graph_tool
2

3
# We import the C++ module (called libkcore.so)
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
import libkcore

# The function below is what will be used from Python, and dispatch to the the
# C++ module.

def kcore_decomposition(g, core=None):
    if core is None:
        core = g.new_vertex_property("int")

    # For graph objects wee need to pass the internal GraphInterface which is
    # assessed via g._Graph__graph.

    # Property maps need to be passed as boost::any objects, which is done via
    # the _get_any() method.

    libkcore.kcore(g._Graph__graph, core._get_any())
    return core