No project description provided
Project description
pymocd is a Python library, powered by a Rust backend, for performing efficient multi-objective evolutionary community detection in complex networks. This library is designed to deliver enhanced performance compared to traditional methods, making it particularly well-suited for analyzing large-scale graphs.
Navigate the Documentation for detailed guidance and usage instructions.
Table of Contents
Understanding Community Detection with HP-MOCD
The HP-MOCD algorithm, central to pymocd, identifies community structures within a graph. It proposes a solution by grouping nodes into distinct communities, as illustrated below:
| Original Graph | Proposed Community Structure |
|---|---|
Getting Started
Install the library by pip interface:
pip install pymocd
And refer to the official Documentation for detailed instructions and usage examples.
Key Features
- High-Performance Backend: Leverages Rust for computationally intensive tasks, ensuring speed and efficiency.
- Multi-Objective Optimization: Employs multi-objective evolutionary algorithms to find nuanced community structures.
- Scalability: Designed to handle large graphs effectively.
- User-Friendly Python API: Offers an easy-to-use interface for Python developers.
Contributing
We welcome contributions to pymocd! If you have ideas for new features, bug fixes, or other improvements, please feel free to open an issue or submit a pull request. This project is licensed under the GPL-3.0 or later.
Citation
If you use pymocd or the HP-MOCD algorithm in your research, please cite the following paper:
@article{santos2025hpmocd,
author = {Guilherme O. Santos, Lucas S. Vieira, Giulio Rossetti, Carlos H. G. Ferreira and Gladston J. P. Moreira},
title = {HP-MOCD: A High-Performance Multi-Objective Community Detection Algorithm for Large-Scale Networks},
journal = {The 17th International Conference on Advances in Social Networks Analysis and Mining},
year = {2025},
volume = {X},
number = {X},
pages = {XX--XX},
doi = {XX.XXXX/XXXXXX},
abstract = {Community detection in social networks has traditionally been approached as a single-objective optimization problem, with various heuristics targeting specific community-defining metrics. However, this approach often proves inadequate for capturing the multifaceted nature of communities. We introduce HP-MOCD, a fully parallelized, evolutionary high-performance multi-objective community detection algorithm designed specifically for large-scale networks. Our implementation overcomes the computational challenges that typically limit multi-objective approaches in this domain. While performance may decrease with networks containing high proportions of inter-community edges, extensive evaluations on synthetic datasets demonstrate that HP-MOCD achieves an exceptional balance between scalability and detection accuracy. Available as open-source software, HP-MOCD offers researchers and practitioners a practical, powerful solution for complex network analysis, particularly for applications requiring both efficiency and detection quality.},
keywords = {community detection, complex networks, evolutionary algorithms, genetic algorithms, multi-objective},
note = {Currently under analysis by the journal}
}
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 Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pymocd-1.0.1.tar.gz.
File metadata
- Download URL: pymocd-1.0.1.tar.gz
- Upload date:
- Size: 304.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4689625b0a2c4612ea8aec4d6204ecdb941704080108caf3248cf7b3ac17e8b3
|
|
| MD5 |
344127ddf6c67124f4728a4472bee087
|
|
| BLAKE2b-256 |
cc292328cb69b52fc0fe643fbce34cab1bf2b5dd087d4340faa2f6334e2b78ff
|
File details
Details for the file pymocd-1.0.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 173.2 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a6c2f8056f63bdb61dd37b38e5a87a3ba450032ab9516ef3c31f075d9c0ef27
|
|
| MD5 |
61e75b8f3c22a676028d16255ccaff50
|
|
| BLAKE2b-256 |
bdab7624b7830d21d9322867ae797d908735a994baa5467279e0c38da6cef87e
|
File details
Details for the file pymocd-1.0.1-cp312-cp312-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp312-cp312-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 279.1 kB
- Tags: CPython 3.12, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e5c83541ffa79980bf572e0161985af7b591d66fd7e0d9a3a78a5bf5eb00089
|
|
| MD5 |
f2c77a68bf204d86756899443338d040
|
|
| BLAKE2b-256 |
967a1de52b5e2e12c6cbbefb56fe18198a11b3916296a792e2b5786fc6832e6f
|
File details
Details for the file pymocd-1.0.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 242.5 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab0b4f51101f2db9f322a0e62e2d2c168c98ecfa5765a015940ec1dc164bce60
|
|
| MD5 |
a520afcd38c9a0afdcfdf8a1511d4e00
|
|
| BLAKE2b-256 |
2c4d5930cff40bd572a74a1fcb015cd31d55bd879eb3f3689c1d6dd17431f073
|
File details
Details for the file pymocd-1.0.1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 172.5 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29d1a929b7a3f87c5c9afbf14d872c7db796b5f3a9340258fda23047b774724e
|
|
| MD5 |
f19a2e70cfb2d1606678b211f2771968
|
|
| BLAKE2b-256 |
53728921b8564a564d0958a93c3d951e52825847b57134db8c7fdf8ccae57518
|
File details
Details for the file pymocd-1.0.1-cp311-cp311-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp311-cp311-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 280.1 kB
- Tags: CPython 3.11, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aefeeb56fedc0032306f415c980a9bd46e0ed6894a917b8c2f93c0841f42a6da
|
|
| MD5 |
66c5054d17637c9ecf8970595a9a0eac
|
|
| BLAKE2b-256 |
8b75b8303061c114f3c6e1d46c248f918d92ccde867416616b76f8de189b0e2e
|
File details
Details for the file pymocd-1.0.1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 245.7 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b82af2fe47da8f12d054ff080db6f08e890dd470fae9b0452d076975b9a0043
|
|
| MD5 |
25a26594a53e8f69f5d48cc6df39da39
|
|
| BLAKE2b-256 |
253d29b16c273e8ed61174d0c6008e7fc80ae699c1ced31e964caebf4c073726
|
File details
Details for the file pymocd-1.0.1-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 172.3 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f0fa9983baf9c7fa5d3e51c1ecdc7cbeb4f27c5777ad0e18a2d49639dc5f207
|
|
| MD5 |
80d277b0b6fca711bae8b019f6d6352f
|
|
| BLAKE2b-256 |
961b28a1a284d154bcfd4b4fe5ec606a002e9b9fdddec2b6e8f25266cf1b83b0
|
File details
Details for the file pymocd-1.0.1-cp310-cp310-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp310-cp310-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 279.6 kB
- Tags: CPython 3.10, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
717b9ae0d5bd6e55e604b0595beb0338c107aef43bf7a3ee300a412d8056cd1e
|
|
| MD5 |
2161258c2258bc78e62f0a3d9f2ecbf1
|
|
| BLAKE2b-256 |
b2519090ae00947d7f7366738f19ede5e2419da7d3dcd58cade11e2ab3c05f59
|
File details
Details for the file pymocd-1.0.1-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 245.8 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28b0d398841c97bce54dc9c1ce738c265dfa60b864d5ab199be8397c6d12d55d
|
|
| MD5 |
eb9fba4bfb8aacd371bf5d8d5a3a78c3
|
|
| BLAKE2b-256 |
3f5cc4ce938111b5b8dbce33b1d5a403471d80d5ef05d446ad0c637f03dbae51
|
File details
Details for the file pymocd-1.0.1-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 173.0 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1c5299e19e698411fc08dcd693e2707904933471551799b608e122e90484cfc
|
|
| MD5 |
8a1a5a543d93cf9507d795b10ca25c7f
|
|
| BLAKE2b-256 |
e1fde4fa776e92a3ba175724c4b327b43745e510d358be008ed012ef11f8bec7
|
File details
Details for the file pymocd-1.0.1-cp39-cp39-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp39-cp39-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 280.0 kB
- Tags: CPython 3.9, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4b0bf7130069371b6abd97729a445ef399515e43d96f6cf22d14b693b55a194
|
|
| MD5 |
a48ce43afb932bb1671b2bb944704148
|
|
| BLAKE2b-256 |
e196a264b0e5b5aa9ea9c58f6bcb645b152faefcb3490e43baf8eb239844cffd
|
File details
Details for the file pymocd-1.0.1-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 246.0 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f8dd7d83114baa98c4a74863bbd4c6ed156b32b8767790c15093221a7d72eea
|
|
| MD5 |
4c676b918d7e5c0d058c5bc91fc22f27
|
|
| BLAKE2b-256 |
6b659baa725119887acf75571f0cbdf16e02b108ab4e5e3dc6acba1923e3cb90
|
File details
Details for the file pymocd-1.0.1-cp38-cp38-win_amd64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 172.8 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90e0e11e8309a316cac0fe3d5a625ddc835282355e49f38a8cc7d0c33d7c971e
|
|
| MD5 |
b974cf10aa7af6a90650a3ea4e191e63
|
|
| BLAKE2b-256 |
dae86e322a9549812fb20dc7429a5a741bad13ccab259cd97acb0cfb79554ca8
|
File details
Details for the file pymocd-1.0.1-cp38-cp38-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp38-cp38-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 279.9 kB
- Tags: CPython 3.8, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1bfabfe9eb4c1293e463a2618ad20671f64bb7bcdc5c98373b7bf3c08ad34e5
|
|
| MD5 |
044308fafd134d04858bd19592fcc9fe
|
|
| BLAKE2b-256 |
66a7af24799f68ae2ab01eb762cc8b7bf20188f4295b191aab429bf90ac14d87
|
File details
Details for the file pymocd-1.0.1-cp38-cp38-macosx_11_0_arm64.whl.
File metadata
- Download URL: pymocd-1.0.1-cp38-cp38-macosx_11_0_arm64.whl
- Upload date:
- Size: 245.9 kB
- Tags: CPython 3.8, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7112ba0d89c48937b5251b4f437af90941ed7cb01854cad9073c0bfaeff8ec7a
|
|
| MD5 |
3cf4a5fe80aca7b346a8e84d002b3eae
|
|
| BLAKE2b-256 |
a793552714dac9533f9da4c1fa7640a6d6279970b24d46cda3b57a44c211750e
|