Skip to content

taynaud/python-louvain

Repository files navigation

Louvain Community Detection

image

Documentation Status

Installing

To build and install from source, run

python setup.py install

You can also install from pip with

pip install python-louvain

The package name on pip is python-louvain but it is imported as community in python. More documentation for this module can be found at http://python-louvain.readthedocs.io/

Usage

To use as a Python library

from community import community_louvain
import matplotlib.cm as cm
import matplotlib.pyplot as plt
import networkx as nx

# load the karate club graph
G = nx.karate_club_graph()

# compute the best partition
partition = community_louvain.best_partition(G)

# draw the graph
pos = nx.spring_layout(G)
# color the nodes according to their partition
cmap = cm.get_cmap('viridis', max(partition.values()) + 1)
nx.draw_networkx_nodes(G, pos, partition.keys(), node_size=40, 
                       cmap=cmap, node_color=list(partition.values()))
nx.draw_networkx_edges(G, pos, alpha=0.5)
plt.show()

It can also be run on the command line

$ community <filename>

where filename is a binary file as generated by the convert utility distributed with the C implementation at https://sites.google.com/site/findcommunities/ However as this is mostly for debugging purposes its use should be avoided. Instead importing this library for use in Python is recommended.

Documentation

You can find documentation at https://python-louvain.readthedocs.io/

To generate documentation, run

pip install numpydoc sphinx
cd docs
make

Tests

To run tests, run

pip install nose
python setup.py test