NetworKit bindings for KaMinPar
Project description
NetworKit Bindings for KaMinPar
KaMinPar is a shared-memory parallel tool to heuristically solve the graph partitioning problem: divide a graph into k disjoint blocks of roughly equal weight while minimizing the number of edges between blocks. This Python package provides bindings to KaMinPar and integrates with the NetworKit library to offer a fast and scalable graph partitioning algorithm.
Installation
You can install the NetworKit bindings for KaMinPar via pip:
pip install kaminpar-networkit
Alternatively, you can build the bindings from source:
git clone https://github.com/KaHiP/KaMinPar.git
pip install KaMinPar/bindings/networkit
When building the NetworKit bindings from source, the dependencies of KaMinPar must be available on the system. These include CMake, Intel TBB and Sparsehash. Additionally, if you install the package via pip on a target system and Python version where no pre-built wheel is available, the package will fall back to building from the source distribution. In this case, you must also ensure that the required dependencies are installed on your system.
Usage
The following is a basic example of how to use the KaMinPar bindings. For the full API documentation, refer to the documentation file.
import kaminpar_networkit as kaminpar
import networkit
# Use NetworKit to read a graph from disk stored in METIS format and output statistics for the graph.
graph = networkit.readGraph("hyperlink.metis", networkit.Format.METIS)
networkit.overview(graph)
# Create a KaMinPar instance and compute a partition of the graph into four blocks using imbalance factor 3%.
shm = kaminpar.KaMinPar(graph)
partition = shm.computePartitionWithEpsilon(4, 0.03)
edge_cut = networkit.community.EdgeCut().getQuality(partition, graph)
print("Computed a partition with an edge cut of", edge_cut)
License
The NetworKit bindings for KaMinPar and KaMinPar are free software provided under the MIT license. If you use KaMinPar in an academic setting, please cite the appropriate publication(s) listed below.
// KaMinPar
@InProceedings{DeepMultilevelGraphPartitioning,
author = {Lars Gottesb{\"{u}}ren and
Tobias Heuer and
Peter Sanders and
Christian Schulz and
Daniel Seemaier},
title = {Deep Multilevel Graph Partitioning},
booktitle = {29th Annual European Symposium on Algorithms, {ESA} 2021},
series = {LIPIcs},
volume = {204},
pages = {48:1--48:17},
publisher = {Schloss Dagstuhl - Leibniz-Zentrum f{\"{u}}r Informatik},
year = {2021},
url = {https://doi.org/10.4230/LIPIcs.ESA.2021.48},
doi = {10.4230/LIPIcs.ESA.2021.48}
}
// dKaMinPar (distributed KaMinPar)
@InProceedings{DistributedDeepMultilevelGraphPartitioning,
author = {Sanders, Peter and Seemaier, Daniel},
title = {Distributed Deep Multilevel Graph Partitioning},
booktitle = {Euro-Par 2023: Parallel Processing},
year = {2023},
publisher = {Springer Nature Switzerland},
pages = {443--457},
isbn = {978-3-031-39698-4}
}
// [x]TeraPart (memory-efficient [d]KaMinPar)
@misc{TeraPart,
title={Tera-Scale Multilevel Graph Partitioning},
author={Daniel Salwasser and Daniel Seemaier and Lars Gottesbüren and Peter Sanders},
year={2024},
eprint={2410.19119},
archivePrefix={arXiv},
primaryClass={cs.DS},
url={https://arxiv.org/abs/2410.19119},
}
// Worst-Case Linear-Time Multilevel Graph Partitioning
@misc{LinearTimeMGP,
title={Linear-Time Multilevel Graph Partitioning via Edge Sparsification},
author={Lars Gottesbüren and Nikolai Maas and Dominik Rosch and Peter Sanders and Daniel Seemaier},
year={2025},
eprint={2504.17615},
archivePrefix={arXiv},
primaryClass={cs.DS},
url={https://arxiv.org/abs/2504.17615},
}
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
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 kaminpar_networkit-3.7.3.tar.gz.
File metadata
- Download URL: kaminpar_networkit-3.7.3.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6173d3e46360549eac2febfa6e8c8f1f1c321e858245469b681322bfd8e83172
|
|
| MD5 |
b4ce18c791183512c106072cd3b0fbab
|
|
| BLAKE2b-256 |
f362ecac1729722a6052599b8a14c7af65f8114d9c352553493eccaaa94b8327
|
Provenance
The following attestation bundles were made for kaminpar_networkit-3.7.3.tar.gz:
Publisher:
networkit_wheels.yml on KaHIP/KaMinPar
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kaminpar_networkit-3.7.3.tar.gz -
Subject digest:
6173d3e46360549eac2febfa6e8c8f1f1c321e858245469b681322bfd8e83172 - Sigstore transparency entry: 1188381615
- Sigstore integration time:
-
Permalink:
KaHIP/KaMinPar@00fa1ef4150b558a1260918fe8dc49dae048ea62 -
Branch / Tag:
refs/tags/v3.7.3 - Owner: https://github.com/KaHIP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
networkit_wheels.yml@00fa1ef4150b558a1260918fe8dc49dae048ea62 -
Trigger Event:
push
-
Statement type:
File details
Details for the file kaminpar_networkit-3.7.3-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: kaminpar_networkit-3.7.3-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06fe64d330940a2c107235396cd65c8b117da6e4fcfdbea961a4a6fff3c6e119
|
|
| MD5 |
9d1a5998726ac218fb56ca20bfd5c927
|
|
| BLAKE2b-256 |
cd9ccf79d2cfb43026265a0caf18da4d2e6c4311c828b69ed98fd44eab118749
|
Provenance
The following attestation bundles were made for kaminpar_networkit-3.7.3-cp313-cp313-manylinux_2_28_x86_64.whl:
Publisher:
networkit_wheels.yml on KaHIP/KaMinPar
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kaminpar_networkit-3.7.3-cp313-cp313-manylinux_2_28_x86_64.whl -
Subject digest:
06fe64d330940a2c107235396cd65c8b117da6e4fcfdbea961a4a6fff3c6e119 - Sigstore transparency entry: 1188381618
- Sigstore integration time:
-
Permalink:
KaHIP/KaMinPar@00fa1ef4150b558a1260918fe8dc49dae048ea62 -
Branch / Tag:
refs/tags/v3.7.3 - Owner: https://github.com/KaHIP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
networkit_wheels.yml@00fa1ef4150b558a1260918fe8dc49dae048ea62 -
Trigger Event:
push
-
Statement type:
File details
Details for the file kaminpar_networkit-3.7.3-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: kaminpar_networkit-3.7.3-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8e05d0aa9b97eb25554362acd3a548b10704d8a1ca5a2f1a1606f7c29dca112
|
|
| MD5 |
6eb0f976fa7f8c552dd8f3defea61b76
|
|
| BLAKE2b-256 |
a458be54ac4cd71bf43066b48c04df01635274954fe6e6a92df5e49345f6bf4d
|
Provenance
The following attestation bundles were made for kaminpar_networkit-3.7.3-cp312-cp312-manylinux_2_28_x86_64.whl:
Publisher:
networkit_wheels.yml on KaHIP/KaMinPar
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kaminpar_networkit-3.7.3-cp312-cp312-manylinux_2_28_x86_64.whl -
Subject digest:
c8e05d0aa9b97eb25554362acd3a548b10704d8a1ca5a2f1a1606f7c29dca112 - Sigstore transparency entry: 1188381619
- Sigstore integration time:
-
Permalink:
KaHIP/KaMinPar@00fa1ef4150b558a1260918fe8dc49dae048ea62 -
Branch / Tag:
refs/tags/v3.7.3 - Owner: https://github.com/KaHIP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
networkit_wheels.yml@00fa1ef4150b558a1260918fe8dc49dae048ea62 -
Trigger Event:
push
-
Statement type:
File details
Details for the file kaminpar_networkit-3.7.3-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: kaminpar_networkit-3.7.3-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6426876cedca6c9f3fc8afd4c68f16383a890b7dc006174ad7a4268117016dcd
|
|
| MD5 |
2a4b7dda8ab771e50632b5228ba479ed
|
|
| BLAKE2b-256 |
bf04365333f546e5c80e7cf8f861b473f9b0acb8fa539ec4c1fab12222e914c4
|
Provenance
The following attestation bundles were made for kaminpar_networkit-3.7.3-cp311-cp311-manylinux_2_28_x86_64.whl:
Publisher:
networkit_wheels.yml on KaHIP/KaMinPar
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kaminpar_networkit-3.7.3-cp311-cp311-manylinux_2_28_x86_64.whl -
Subject digest:
6426876cedca6c9f3fc8afd4c68f16383a890b7dc006174ad7a4268117016dcd - Sigstore transparency entry: 1188381623
- Sigstore integration time:
-
Permalink:
KaHIP/KaMinPar@00fa1ef4150b558a1260918fe8dc49dae048ea62 -
Branch / Tag:
refs/tags/v3.7.3 - Owner: https://github.com/KaHIP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
networkit_wheels.yml@00fa1ef4150b558a1260918fe8dc49dae048ea62 -
Trigger Event:
push
-
Statement type:
File details
Details for the file kaminpar_networkit-3.7.3-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: kaminpar_networkit-3.7.3-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49d740398b8896c0869236c276a8621c36262e20e1294d7d4ca27d5f22aa1a28
|
|
| MD5 |
437642727cdfe1fab817e81407b2b2da
|
|
| BLAKE2b-256 |
debcd27fba284df02bdb36e2d5ffd81b2749aec6d5fd7549f7dc06e1cb1a2efe
|
Provenance
The following attestation bundles were made for kaminpar_networkit-3.7.3-cp310-cp310-manylinux_2_28_x86_64.whl:
Publisher:
networkit_wheels.yml on KaHIP/KaMinPar
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kaminpar_networkit-3.7.3-cp310-cp310-manylinux_2_28_x86_64.whl -
Subject digest:
49d740398b8896c0869236c276a8621c36262e20e1294d7d4ca27d5f22aa1a28 - Sigstore transparency entry: 1188381628
- Sigstore integration time:
-
Permalink:
KaHIP/KaMinPar@00fa1ef4150b558a1260918fe8dc49dae048ea62 -
Branch / Tag:
refs/tags/v3.7.3 - Owner: https://github.com/KaHIP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
networkit_wheels.yml@00fa1ef4150b558a1260918fe8dc49dae048ea62 -
Trigger Event:
push
-
Statement type: