Skip to content

Multi-level network clustering based on the Map Equation

License

Notifications You must be signed in to change notification settings

KRothamel/infomap

 
 

Repository files navigation

Infomap

Infomap is a network clustering algorithm based on the Map equation.

For detailed documentation, see mapequation.org/infomap.

For a list of recent changes, see CHANGELOG.md in the source directory.

Getting started

Infomap can be installed either from PyPI using pip or by compiling from source.

An experimental Javascript version for browsers is available on NPM.

Using pip

A pre-compiled version is available for macOS users.

Installing on other operating systems requires a working gcc or clang compiler.

To install, run:

pip install infomap

To upgrade, run:

pip install --upgrade infomap

When the Python package is installed, an executable called infomap (with lowercase i) is available from any directory.

To get started, read Infomap Python API.

Using Docker

There are currently two Docker images available on Docker Hub.

  • mapequation/infomap
  • mapequation/infomap:notebook based on jupyter/scipy-notebook

The image mapequation/infomap can be started with

docker run -it --rm \
    -v `pwd`:/data \
    mapequation/infomap
    [infomap arguments]

You can also use the supplied docker-compose.yml:

docker-compose run --rm infomap

The image mapequation/infomap:notebook can be started with

docker run \
    -v `pwd`:/home/jovyan/work \
    -p 8888:8888 \
    mapequation/infomap:notebook \
    start.sh jupyter lab

Or similarly, using docker-compose:

docker-compose up notebook

Compiling from source

Installing Infomap from source requires a working gcc or clang compiler.

To download and compile the newest version from Github, clone the repository by running

git clone git@github.com:mapequation/infomap.git
cd infomap
make

This creates the binary Infomap, run it using:

./Infomap [options] network_data destination

For a list of options, run:

./Infomap --help

Read the documentation to learn more about the different options.

Npm package

An experimental Javascript web worker is available on NPM.

To install it, run

npm install @mapequation/infomap

Feedback

If you have any questions, suggestions or issues regarding the software, please add them to GitHub issues.

Authors

Daniel Edler, Anton Eriksson, Martin Rosvall

For contact information, see mapequation.org/about.html.

Terms of use

Infomap is released under a dual licence.

To give everyone maximum freedom to make use of Infomap and derivative works, we make the code open source under the GNU Affero General Public License version 3 or any later version (see LICENSE_AGPLv3.txt).

For a non-copyleft license, please contact us.

About

Multi-level network clustering based on the Map Equation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 72.2%
  • Python 16.8%
  • TypeScript 5.5%
  • SWIG 2.5%
  • Makefile 1.5%
  • JavaScript 1.1%
  • Other 0.4%