Skip to main content

No project description provided

Project description

pymocd logo

Python Multi-Objective Community Detection Algorithms

PyPI Publish Rust Compilation PyPI - Version PyPI - License

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


Download files

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

Source Distribution

pymocd-1.0.1.tar.gz (304.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pymocd-1.0.1-cp312-cp312-win_amd64.whl (173.2 kB view details)

Uploaded CPython 3.12Windows x86-64

pymocd-1.0.1-cp312-cp312-manylinux_2_34_x86_64.whl (279.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

pymocd-1.0.1-cp312-cp312-macosx_11_0_arm64.whl (242.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pymocd-1.0.1-cp311-cp311-win_amd64.whl (172.5 kB view details)

Uploaded CPython 3.11Windows x86-64

pymocd-1.0.1-cp311-cp311-manylinux_2_34_x86_64.whl (280.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

pymocd-1.0.1-cp311-cp311-macosx_11_0_arm64.whl (245.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pymocd-1.0.1-cp310-cp310-win_amd64.whl (172.3 kB view details)

Uploaded CPython 3.10Windows x86-64

pymocd-1.0.1-cp310-cp310-manylinux_2_34_x86_64.whl (279.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

pymocd-1.0.1-cp310-cp310-macosx_11_0_arm64.whl (245.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pymocd-1.0.1-cp39-cp39-win_amd64.whl (173.0 kB view details)

Uploaded CPython 3.9Windows x86-64

pymocd-1.0.1-cp39-cp39-manylinux_2_34_x86_64.whl (280.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

pymocd-1.0.1-cp39-cp39-macosx_11_0_arm64.whl (246.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pymocd-1.0.1-cp38-cp38-win_amd64.whl (172.8 kB view details)

Uploaded CPython 3.8Windows x86-64

pymocd-1.0.1-cp38-cp38-manylinux_2_34_x86_64.whl (279.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.34+ x86-64

pymocd-1.0.1-cp38-cp38-macosx_11_0_arm64.whl (245.9 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

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

Hashes for pymocd-1.0.1.tar.gz
Algorithm Hash digest
SHA256 4689625b0a2c4612ea8aec4d6204ecdb941704080108caf3248cf7b3ac17e8b3
MD5 344127ddf6c67124f4728a4472bee087
BLAKE2b-256 cc292328cb69b52fc0fe643fbce34cab1bf2b5dd087d4340faa2f6334e2b78ff

See more details on using hashes here.

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

Hashes for pymocd-1.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4a6c2f8056f63bdb61dd37b38e5a87a3ba450032ab9516ef3c31f075d9c0ef27
MD5 61e75b8f3c22a676028d16255ccaff50
BLAKE2b-256 bdab7624b7830d21d9322867ae797d908735a994baa5467279e0c38da6cef87e

See more details on using hashes here.

File details

Details for the file pymocd-1.0.1-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pymocd-1.0.1-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8e5c83541ffa79980bf572e0161985af7b591d66fd7e0d9a3a78a5bf5eb00089
MD5 f2c77a68bf204d86756899443338d040
BLAKE2b-256 967a1de52b5e2e12c6cbbefb56fe18198a11b3916296a792e2b5786fc6832e6f

See more details on using hashes here.

File details

Details for the file pymocd-1.0.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymocd-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab0b4f51101f2db9f322a0e62e2d2c168c98ecfa5765a015940ec1dc164bce60
MD5 a520afcd38c9a0afdcfdf8a1511d4e00
BLAKE2b-256 2c4d5930cff40bd572a74a1fcb015cd31d55bd879eb3f3689c1d6dd17431f073

See more details on using hashes here.

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

Hashes for pymocd-1.0.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 29d1a929b7a3f87c5c9afbf14d872c7db796b5f3a9340258fda23047b774724e
MD5 f19a2e70cfb2d1606678b211f2771968
BLAKE2b-256 53728921b8564a564d0958a93c3d951e52825847b57134db8c7fdf8ccae57518

See more details on using hashes here.

File details

Details for the file pymocd-1.0.1-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pymocd-1.0.1-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 aefeeb56fedc0032306f415c980a9bd46e0ed6894a917b8c2f93c0841f42a6da
MD5 66c5054d17637c9ecf8970595a9a0eac
BLAKE2b-256 8b75b8303061c114f3c6e1d46c248f918d92ccde867416616b76f8de189b0e2e

See more details on using hashes here.

File details

Details for the file pymocd-1.0.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymocd-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5b82af2fe47da8f12d054ff080db6f08e890dd470fae9b0452d076975b9a0043
MD5 25a26594a53e8f69f5d48cc6df39da39
BLAKE2b-256 253d29b16c273e8ed61174d0c6008e7fc80ae699c1ced31e964caebf4c073726

See more details on using hashes here.

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

Hashes for pymocd-1.0.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5f0fa9983baf9c7fa5d3e51c1ecdc7cbeb4f27c5777ad0e18a2d49639dc5f207
MD5 80d277b0b6fca711bae8b019f6d6352f
BLAKE2b-256 961b28a1a284d154bcfd4b4fe5ec606a002e9b9fdddec2b6e8f25266cf1b83b0

See more details on using hashes here.

File details

Details for the file pymocd-1.0.1-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pymocd-1.0.1-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 717b9ae0d5bd6e55e604b0595beb0338c107aef43bf7a3ee300a412d8056cd1e
MD5 2161258c2258bc78e62f0a3d9f2ecbf1
BLAKE2b-256 b2519090ae00947d7f7366738f19ede5e2419da7d3dcd58cade11e2ab3c05f59

See more details on using hashes here.

File details

Details for the file pymocd-1.0.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymocd-1.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 28b0d398841c97bce54dc9c1ce738c265dfa60b864d5ab199be8397c6d12d55d
MD5 eb9fba4bfb8aacd371bf5d8d5a3a78c3
BLAKE2b-256 3f5cc4ce938111b5b8dbce33b1d5a403471d80d5ef05d446ad0c637f03dbae51

See more details on using hashes here.

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

Hashes for pymocd-1.0.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e1c5299e19e698411fc08dcd693e2707904933471551799b608e122e90484cfc
MD5 8a1a5a543d93cf9507d795b10ca25c7f
BLAKE2b-256 e1fde4fa776e92a3ba175724c4b327b43745e510d358be008ed012ef11f8bec7

See more details on using hashes here.

File details

Details for the file pymocd-1.0.1-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pymocd-1.0.1-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b4b0bf7130069371b6abd97729a445ef399515e43d96f6cf22d14b693b55a194
MD5 a48ce43afb932bb1671b2bb944704148
BLAKE2b-256 e196a264b0e5b5aa9ea9c58f6bcb645b152faefcb3490e43baf8eb239844cffd

See more details on using hashes here.

File details

Details for the file pymocd-1.0.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymocd-1.0.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f8dd7d83114baa98c4a74863bbd4c6ed156b32b8767790c15093221a7d72eea
MD5 4c676b918d7e5c0d058c5bc91fc22f27
BLAKE2b-256 6b659baa725119887acf75571f0cbdf16e02b108ab4e5e3dc6acba1923e3cb90

See more details on using hashes here.

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

Hashes for pymocd-1.0.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 90e0e11e8309a316cac0fe3d5a625ddc835282355e49f38a8cc7d0c33d7c971e
MD5 b974cf10aa7af6a90650a3ea4e191e63
BLAKE2b-256 dae86e322a9549812fb20dc7429a5a741bad13ccab259cd97acb0cfb79554ca8

See more details on using hashes here.

File details

Details for the file pymocd-1.0.1-cp38-cp38-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pymocd-1.0.1-cp38-cp38-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b1bfabfe9eb4c1293e463a2618ad20671f64bb7bcdc5c98373b7bf3c08ad34e5
MD5 044308fafd134d04858bd19592fcc9fe
BLAKE2b-256 66a7af24799f68ae2ab01eb762cc8b7bf20188f4295b191aab429bf90ac14d87

See more details on using hashes here.

File details

Details for the file pymocd-1.0.1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymocd-1.0.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7112ba0d89c48937b5251b4f437af90941ed7cb01854cad9073c0bfaeff8ec7a
MD5 3cf4a5fe80aca7b346a8e84d002b3eae
BLAKE2b-256 a793552714dac9533f9da4c1fa7640a6d6279970b24d46cda3b57a44c211750e

See more details on using hashes here.

Supported by

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