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

  The igraph R package crossed the 2.0 threshold!

This major release brings development in line with the igraph C library. Version 1.6.0 of the R package used version 0.9.10 of the C core. The changes in the 0.10 series of the C core are now taken up in version 2.0 of the R package. Having the R package use the latest version of the C core was a huge undertaking, and is a great milestone which makes the many improvements from version 0.10 of the C core available to R users.

Improvements made in the C core will be made available more easily in functions in the R package. See the complete changelog of the C core. While we tried to maintain compatibility with version 1.6.0 of the R interface, it wasn’t always possible. Refer to the “Breaking changes” sections in the changelog of the R package (breaking changes section). If you maintain a package that depends on igraph, you may have heard from us.

The move to version 0.10 of C/igraph brings many quality improvements, including support for graphs with billions of vertices and edges on 64-bit computers, much more stringent error checking, as well as lots of improvements to robustness, reliability and mathematical consistency across functions.

Future work will aim at further automating the generation of R code from C code, making improved C core functionality more quickly available to R users. Additionally, we plan to expose more C core functions, since not all functions are available to R users just yet.

Improvements to the documentation

The igraph R package now has a website, generated with the popular pkgdown R package, that is to say, a website that has a predictable structure and that includes a search functionality. The website now features an introductory vignette contributed by Adrian Diaz and Fabio Zanini in both English and Spanish.

Towards a more explicit lifecycle

We are in the middle of efforts aimed at making the lifecycle of functions more explicit so that you might know what function is deprecated, and which function is more experimental. For instance, we will slowly be removing most “dotted-names functions”, like add.edges() that is now add_edges(), although both versions currently still work. The is_biconnected() function is an example of an experimental function, that is to say, a C function that was just exposed.

Conclusion

We’d be thankful to hear from you if you experience any difficulty with the new release. Please cast us a line (and a reprex!) in the issue tracker. For further feedback, please use igraph’s discussion forum. Do not hesitate to share about the release… in your networks. 😉

Acknowledgements

Thanks a ton to all the contributors who helped us craft the new igraph package: @a-lambda, @Antonov548, @barracuda156, @bebejhun, @bockthom, @brooksambrose, @CdeMills, @clpippel, @csqsiew, @dmurdoch, @Flu09, @Ganson2018, @gherrarte, @gwfs521, @jefferis, @jeroen, @jessijessi, @joshua-zh, @kalibera, @knwng, @krlmlr, @Lighter-k, @louisaslett, @lptolik, @lufuhao, @maelle, @maksymiuks, @Matyasch, @mfansler, @ngmaclaren, @noriakis, @reuning, @ntamas, @snowGlint, @stephenashton-dhsc, @szhorvat, @tdhock, @vtraag, @xinguo1236, and @Zhaoju-Deng.


  python-igraph 0.11.5

python-igraph 0.11.5, the fifth bugfix release of the 0.11 series, has arrived. The primary reason for this release is to update the C core of igraph to 0.10.12, which brings quite a few bugfixes to the Python interface. Please refer to the changelog for more details.

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.

Read on for more details about the changes in version 0.11.5.

More →


  C/igraph 0.10.12

C/igraph 0.10.12, the eleventh bugfix release of the 0.10 series, has arrived. As usual, the source can be obtained from the GitHub releases page.

This release brings a large number of quality enhancements, including many bug fixes and performance improvements. Upgrading is highly recommended for all igraph users.

This will be one of the last—if not the last—releases of the 0.10 series, with igraph 1.0 planned for release early summer this year. Pre-releases will be made available for feedback from the community.

A summary of changes in 0.10.12 is below.

More →


  C/igraph 0.10.11

C/igraph 0.10.11, the tenth bugfix release of the 0.10 series, has arrived. As usual, the source can be obtained from the GitHub releases page.

This release brings a large number of quality enhancements, including many bug fixes and performance improvements. Upgrading is highly recommended for all igraph users.

This will be one of the last—if not the last—releases of the 0.10 series, with igraph 1.0 planned for release early summer this year. Pre-releases will be made available for feedback from the community.

A summary of changes in 0.10.11 is below.

More →


  C/igraph 0.10.10

C/igraph 0.10.10, the ninth bugfix release of the 0.10 series, has arrived.

The source can be obtained from the GitHub releases page.

This is primarily a maintenance release with bug fixes, in particular a caching issue in igraph_is_forest().

Read on for more details about the changes in version 0.10.10.

More →


  C/igraph 0.10.9

C/igraph 0.10.9, the eighth bugfix release of the 0.10 series, has arrived.

The source can be obtained from the GitHub releases page.

This is primarily a maintenance release with bug fixes, but it also adds functions to check whether a graph is biconnected and to construct a bipartite graph from a bidegree sequence.

Read on for more details about the changes in version 0.10.9.

More →


  python-igraph 0.11.3

python-igraph 0.11.3, the third bugfix release of the 0.11 series, has arrived. The primary reason for this release is to update the C core of igraph to 0.10.8, which brings quite a few bugfixes to the Python interface. This release also fixes a bug in the Matplotlib backend with curved undirected edges. Please refer to the changelog for more details.

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.

Read on for more details about the changes in version 0.11.3, including those that became possible by updating the C core to 0.10.8.

More →


  C/igraph 0.10.8

C/igraph 0.10.8, the seventh bugfix release of the 0.10 series, has arrived.

The source can be obtained from the GitHub releases page.

This is primarily a maintenance release with bug fixes, but it also adds functions to compute the joint degree matrix, the joint degree distribution and the degree correlation function of graphs as well as a generalized joint distribution of arbitrary vertex categories at the endpoints of edges.

Read on for more details about the changes in version 0.10.8.

More →


  python-igraph 0.10.8

python-igraph 0.10.8, the seventh bugfix release of the 0.10 series, has arrived. This release updates the C core of igraph to 0.10.7, and adds support for weighted eccentricity and radius calculations. There are also some minor additions and improvements; please refer to the changelog for more details.

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.


  C/igraph 0.10.7

C/igraph 0.10.7, the sixth bugfix release of the 0.10 series, has arrived.

The source can be obtained from the GitHub releases page.

This is primarily a maintenance release with bug fixes, but it also adds weighted variants of igraph_radius() and igraph_graph_center() as experimental functions. Their API will be finalized in version 0.11.0 (although we do not anticipate any changes compared to the current version).

Read on for more details about the changes in version 0.10.7.

More →


All news →