Python wrapper around Combo network partitioning algorythm (C++)
Project description
pyCOMBO
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?
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
- for now c++ sources duplicate https://github.com/Alexander-Belyi/Combo
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pycombo-0.1.0-cp37-cp37m-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6574aa9c9af6d25d208aaaef8346d67ea30679f15d6e7942724d4aa62717039 |
|
MD5 | 439ddfba3dfa5e2f12551920042dea79 |
|
BLAKE2b-256 | d6b6ea77d89c760373cbd00578d446aea830f3016f62b882afd82498c00fbf18 |