Skip to main content

NetworKit is a toolbox for high-performance network analysis

Project description


NetworKit - Large-scale Network Analysis

NetworKit

High-performance tools for large-scale network analysis
Explore the docs »

Try Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Building from Source
  5. Documentation
  6. Contributing
  7. License
  8. Contact
  9. Publications

About The Project

NetworKit is an open-source toolkit for high-performance network analysis, designed to handle large networks ranging from thousands to billions of edges. Built with efficiency and scalability at its core, NetworKit implements parallel graph algorithms that leverage multicore architectures to compute standard measures of network analysis.

As both a production tool and a research testbed for algorithm engineering, NetworKit includes novel algorithms from recent publications alongside battle-tested implementations. The toolkit is available as a Python module with high-performance C++ algorithms exposed through Cython, combining Python's interactivity and rich ecosystem with C++'s computational efficiency.

(back to top)

Key Features

  • Scalable: Analyze networks with billions of edges
  • Fast: Parallel algorithms utilizing multicore architectures
  • Comprehensive: Wide range of network analysis algorithms
  • Interactive: Python interface with Jupyter notebook support
  • Flexible: Available as Python module or standalone C++ library
  • Research-ready: Includes state-of-the-art algorithms from recent publications

(back to top)

Getting Started

Installation

Python Module

For most users, NetworKit can be installed directly via package managers with no additional requirements other than Python 3.9+.

Package Manager Command
pip pip install networkit
conda conda install -c conda-forge networkit
brew brew install networkit
spack spack install py-networkit

C++ Core Library Only

If you only need the C++ core without Python bindings:

Package Manager Command
conda conda install -c conda-forge libnetworkit
brew brew install libnetworkit
spack spack install libnetworkit

More platform-specific installation instructions can be found in our getting started guide.

(back to top)

Usage

Here's a quick example showing how to generate a random hyperbolic graph with 100k nodes and detect communities:

from networkit.generators import HyperbolicGenerator
from networkit.community import detectCommunities

# Generate a random hyperbolic graph
g = (
    HyperbolicGenerator(1e5)
    .generate()
)

# Detect communities
detectCommunities(g, inspect=True)

Output:

PLM(balanced,pc,turbo) detected communities in 0.14577102661132812 [s]
solution properties:
-------------------  -----------
# communities        4536
min community size      1
max community size   2790
avg. community size    22.0459
modularity              0.987243
-------------------  -----------

More Examples

Compute PageRank to rank nodes by importance:

from networkit.centrality import PageRank

pr = (
    PageRank(g)
    .run()
)
top_nodes = pr.ranking()[:10]

Analyze graph structure with connected components:

from networkit.components import ConnectedComponents

cc = (
    ConnectedComponents(g)
    .run()
)
print(f"Components: {cc.numberOfComponents()}")
print(f"Largest: {max(cc.getComponentSizes().values())}")

For comprehensive examples and tutorials, explore our interactive notebooks, especially the NetworKit User Guide. You can try NetworKit directly in your browser using our Binder instance.

(back to top)

Building from Source

Prerequisites

Building from source requires:

  • C++ Compiler: g++ (>= 10.0), clang++ (>= 11.0), or MSVC (>= 14.30)
  • OpenMP: For parallelism (usually included with compiler)
  • Python: 3.9 or higher with development libraries
    • Debian/Ubuntu: apt-get install python3-dev
    • RHEL/CentOS: dnf install python3-devel
    • Windows: Official installer
  • CMake: Version 3.6 or higher
  • Build System: Make or Ninja

Python Module

git clone https://github.com/networkit/networkit networkit
cd networkit
pip install cython numpy setuptools wheel
python setup.py build_ext [-jX]
pip install -e .

The -jX option specifies the number of threads for compilation (e.g., -j4 for 4 threads). If omitted, it uses all available CPU cores.

C++ Core Library

mkdir build && cd build
cmake ..
make -jX
sudo make install

Using NetworKit in Your C++ Project

After installation, include NetworKit headers:

#include <networkit/graph/Graph.hpp>

Compile your project:

g++ my_file.cpp -lnetworkit

Running Unit Tests

To build and run tests:

cmake -DNETWORKIT_BUILD_TESTS=ON ..
make
./networkit_tests --gtest_filter=CentralityGTest.testBetweennessCentrality

Building with Sanitizers

For debugging with address/leak sanitizers:

cmake -DNETWORKIT_WITH_SANITIZERS=leak ..

(back to top)

Documentation

The complete documentation is available online at networkit.github.io.

(back to top)

Contributing

