About igraph releases and other things
python-igraph 0.8.3, the third bugfix release of the 0.8 series, has arrived.
The preferred way of installing the Python interface is via pip
; typing
pip install python-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 release brings python-igraph
up-to-date with igraph 0.8.3, and it also
contains bug fixes and performance improvements. This release will also be the
last one whose version number is deliberately in sync with the version number
of the C core. The changelog is below.
Graph.community_leiden()
now supports a negative number of iterations; it will keep on iterating until the algorithm reaches a stable partition.
Graph.Incidence()
now supports weighted graphs, thanks to @PuneethaPai
You can now create a Graph
object from a pandas
dataframe with Graph.DataFrame
, thanks to @iosonofabio
Added conversion to/from networkx
and graph-tool
with Graph.{to,from}_{networkx,graph_tool}
, thanks to @iosonofabio
Graph.add_edges()
and Graph.add_vertices()
now supports specifying attributes for the newly added vertices and edges, thanks to @iosonofabio
Added Graph.dfs()
and Graph.dfsiter()
, thanks to @iosonofabio
Added Graph.bridges()
to get the bridges of a graph.
Added Graph.clear()
to remove all edges, vertices and graph attributes in a single call, thanks to @iosonofabio
Upgraded igraph C library to 0.8.3.
Graph union and intersection now supports graphs with vertex names, thanks to @iosonofabio
Graph.delete_vertices(None)
and Graph.delete_edges(None)
are now deprecated; use Graph.delete_vertices()
and Graph.delete_edges()
(without a positional argument) instead to delete all vertices or edges. The old syntax will be removed in 0.9.
setup.py
now works on Windows with MinGW, thanks to @Parakoopa
Graph.difference()
now treats loop edges correctly
summary()
does not fail with non-string vertex names any more, thanks to @deeenes
The Reingold-Tilford layout should not produce edge crossings on tree graphs any more.
The postprocessing step of Graph.biconnected_components()
is much faster now (#281); the earlier version was responsible for a significant speed difference between the C core and the Python interface.
Various documentation improvements, thanks to @chrisfalter, @iosonofabio, @kmankinen, @remysucre, @szhorvat
Graph.complementer()
now allows keyword arguments (it used to support positional arguments only).
Dropped support for Python 3.5, added support for Python 3.9.