Python-igraph 0.8.3

python-igraph 0.8.3, the third release the 0.8 series is now available. You can install it from PyPI where we provide precompiled wheels for Python 3.6 to 3.9 on Linux, macOS and Windows.

You can find the source code if you want to compile it on your own.

Added

  • 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 (#303)

  • You can now create a Graph object from a pandas dataframe with Graph.DataFrame, thanks to @iosonofabio (#309)

  • Added conversion to/from networkx and graph-tool with Graph.{to,from}_{networkx,graph_tool}, thanks to @iosonofabio (#242)

  • Graph.add_edges() and Graph.add_vertices() now supports specifying attributes for the newly added vertices and edges, thanks to @iosonofabio (#319)

  • Added Graph.dfs() and Graph.dfsiter(), thanks to @iosonofabio (#315)

  • 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 (#320)

Changed

  • Upgraded igraph C library to 0.8.3.

  • Graph union and intersection now supports graphs with vertex names, thanks to @iosonofabio (#310)

  • 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.

Fixed

  • setup.py now works on Windows with MinGW, thanks to @Parakoopa (#297)

  • Graph.difference() now treats loop edges correctly

  • summary() does not fail with non-string vertex names any more, thanks to @deeenes (#329)

  • 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.

Other

  • Various documentation improvements, thanks to @chrisfalter, @iosonofabio, @kmankinen, @remysucre, @szhorvat (#308, #313, #314, #323, #324, #334)

  • 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.

2 Likes

On Mac with Mojave 10.14.6, I have python-igraph 0.8.2 installed. When I try to upgrade to version 0.8.3 by typing

pip3 install --upgrade igraph.python

it apparently tries to install version 0.7.4.
The same thing happens if I try it without the --upgrade switch.

It says

Collecting igraph.python

Downloading igraph-python-0.7.4.tar.gz (377 kB)

>████████████████████████████████| 377 kB 821 kB/s

Building wheels for collected packages: igraph.python

Building wheel for igraph.python (setup.py) ... error

ERROR: Command errored out with exit status 1:

command: /usr/local/opt/python@3.8/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/tmp/pip-install-4y8u6twa/igraph.python/setup.py'"'"'; __file__='"'"'/private/tmp/pip-install-4y8u6twa/igraph.python/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/tmp/pip-wheel-mhxb5qhs

cwd: /private/tmp/pip-install-4y8u6twa/igraph.python/

Complete output (91 lines):

running bdist_wheel

running build

running build_py

creating build

creating build/lib.macosx-10.14-x86_64-3.8

creating build/lib.macosx-10.14-x86_64-3.8/igraph

copying igraph/configuration.py -> build/lib.macosx-10.14-x86_64-3.8/igraph

copying igraph/clustering.py -> build/lib.macosx-10.14-x86_64-3.8/igraph

copying igraph/compat.py -> build/lib.macosx-10.14-x86_64-3.8/igraph

copying igraph/formula.py -> build/lib.macosx-10.14-x86_64-3.8/igraph

copying igraph/layout.py -> build/lib.macosx-10.14-x86_64-3.8/igraph

copying igraph/cut.py -> build/lib.macosx-10.14-x86_64-3.8/igraph

copying igraph/__init__.py -> build/lib.macosx-10.14-x86_64-3.8/igraph

copying igraph/matching.py -> build/lib.macosx-10.14-x86_64-3.8/igraph

copying igraph/summary.py -> build/lib.macosx-10.14-x86_64-3.8/igraph

copying igraph/datatypes.py -> build/lib.macosx-10.14-x86_64-3.8/igraph

copying igraph/utils.py -> build/lib.macosx-10.14-x86_64-3.8/igraph

copying igraph/statistics.py -> build/lib.macosx-10.14-x86_64-3.8/igraph

creating build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/structural.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/colortests.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/attributes.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/rng.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/conversion.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/vertexseq.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/__init__.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/flow.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/games.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/matching.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/generators.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/isomorphism.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/basic.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/utils.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/edgeseq.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/decomposition.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/iterators.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/spectral.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/separators.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/homepage.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/atlas.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/indexing.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/operators.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/layouts.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/cliques.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/foreign.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

copying igraph/test/bipartite.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/test

creating build/lib.macosx-10.14-x86_64-3.8/igraph/app

copying igraph/app/shell.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/app

copying igraph/app/__init__.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/app

creating build/lib.macosx-10.14-x86_64-3.8/igraph/drawing

copying igraph/drawing/shapes.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/drawing

copying igraph/drawing/edge.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/drawing

copying igraph/drawing/baseclasses.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/drawing

copying igraph/drawing/graph.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/drawing

copying igraph/drawing/coord.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/drawing

copying igraph/drawing/__init__.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/drawing

copying igraph/drawing/vertex.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/drawing

copying igraph/drawing/utils.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/drawing

copying igraph/drawing/text.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/drawing

copying igraph/drawing/metamagic.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/drawing

copying igraph/drawing/colors.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/drawing

creating build/lib.macosx-10.14-x86_64-3.8/igraph/remote

copying igraph/remote/__init__.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/remote

copying igraph/remote/nexus.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/remote

copying igraph/remote/gephi.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/remote

creating build/lib.macosx-10.14-x86_64-3.8/igraph/vendor

copying igraph/vendor/texttable.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/vendor

copying igraph/vendor/__init__.py -> build/lib.macosx-10.14-x86_64-3.8/igraph/vendor

/usr/local/lib/python3.8/site-packages/setuptools/lib2to3_ex.py:39: SetuptoolsDeprecationWarning: 2to3 support is deprecated. If the project still requires Python 2 support, please migrate to a single-codebase solution or employ an independent conversion process.

warnings.warn(

Fixing build/lib.macosx-10.14-x86_64-3.8/igraph/configuration.py build/lib.macosx-10.14-x86_64-3.8/igraph/clustering.py build/lib.macosx-10.14-x86_64-3.8/igraph/compat.py build/lib.macosx-10.14-x86_64-3.8/igraph/formula.py build/lib.macosx-10.14-x86_64-3.8/igraph/layout.py build/lib.macosx-10.14-x86_64-3.8/igraph/cut.py build/lib.macosx-10.14-x86_64-3.8/igraph/__init__.py build/lib.macosx-10.14-x86_64-3.8/igraph/matching.py build/lib.macosx-10.14-x86_64-3.8/igraph/summary.py build/lib.macosx-10.14-x86_64-3.8/igraph/datatypes.py build/lib.macosx-10.14-x86_64-3.8/igraph/utils.py build/lib.macosx-10.14-x86_64-3.8/igraph/statistics.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/structural.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/colortests.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/attributes.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/rng.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/conversion.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/vertexseq.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/__init__.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/flow.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/games.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/matching.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/generators.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/isomorphism.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/basic.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/utils.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/edgeseq.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/decomposition.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/iterators.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/spectral.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/separators.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/homepage.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/atlas.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/indexing.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/operators.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/layouts.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/cliques.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/foreign.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/bipartite.py build/lib.macosx-10.14-x86_64-3.8/igraph/app/shell.py build/lib.macosx-10.14-x86_64-3.8/igraph/app/__init__.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/shapes.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/edge.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/baseclasses.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/graph.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/coord.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/__init__.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/vertex.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/utils.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/text.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/metamagic.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/colors.py build/lib.macosx-10.14-x86_64-3.8/igraph/remote/__init__.py build/lib.macosx-10.14-x86_64-3.8/igraph/remote/nexus.py build/lib.macosx-10.14-x86_64-3.8/igraph/remote/gephi.py build/lib.macosx-10.14-x86_64-3.8/igraph/vendor/texttable.py build/lib.macosx-10.14-x86_64-3.8/igraph/vendor/__init__.py

Skipping optional fixer: buffer

Skipping optional fixer: idioms

Skipping optional fixer: set_literal

Skipping optional fixer: ws_comma

Fixing build/lib.macosx-10.14-x86_64-3.8/igraph/configuration.py build/lib.macosx-10.14-x86_64-3.8/igraph/clustering.py build/lib.macosx-10.14-x86_64-3.8/igraph/compat.py build/lib.macosx-10.14-x86_64-3.8/igraph/formula.py build/lib.macosx-10.14-x86_64-3.8/igraph/layout.py build/lib.macosx-10.14-x86_64-3.8/igraph/cut.py build/lib.macosx-10.14-x86_64-3.8/igraph/__init__.py build/lib.macosx-10.14-x86_64-3.8/igraph/matching.py build/lib.macosx-10.14-x86_64-3.8/igraph/summary.py build/lib.macosx-10.14-x86_64-3.8/igraph/datatypes.py build/lib.macosx-10.14-x86_64-3.8/igraph/utils.py build/lib.macosx-10.14-x86_64-3.8/igraph/statistics.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/structural.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/colortests.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/attributes.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/rng.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/conversion.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/vertexseq.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/__init__.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/flow.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/games.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/matching.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/generators.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/isomorphism.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/basic.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/utils.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/edgeseq.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/decomposition.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/iterators.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/spectral.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/separators.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/homepage.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/atlas.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/indexing.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/operators.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/layouts.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/cliques.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/foreign.py build/lib.macosx-10.14-x86_64-3.8/igraph/test/bipartite.py build/lib.macosx-10.14-x86_64-3.8/igraph/app/shell.py build/lib.macosx-10.14-x86_64-3.8/igraph/app/__init__.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/shapes.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/edge.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/baseclasses.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/graph.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/coord.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/__init__.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/vertex.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/utils.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/text.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/metamagic.py build/lib.macosx-10.14-x86_64-3.8/igraph/drawing/colors.py build/lib.macosx-10.14-x86_64-3.8/igraph/remote/__init__.py build/lib.macosx-10.14-x86_64-3.8/igraph/remote/nexus.py build/lib.macosx-10.14-x86_64-3.8/igraph/remote/gephi.py build/lib.macosx-10.14-x86_64-3.8/igraph/vendor/texttable.py build/lib.macosx-10.14-x86_64-3.8/igraph/vendor/__init__.py

Skipping optional fixer: buffer

Skipping optional fixer: idioms

Skipping optional fixer: set_literal

Skipping optional fixer: ws_comma

running build_ext

Cannot find the C core of igraph on this system using pkg-config.

We will now try to download and compile the C core from scratch.

Version number of the C core: 0.7.4

We will also try: 0.7.4

Version 0.7.4 of the C core of igraph is not found among the nightly builds.

Use the --c-core-version switch to try a different version.

Could not download and compile the C core of igraph.

You have to install python-igraph, not igraph-python.

Duh, that worked fine. Thanks for your help.

1 Like