Breaking News

NetworKit is an open-source device suite for high-performance team research. Its objective is to provide equipment for the research of huge networks all the way through the size vary from a lot to billions of edges. For this goal, it implements atmosphere delightful graph algorithms, a large number of them parallel to make use of multicore architectures. Those are supposed to compute usual measures of team research. NetworKit is desirous about scalability and comprehensiveness. NetworKit may be a testbed for set of rules engineering and accommodates novel algorithms from in recent years printed analysis (see checklist of publications underneath).

NetworKit is a Python module. Absolute best-performance algorithms are written in C++ and uncovered to Python by means of the Cython toolchain. Python in flip supplies us the power to paintings interactively and a wealthy atmosphere of kit for knowledge research and scientific computing. Moreover, NetworKit’s core may also be constructed and used as a space library if wanted.

  • g++ (>= 6.1), clang++ (>= 3.9) or MSVC (>= 14.13)
  • OpenMP for parallelism (most often ships with the compiler)
  • Python3 (3.6 or upper is supported)
    • Construction libraries for Python3. The bundle deal establish will depend on your distribution. Examples:
      • Debian/Ubuntu: apt-get organize python3-dev
      • RHEL/CentOS: dnf organize python3-devel
      • Space house home windows: Use the reliable unlock installer from
  • Pip
  • CMake kind 3.6 or upper (Urged to make use of machine systems if to be had. Selection: pip3 organize cmake)
  • Collect machine: Make or Ninja
  • Cython kind 0.29 or upper (e.g., pip3 organize cython)

notebooks-section, in particular the Networkit UserGuide. Observe: To view and edit the computed output from the notebooks, it is suggested to make use of Jupyter Pocket e ebook. This calls for the prior organize of NetworKit. You will have to actually take a look at that out ahead of get started operating in your team research.

We additionally supply a Binder-instance of our notebooks. To get right to use this provider, you’ll be able to every click on on on at the badge on the most efficient or follow this hyperlink. Disclaimer: As a result of rebuilds of the underlying symbol, it is going to takes a while till your Binder occasion is ready for utilization.

For those who very best wish to see in brief how NetworKit is used – the next instance supplies a climpse at that. Right kind proper right here we generate a random hyperbolic graph with 100k nodes and compute its communities with the PLM method:

>>> import networkit as nk
>>> g = nk.turbines.HyperbolicGenerator(1e5).generate()
>>> communities =, investigate cross-check=True)
PLM(balanced,pc,turbo) detected communities in 0.14577102661132812 [s]
resolution houses:
-------------------  -----------
# communities        4536
min team size      1
max team size   2790
avg. team size    22.0459
modularity              0.987243
-------------------  -----------

CMake and your most up to date collect machine for construction the C++ a part of NetworKit.

The next description presentations how you can use CMake so that you could collect the C++ Core very best:

First you must create and alter to a collect tick list: (on this case named collect)

Then identify CMake to generate wisdom for the make collect machine, specifying the tick list of the root CMakeLists.txt document (e.g., ..). After this make is known as to start out out out the collect procedure:

To hurry up the compilation with make a multi-core gadget, you’ll be able to append -jX the place X denotes the choice of threads to collect with.


In an effort to use the former compiled networkit library, you wish to have to have it put in, and hyperlink it whilst compiling your venture. Use those directions to collect and organize NetworKit in /usr/native:

cmake ..
make -jX organize

As soon as NetworKit has been put in, you’ll be able to use come with directives to your C++-application as follows:

#come with <networkit/graph/Graph.hpp>

You’ll be able to assemble your supply as follows:

g++ my_file.cpp -lnetworkit



Unit tests are carried out the use of GTest macros related to TEST_F(CentralityGTest, testBetweennessCentrality). Unmarried tests may also be finished with:

./networkit_tests --gtest_filter=CentralityGTest.testBetweennessCentrality

Moreover, one can specify the extent of the logs outputs by way of at the side of --loglevel <log_level>; supported log ranges are: TRACEDEBUGINFOWARNERROR, and FATAL.

Cmake flags to permit care for, leak, and undefined conduct sanitizers. To assemble your code with sanitizers, set the CMake NETWORKIT_WITH_SANITIZERS to every care for or leak:


By the use of atmosphere this flag to care for, your code may well be compiled with the care for and the undefined sanitizers. Setting it to leak additionally provides the leak sanitizer.

documentation may also be found out on-line.

issues-section and notice if there may be already an open dialogue. If now not feel free to open a brand new factor. To stick up to date about this venture, subscribe to our mailing checklist.

construction wisdom for directions. For strengthen please touch the mailing checklist.

NetworKit internet web page credit score rating web internet web page.

MIT License. We ask you to quote us for those who use this code to your venture (c.f. the publications part underneath and in particular the technical document). Comments may be welcome.

NetworKit publications web internet web page lists the publications on NetworKit as a toolkit, on algorithms to be had in NetworKit, and easily the use of NetworKit. We ask you to quote the most efficient ones for those who found out NetworKit helpful in your private analysis.

Distinctive repository:

Leave a Reply

Your email address will not be published. Required fields are marked *

Donate Us