Utilities

cdlib exposes a few utilities to manipulate graph objects generated with igraph and networkx.

Graph Transformation

Transform igraph to/from networkx objects.

convert_graph_formats(graph, desired_format)

Converts from/to networkx/igraph

Identifier mapping

Remapping of graph nodes. It is often a good idea to limit memory usage and to use progressive integers as node labels. cdlib automatically - and transparently - makes the conversion for the user; however, this step can be costly: for such reason, the library also exposes facilities to directly pre/post process the network/community data.

nx_node_integer_mapping(graph)

Maps node labels from strings to integers.

remap_node_communities(communities, node_map)

Apply a map to the obtained communities to retrive the original node labels

Global Seeding for Reproducibility

cdlib provides a utility to globally set the random seed across its algorithms and dependencies:

Using a temporary fixed seed in a context manager:

from cdlib import fixed_seed

with fixed_seed(123):
    communities = algorithms.leiden(G)
# Seed automatically restored