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 @PuneethaPaiYou can now create a

`Graph`

object from a`pandas`

dataframe with`Graph.DataFrame`

, thanks to @iosonofabioAdded 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 @iosonofabioAdded

`Graph.dfs()`

and`Graph.dfsiter()`

, thanks to @iosonofabioAdded

`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 @deeenesThe 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.