infomap

Multi-level network clustering based on the Map Equation

https://github.com/mapequation/infomap

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.4%) to scientific vocabulary

Keywords

clustering-algorithm infomap information-theory map-equation network-analysis

Keywords from Contributors

hack interpretability standardization meshing robust optim matrix-exponential sequences bridges log-parser
Last synced: 6 months ago · JSON representation ·

Repository

Multi-level network clustering based on the Map Equation

Basic Info
Statistics
  • Stars: 466
  • Watchers: 17
  • Forks: 93
  • Open Issues: 30
  • Releases: 19
Topics
clustering-algorithm infomap information-theory map-equation network-analysis
Created over 9 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog License Citation

README.rst

.. image:: https://github.com/mapequation/infomap/actions/workflows/build.yml/badge.svg

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.

.. _Map equation: https://www.mapequation.org/publications.html#Rosvall-Axelsson-Bergstrom-2009-Map-equation
.. _`mapequation.org/infomap`: https://www.mapequation.org/infomap
.. _`CHANGELOG.md`: https://github.com/mapequation/infomap/blob/master/CHANGELOG.md

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`_.

.. _PyPI: https://pypi.org/project/infomap/

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`_.

.. _`Infomap Python API`: https://mapequation.github.io/infomap/python/

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

.. code-block:: bash

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

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

.. code-block:: bash

    docker-compose run --rm infomap

The image ``mapequation/infomap:notebook`` can be started with

.. code-block:: bash

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

Or similarly, using docker-compose:

.. code-block:: bash

    docker-compose up notebook

.. _`Docker Hub`: https://hub.docker.com/r/mapequation/infomap
.. _`docker-compose.yml`: https://github.com/mapequation/infomap/blob/master/docker-compose.yml

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

.. code-block:: shell

    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.

.. _Github: https://www.github.com/mapequation/infomap
.. _the documentation: https://www.mapequation.org/infomap

Npm package
-----------

An experimental Javascript web worker is available on `NPM`_.

To install it, run

.. code-block:: shell

    npm install @mapequation/infomap

.. _NPM: https://www.npmjs.com/package/@mapequation/infomap

Feedback
--------

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

.. _Github issues: http://www.github.com/mapequation/infomap/issues

Authors
-------

Daniel Edler, Anton Holmgren, Martin Rosvall

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

.. _`mapequation.org/about.html`: https://www.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 General Public License version 3 or any
later version (see `LICENSE_GPLv3.txt`_).

For a non-copyleft license, please contact us.

.. _LICENSE_GPLv3.txt: https://github.com/mapequation/infomap/blob/master/LICENSE_GPLv3.txt

Owner

  • Name: mapequation
  • Login: mapequation
  • Kind: organization

Citation (CITATION.cff)

cff-version: 2.8.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Edler"
  given-names: "Daniel"
  orcid: "https://orcid.org/0000-0001-5420-0591"
- family-names: "Holmgren"
  given-names: "Anton"
  orcid: "https://orcid.org/0000-0001-5859-4073"
- family-names: "Rosvall"
  given-names: "Martin"
  orcid: "https://orcid.org/0000-0002-7181-9940"
title: "The MapEquation software package"
version: 2.8.0
date-released: 2024-06-20
url: "https://mapequation.org"

GitHub Events

Total
  • Issues event: 6
  • Watch event: 33
  • Issue comment event: 3
  • Push event: 5
  • Fork event: 4
  • Create event: 1
Last Year
  • Issues event: 6
  • Watch event: 33
  • Issue comment event: 3
  • Push event: 5
  • Fork event: 4
  • Create event: 1

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 1,214
  • Total Committers: 9
  • Avg Commits per committer: 134.889
  • Development Distribution Score (DDS): 0.369
Past Year
  • Commits: 4
  • Committers: 1
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Daniel Edler e****v@g****m 766
Anton Eriksson a****n@u****e 404
github-actions 4****] 17
Martin Rosvall m****l@g****m 15
Christian Persson c****n@l****e 5
ulfaslak u****n@g****m 2
dependabot[bot] 4****] 2
Anton Holmgren a****n@u****e 2
jonathan.striebel j****l 1
Committer Domains (Top 20 + Academic)
umu.se: 2 live.se: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 76
  • Total pull requests: 45
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 10 days
  • Total issue authors: 33
  • Total pull request authors: 3
  • Average comments per issue: 1.29
  • Average comments per pull request: 0.09
  • Merged pull requests: 41
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 0
  • Average time to close issues: about 7 hours
  • Average time to close pull requests: N/A
  • Issue authors: 5
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • antoneri (26)
  • danieledler (16)
  • kxleee (2)
  • ulgenklc (2)
  • ulfaslak (2)
  • xiangyh9988 (2)
  • zhangke-zhangke (1)
  • pojeda (1)
  • JoshLiu96 (1)
  • Ishitori (1)
  • WanyongFeng (1)
  • Yquetzal (1)
  • 205418367 (1)
  • bdklahn (1)
  • mikethreeacer (1)
Pull Request Authors
  • antoneri (29)
  • danieledler (16)
  • pojeda (1)
Top Labels
Issue Labels
python (19) bug (15) feature (10) stale (8) performance (8) build (6) algorithm (6) macos (4) docs (4) later (1) test (1)
Pull Request Labels
feature (5) python (3) bug (2) js (2) docs (1)

Packages

  • Total packages: 8
  • Total downloads:
    • pypi 3,289 last-month
    • npm 61 last-month
  • Total dependent packages: 7
    (may contain duplicates)
  • Total dependent repositories: 39
    (may contain duplicates)
  • Total versions: 211
  • Total maintainers: 5
