Skip to main content

Python wrapper around Combo network partitioning algorythm (C++)

Project description

pyCOMBO

CI

pyCombo is a python wrapper around C++ implementation of the [network] community detection algorithm called "Combo".

Details of the algorithm are described in the paper "General optimization technique for high-quality community detection in the paper:

Sobolevsky, S., Campari, R., Belyi, A. and Ratti, C., 2014. General optimization technique for high-quality community detection in complex networks. Physical Review E, 90(1), p.012811.

Installation

You can install current version of pycombo from github by executing

python -m pip install https://github.com/Casyfill/pyCombo/archive/master.tar.gz#egg=pycombo

Example

The basic usage is as follows:

import pycombo
import networkx as nx

partition = pycombo.execute(nx.karate_club_graph())

More examples could be found in example folder.

Dependencies

pyCombo does not have any dependency, yet it was created having NetworkX module in mind.

Why Combo?

algorithm comparison

Combo achieves hight quality of partitioning, while being less greedy in terms of computation, than other algorithms.

More information

Licensing

All copiryghts and licensing is same as covered in the initial package

Roadmap

  • Initial release ASIS
  • Tests, Travis Ci, Coveralls
  • Package delivery, setup.py
  • Installation via pip
  • Unweighted graph
  • Switched to Github Actions
  • Switch to poetry
  • Assert reproducibility (random seed)
  • Setup pybind11 binding
  • Directed graph
  • Add documentation
  • Full testing
  • Clean and publish to PyPI
  • Performance (speed) benchmarks
  • Exceptions
  • Logging

Notes and issues

Development

Feel free to fork this repo and submit pull requests.

Local development

Run poetry install in order to install local (dev) code. It will be installed in editable mode within poetry environment.

Build

To build distributions run poetry build.

Links and resources

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycombo-0.1.0.tar.gz (147.2 kB view hashes)

Uploaded Source

Built Distribution

pycombo-0.1.0-cp37-cp37m-manylinux_2_31_x86_64.whl (103.4 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.31+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page