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++.
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, 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.
C/igraph 0.10.6, the fifth bugfix release of the 0.10 series, has arrived.
The source can be obtained from the GitHub releases page.
This is a maintenance release bringing bug fixes only. In particular, we fixed convergence failures in igraph_community_voronoi()
in certain cases on certain platforms, and ensured compatibility with libxml2 2.11.
Read on for more details about the changes in version 0.10.6.
C/igraph 0.10.5, the fourth bugfix release of the 0.10 series, has arrived.
The source can be obtained from the GitHub releases page.
This is a maintenance release bringing bug fixes, performance improvements, as well as new experimental features.
Read on for more details about the changes in version 0.10.5.
C/igraph 0.10.4, the third bugfix release of the 0.10 series, has arrived.
The source can be obtained from the GitHub releases page.
This release adds support for finding a shortest path with the A* algorithm and for finding a greedy vertex coloring with the DSatur heuristics. It also adds interruption support for the Bellman-Ford and Floyd-Warshall shortest path finder algorithms.
Read on for more details about the changes in version 0.10.4.
C/igraph 0.10.3, the third bugfix release of the 0.10 series, has arrived.
The source can be obtained from the GitHub releases page.
This release adds support for generating triangular and hexagonal lattices, constructing trees from a “parent” vector, and retrieving the IDs of the edges in the induced subgraph of a vertex set. It also refines the experimental API of the UMAP layout function, fixes a few bugs and improves the documentation.
Read on for more details about the changes in version 0.10.3.
Just in time before the Christmas holidays, IGraph/M 0.6.5 is now released. This version (along with the unreleased 0.6.4) brings greatly improved performance when computing proximity graphs, new convenience functions, as well as robustness improvements. As usual, you can conveniently upgrade by running the installer script, using the following command:
Get["https://raw.githubusercontent.com/szhorvat/IGraphM/master/IGInstaller.m"]
Other:
Added:
IGBetaWeightedGabrielGraph
for computing the β value where each edge of a lune-based β-skeleton would disappear (experimental function).IGModularityMatrix
gives the modularity matrix of a network.IGCanonicalLabeledGraph
creates a canonical representation of a labeled graph without changing vertex names. Graphs which are considered equivalent by IGSameGraphQ
have the same canonical representation. It is intended for removing duplicate graphs using DeleteDuplicatesBy
.IGCanonicalEdgeList
creates a canonical representation of an edge list, in a manner similar to IGCanonicalLabeledGraph
.Other:
python-igraph 0.10.2, the second bugfix release of the 0.10 series, has arrived. Thise release updates the C core of igraph to 0.10.2, adds support for Python 3.11 and fixes a crash and a reference leak in earlier versions of the library. 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.
The documentation of the project has also been moved to Read The Docs.
C/igraph 0.10.2, the second bugfix release of the 0.10 series, has arrived.
The source can be obtained from the GitHub releases page.
This release mostly includes bug fixes and documentation improvements, but it also adds a few new functions (shortest paths with cutoff, Floyd-Warshall algorithm and Voronoi partitioning) with an experimental API that might still change in upcoming releases. Experimental functions are clearly marked both here and in the documentation. The API of these functions will be finalized in 0.11.0, after which no further changes are expected.
Read on for more details about the changes in version 0.10.2.
A new maintenance release of IGraph/M is now available. This is a bugfix release recommended for all users. As usual, the simplest way to upgrade is to evaluate the following, and then restart Mathematica:
Get["https://raw.githubusercontent.com/szhorvat/IGraphM/master/IGInstaller.m"]
Changed:
IGraphM::invv
instead of VertexIndex::inv
.Fixed:
IGCommunitiesLeadingEigenvector
is less likely to fail to converge now.IGCommunitiesLeadingEigenvector
now respects random seeds set in Mathematica. These affect only the random starting vector it uses internally, which can very rarely cause non-deterministic output.IGBarabasiAlbertGame
no longer accepts negative or zero exponents, as these were not handled correctly.IGBridges
is no longer prone to stack overflow when given very large graphs.Other:
IGGraphEditor
.