pypi.org: infomap

Infomap network clustering algorithm

  • Versions: 76
  • Dependent Packages: 4
  • Dependent Repositories: 30
  • Downloads: 3,277 Last month
Rankings
Downloads: 2.5%
Dependent repos count: 2.7%
Dependent packages count: 3.2%
Average: 3.3%
Stargazers count: 3.3%
Forks count: 4.7%
Maintainers (3)
Last synced: 6 months ago
proxy.golang.org: github.com/mapequation/infomap
  • Versions: 48
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 6.5%
Average: 6.7%
Dependent repos count: 7.0%
Last synced: 6 months ago
npmjs.org: @mapequation/infomap

Infomap network clustering algorithm

  • Versions: 52
  • Dependent Packages: 1
  • Dependent Repositories: 5
  • Downloads: 54 Last month
Rankings
Forks count: 3.2%
Stargazers count: 3.3%
Dependent repos count: 5.1%
Average: 9.1%
Downloads: 13.2%
Dependent packages count: 21.0%
Maintainers (2)
Last synced: 6 months ago
pypi.org: vintasoftware-infomap-fork

Infomap network clustering algorithm

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 12 Last month
Rankings
Stargazers count: 3.3%
Forks count: 4.7%
Dependent packages count: 10.0%
Average: 17.0%
Dependent repos count: 21.7%
Downloads: 45.3%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @mapequation/infomap-parser

Infomap output parser

  • Versions: 3
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 6 Last month
Rankings
Forks count: 3.2%
Stargazers count: 3.3%
Dependent repos count: 10.4%
Average: 17.7%
Dependent packages count: 21.0%
Downloads: 50.5%
Maintainers (2)
Last synced: 6 months ago
npmjs.org: @mapequation/infomap-react

Infomap React hooks

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 1 Last month
Rankings
Forks count: 3.2%
Stargazers count: 3.3%
Dependent repos count: 10.4%
Average: 18.5%
Dependent packages count: 21.0%
Downloads: 54.8%
Maintainers (2)
Last synced: 6 months ago
conda-forge.org: python-infomap
  • Versions: 23
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Forks count: 18.8%
Stargazers count: 20.0%
Dependent repos count: 24.3%
Average: 28.7%
Dependent packages count: 51.6%
Last synced: 6 months ago
conda-forge.org: infomap

Multi-level network clustering based on the Map Equation.

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 17.5%
Stargazers count: 19.1%
Average: 30.5%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 6 months ago

Dependencies

.github/workflows/build.yml actions
  • actions/checkout v2 composite
.github/workflows/npm-build.yml actions
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
  • mymindstorm/setup-emsdk v9 composite
.github/workflows/npm-publish.yml actions
  • JS-DevTools/npm-publish v1 composite
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
  • mymindstorm/setup-emsdk v9 composite
.github/workflows/python-build.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/python-publish.yml actions
  • EndBug/add-and-commit v7.4.0 composite
  • actions/checkout v2 composite
  • actions/download-artifact v2 composite
  • actions/setup-node v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
.github/workflows/release.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v2 composite
  • softprops/action-gh-release v1 composite
docker-compose.yml docker
  • mapequation/infomap latest
  • mapequation/infomap notebook
interfaces/js/parser/package-lock.json npm
  • 104 dependencies
interfaces/js/parser/package.json npm
  • @babel/core ^7.2.2 development
  • @babel/runtime ^7.3.1 development
  • @rollup/plugin-babel ^5.2.0 development
  • @rollup/plugin-commonjs ^15.0.0 development
  • @rollup/plugin-node-resolve ^9.0.0 development
  • @rollup/plugin-typescript ^5.0.2 development
  • @rollup/plugin-url ^5.0.1 development
  • cross-env ^5.2.0 development
  • rollup ^2.26.9 development
  • rollup-plugin-peer-deps-external ^2.2.0 development
  • tslib ^2.0.1 development
  • typescript ^3.2.4 development
interfaces/js/react/package-lock.json npm
  • 110 dependencies
interfaces/js/react/package.json npm
  • @babel/core ^7.2.2 development
  • @babel/runtime ^7.3.1 development
  • @rollup/plugin-babel ^5.2.0 development
  • @rollup/plugin-commonjs ^15.0.0 development
  • @rollup/plugin-node-resolve ^9.0.0 development
  • @rollup/plugin-typescript ^5.0.2 development
  • @rollup/plugin-url ^5.0.1 development
  • @types/react >=16.9.0 development
  • cross-env ^5.2.0 development
  • rollup ^2.26.9 development
  • rollup-plugin-peer-deps-external ^2.2.0 development
  • tslib ^2.0.1 development
  • typescript ^3.2.4 development
package-lock.json npm
  • 308 dependencies
package.json npm
  • arraybuffer-loader ^1.0.8 development
  • conventional-commits-parser ^3.2.4 development
  • git-raw-commits ^2.0.11 development
  • prettier ^2.5.1 development
  • raw-loader ^4.0.2 development
  • standard-version ^9.3.2 development
  • ts-loader ^9.2.6 development
  • typescript ^4.5.4 development
  • webpack ^5.66.0 development
  • webpack-cli ^4.9.1 development
requirements_dev.txt pypi
  • autopep8 ==1.6.0 development
  • black ==22.3.0 development
  • flake8 ==4.0.1 development
  • isort ==5.10.1 development
  • matplotlib * development
  • networkx * development
  • pandas * development
  • scikit-learn * development
  • sphinx * development
  • twine * development