igraph – The network analysis package

igraph is a collection of network analysis tools with the emphasis on efficiency, portability and ease of use. igraph is open source and free. igraph can be programmed in R, Python, Mathematica and C/C++.


igraph R package python-igraph IGraph/M igraph C library

  R/igraph 1.3.2

R-igraph 1.3.2, the second bugfix release of the 1.3 series is now released – and it looks like we forgot to post an announcement about 1.3.1, so in the rest of this post we summarnize the changes in versions 1.3.1 and 1.3.2 as well.

As always, we tried to do our best not to cause breaking changes for users of igraph from R, but in case we have made unintentional mistakes, please report issues in the Github issue tracker.

More →


  python-igraph 0.9.11

python-igraph 0.9.11, the ninth bugfix release of the 0.9 series, has arrived.

The preferred way of installing the Python interface is via pip; typing pip install igraph should install a pre-compiled Python wheel on most supported platforms (Windows, Linux and macOS). The pre-compiled wheels and the source code are also available from the Python Package Index page.

This is the first release that provides pre-compiled musllinux wheels for environments running Alpine Linux.

See the changelog on Github for relevant changes in 0.9.11:


  C/igraph 0.9.9

C/igraph 0.9.9, the ninth bugfix release of the 0.9 series, has arrived.

The source can be obtained from the GitHub releases page.

This release includes bug fixes and documentation improvements, focusing mainly on community detection and visualization functions. Read on for more details.

More →


  R/igraph 1.3.0

Our efforts to bring the R interface of igraph closer to the recent developments of the C core continues: we have released R-igraph 1.3.0, which updates the C core of igraph within the R interface to version 0.9.7, which is now only one patch version behind the mainline C core. The update fixes lots of bugs compared to the previous release and adds quite a few new functions.

Due to the underlying changes in the C core of igraph between the 0.8 series and 0.9.7, there are some cases when we needed to make extra efforts in the R interface to keep things compatible with previous releases. For instance, igraph 0.9.7 now interprets zero cutoff in the closeness, betweenness and edge betweenness centrality functions literally, while igraph 0.8 interpreted zero as “no cutoff”. The R interface keeps the old behaviour in such cases but prints a deprecation warning; the old behaviour will be gone in igraph 1.4.0 or 2.0.0, whichever comes first.

A patch release of R/igraph is coming soon in the next few days, which will hopefully (finally) catch up with the 0.9 branch of the C core. We aim to let R/igraph stabilize for a few weeks now while we work on further improvements in the C core.

Even though we tried to do our best not to cause breaking changes for users of igraph from R, we may have made unintentional mistakes, so please keep on reporting issues in the Github issue tracker.

More →


  C/igraph 0.9.8

C/igraph 0.9.8, the eighth bugfix release of the 0.9 series, has arrived.

The source can be obtained from the GitHub releases page.

This release includes bug fixes and documentation improvements only. Read on for more details.

More →


  C/igraph 0.9.7

C/igraph 0.9.7, the seventh bugfix release of the 0.9 series, has arrived.

The source can be obtained from the GitHub releases page.

This release includes bug fixes, build system tweaks and minor (performance and non-performance-related) improvements. Read on for more details.

More →


  python-igraph 0.9.9

python-igraph 0.9.9, the seventh bugfix release of the 0.9 series, has arrived.

The preferred way of installing the Python interface is via pip; typing pip install igraph should install a pre-compiled Python wheel on most supported platforms (Windows, Linux and macOS). The pre-compiled wheels and the source code are also available from the Python Package Index page.

ARM64 (Apple Silicon) wheels are now officially supported from this release.

See the changelog on Github for relevant changes in 0.9.9:


  C/igraph 0.9.6

C/igraph 0.9.6, the sixth bugfix release of the 0.9 series, has arrived.

The source can be obtained from the GitHub releases page.

This release includes bug fixes, build system tweaks and minor (performance and non-performance-related) improvements. Read on for more details.

More →


  C/igraph 0.9.5

C/igraph 0.9.5, the fifth bugfix release of the 0.9 series, has arrived.

The source can be obtained from the GitHub releases page.

This release includes bug fixes and performance improvements only.

Fixed

  • igraph_reindex_membership() does not allow negative membership indices any more.

  • igraph_rewire_directed_edges() now generates multigraphs when edge directions are ignored, to make it consistent with the directed case.

  • Fixed a bug in igraph_gomory_hu_tree() that returned only the equivalent flow tree instead of the cut tree.

  • Fixed a bug in the IGRAPH_TO_UNDIRECTED_COLLAPSE mode of igraph_to_undirected() that provided an incorrect merge vector to the attribute handler, leading to problems when edge attributes were merged using an attribute combination.

  • Fixed the behaviour of the IGRAPH_ENABLE_LTO option when it was set to AUTO; earlier versions had a bug where AUTO simply checked whether LTO is supported but then did not use LTO even if it was supported.

  • When using igraph from a CMake project, it is now checked that the project has the C++ language enabled. This is necessary for linking to igraph with CMake.

Other

  • Improved the root selection method for disconnected graphs in the Reingold-Tilford layout (#1836). The new root selection method provides niceer results if the graph is not a tree, although it is still recommended to use the Sugiyama layout instead, unless the input graph is almost a tree, in which case Reingold-Tilfold may still be preferred.

  • igraph_decompose() is now much faster for large graphs containing many isolates or small components.

  • igraph_largest_cliques() and igraph_clique_number() were re-written to use igraph_maximal_cliques_callback() so they are much faster now.

  • The vendored GLPK has been upgraded to GLPK 5.0.

  • Documentation improvements.


  python-igraph is now simply igraph on PyPI

python-igraph 0.9.8, the sixth bugfix release of the 0.9 series, has arrived.

The only significant change in this release is that the Python interface of igraph has been renamed from python-igraph to igraph on PyPI. We are very grateful to Patrick Fuller, the previous owner of the igraph package on PyPI for giving up the ownership of igraph and letting us use the name instead.

The preferred way of installing the Python interface is still via pip; typing pip install igraph should install a pre-compiled Python wheel on most supported platforms (Windows, Linux and macOS). The pre-compiled wheels and the source code are also available from the Python Package Index page.

python-igraph will keep on working on PyPI until September 1, 2022, but it is now only a stub package that depends on igraph. Running pip install python-igraph will in turn install the matching version of the igraph package from PyPI.

  • Projects listing python-igraph in their dependencies should migrate to using igraph as soon as possible to keep on receiving updates after September 1, 2022.

  • Maintainers who provide pre-packaged versions of python-igraph in Linux distributions should switch to following the igraph package on PyPI instead of python-igraph.


All news →