We welcome contributions to NetworKit! Whether you're fixing bugs, adding features, or improving documentation, your help makes NetworKit better for everyone.

  1. Check our development guide for instructions
  2. Browse open issues or open a new one
  3. Fork the repository and create your feature branch
  4. Submit a pull request

For support, join our mailing list.

(back to top)

License

Distributed under the MIT License. We ask that you cite us if you use NetworKit in your research (see our technical report and publications page).

(back to top)

Contact

(back to top)

Publications

NetworKit has been used in numerous research projects. Visit our publications page for a complete list of papers about NetworKit, algorithms implemented in NetworKit, and research using NetworKit.

(back to top)

Credits

NetworKit is developed by a dedicated team of researchers and contributors. View the full list of contributors on our credits page.

(back to top)

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

networkit-11.2.tar.gz (7.0 MB view details)

Uploaded Source

Built Distributions

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

networkit-11.2-cp313-cp313-win_amd64.whl (29.8 MB view details)

Uploaded CPython 3.13Windows x86-64

networkit-11.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (11.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

networkit-11.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

networkit-11.2-cp313-cp313-macosx_15_0_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

networkit-11.2-cp313-cp313-macosx_15_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

networkit-11.2-cp312-cp312-win_amd64.whl (29.8 MB view details)

Uploaded CPython 3.12Windows x86-64

networkit-11.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (11.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

networkit-11.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

networkit-11.2-cp312-cp312-macosx_15_0_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

networkit-11.2-cp312-cp312-macosx_15_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

networkit-11.2-cp311-cp311-win_amd64.whl (29.9 MB view details)

Uploaded CPython 3.11Windows x86-64

networkit-11.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (11.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

networkit-11.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

networkit-11.2-cp311-cp311-macosx_15_0_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

networkit-11.2-cp311-cp311-macosx_15_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

networkit-11.2-cp310-cp310-win_amd64.whl (29.9 MB view details)

Uploaded CPython 3.10Windows x86-64

networkit-11.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (11.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

networkit-11.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

networkit-11.2-cp310-cp310-macosx_15_0_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

networkit-11.2-cp310-cp310-macosx_15_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

File details

Details for the file networkit-11.2.tar.gz.

File metadata

  • Download URL: networkit-11.2.tar.gz
  • Upload date:
  • Size: 7.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for networkit-11.2.tar.gz
Algorithm Hash digest
SHA256 6dad0625bd795591ad46820a69c927b749c9ac34368b8100dbfb818d2d20b08d
MD5 770568fbf4ac9d0bcb5e6f84d1e413c8
BLAKE2b-256 ab9b9237fe5e53bd88e5f797d12fe80c4d0154c5202634873b0a4b042f7d3970

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: networkit-11.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 29.8 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for networkit-11.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3e2ba9199a981f334adaa3185301ddd211aeb6088cf2ec38027cc8ccd9e0b328
MD5 646dc14eca064d60d9ea7dff62d63533
BLAKE2b-256 32195f13b2edecf5575f434fa1944ef9a94a61feb759b07f22b6a8f91f30d591

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cb35ab1368f86c4b764fe70a94d5d3b2d30eee70618c9832e5ddbb19db5fdb59
MD5 be56af2246b56dd17909430398b36826
BLAKE2b-256 0514978d59e4153c4213ea4e9112f72e7c4ca90d887f8b5b7eb2ec4e32b4c699

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 4fe32f6d80046550e058cfb9b9d15648ff0e2f3e9de7b8106b4d385f00697fb6
MD5 63fd54681f41b7c4bd878696117a7d56
BLAKE2b-256 298f58ab6200528af0d1cf8bd4ba748fc930b111ce68df0bd7aa79c006efbe61

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp313-cp313-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 0db942c4eb51b8f7ee96d23a3b8d278fcaa65c2b39c567115141aa9965535830
MD5 bb46a4a3467259f7f81d9474f3d64b8e
BLAKE2b-256 35a457c358b8b810169c042db5c34dec5f5a8e9f2a47d5801ab7aae2d808c565

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 55c034c5741628c1dc54d64d8ea86be0ea6ff06a01ec445c8d78dd077ed7b544
MD5 886090de791f23686794a09cdadb4487
BLAKE2b-256 332b44e82a68ab771307bbac07ec3b589a651353405fe796c526961bcf2f8a00

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: networkit-11.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 29.8 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for networkit-11.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 36edff838daaa80a603ba375ce4df7a162e03f1cdf6c666dbc65a62807ad8fb2
MD5 190661c4ac6c58b5a1239f1be3b83c9c
BLAKE2b-256 22ea75b347c6430f67bf813c5f6e314a70de115bd4754678de14f5102672b5ad

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cb2b997f27148f301b2a12517d8ca606b7e86088279e1282fc24f651691c97c9
MD5 f9716523e125097066fef699cad182a1
BLAKE2b-256 f41da46b62f32e769fb7704cdc9d09937eea0ec8f9127b6c1ba1f609d3567f87

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a2227135f01856caf077928a3e5b27f0aeb5734f1bfa5174e8510f975b732ff6
MD5 2ed1a10e38683da2d2a2eeca3bcb0ce2
BLAKE2b-256 54cfadb5594fb1c06ed5f032fd618185d62721bf3380b8bbef5742df24e16ecb

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 53ae4298d13f7e13e3e362d5cc346954fccf516c9b2c525c02740840c7c338a1
MD5 32ef2e92dba2c0d26cae56e18adc4332
BLAKE2b-256 332b545886c4d00f11a123da492940517c2e739c14331e43df066d68a468cc3d

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 b7bb7e034a087f0749b404ae7b9af2b125e00091adb33808e0f22cd6e6dcd6ef
MD5 ef965235f9b4274370661940078ef03c
BLAKE2b-256 9a688c66340ec8baf5405827c364d5ccdf5a97c044583a4f04578f36a1b09598

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: networkit-11.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 29.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for networkit-11.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 236fde0702644238ddf5c4916c326c6c6b550eea7df948c353dc4285adbbd459
MD5 ca69eb721090f92c12b717833636a144
BLAKE2b-256 377747b95b28684d7c5789ba77cad6bd582775dee4ee19e1130d3fa009a8ef38

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9a588b966623e078102e2f9e0f4634f76a410a23d2a061645c66b971dd24b9ef
MD5 1aa8b5641d5b87b02913d74306257d7e
BLAKE2b-256 03fd06b2b648e100b6ec1afa0a73e7faa024b42c6078441391b2bf9067e251d4

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 16beda1ae5d4992e3586375c709eb5e0d00c3067f6f80538525b413f5832a52c
MD5 9c96a6e9f8d1ef541b1b3b044ec33cef
BLAKE2b-256 f89b3175f3cfba9e7588a8e0aa63ffe9c9a818bd5cf999a84131c53e51219923

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 0274416e1f6ab50ce142c9d6ddab0c5c95fe1ae1d4650dbdae98b1b52ec43d87
MD5 b9832509b282d4b258a368105c0ee988
BLAKE2b-256 81b422d39381326a74d3fb39ee9234576a206942f46d2f41628f0b9f54cae1ee

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 2148fbfcd02a2126ec1e242fd8b9546516549fc5879415f3bd5c9370e88a968a
MD5 3382e897e06667aa4173ab605d42507d
BLAKE2b-256 1b58c38ba4fe56b83d357086b28b52376cfbcee32f126e8b81580279332a0cfa

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: networkit-11.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 29.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for networkit-11.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1763491d76aa0b4dd6b1b2676dbd9b9eb70198942575b5c45d7b81bcf5a31002
MD5 e03733a9e6e44389200809466e953c78
BLAKE2b-256 958a21f497f016086de19347f1aa61c5d1ff3cd9d2f123e275cf1bebbbdf9d8e

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 48a2a8f3b67f6d51faf48773016edeeeb99459e759a7b626826622244a2e62d8
MD5 ef245eba16433bfca7a4229fc1b9c539
BLAKE2b-256 0ba759e252b36d91c59936e6ab4929958732b825712e8c88fd0ab09149d0fd3b

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 597d35a5a87b8c83bb2b346c0bd781a810b923e2cf0a6b3a0370cca06e773436
MD5 bfc3560bebd2c31fe8ffea6c5b2cf870
BLAKE2b-256 18b8d456baa7f9e356746e2468b9b1a1d270d774b246c1f9536ea3efc640de4a

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp310-cp310-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 73962587ee1a8ccf8155977cab328115027e6ebcc846fe5df43ea2c78973d659
MD5 fd38f5aae0a7e5b492447cd8849c84b0
BLAKE2b-256 d395a7d2a7f54094800db4a8256dcc5091f70e8fdc3ec68a26585b885e709674

See more details on using hashes here.

File details

Details for the file networkit-11.2-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for networkit-11.2-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 9a4fcb83367c721c241216e67ce1c3578137e71ec593964e5dcd2853274ced41
MD5 130333ec04a7e59ed52aaf98c7eedec3
BLAKE2b-256 04a82e9856029964552884d8718113361ef2d87a53a771e1ebdbd61dd2fda483

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