Differences between revisions 3 and 4
Revision 3 as of 2021-08-18 12:33:35
Size: 2839
Editor: flying-sheep
Comment: Marked unmaintained, fixed links, added graph-tool
Revision 4 as of 2022-03-25 13:30:57
Size: 3404
Editor: TeddyChan
Comment:
Deletions are marked like this. Additions are marked like this.
Line 22: Line 22:
== Other libraries ==

 * [[https://easy-graph.github.io/|EasyGraph]] (dist: `Python-EasyGraph`, mod: `easygraph`) is a multi-processing, hybrid (written in Python and C++) graph library for analyzing undirected, directed graphs and multigraphs. It integrates state-of-the-art graph processing approaches and implements them using Python, and covers a series of advanced graph processing algorithms include structural hole spanners detection (HIS, MaxD, Common_Greedy, AP_Greedy and HAM), and graph representation learning (deepwalk, node2vec, LINE and SDNE).

Python Graph Libraries

These libraries are concerned with graphs and networks, not the plotting of numeric data in graphical form.

From the Python Graph API page, plus some others discovered through searching the Internet, quoting the descriptions for each package. Since their names are confusingly similar, we provide the pip installable name (dist) and the importable name (pkg).

  • python-igraph (dist: python-igraph, mod: igraph) is the set of Python bindings for igraph, a collection of network analysis tools with the emphasis on efficiency, portability and ease of use. It is easily installable from wheels for an extensive array of platforms and it benefits from contributions coming in through users of the C library and R bindings.

  • NetworkX (dist: NetworkX, mod: networkx) is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. It is implemented based on NumPy and SciPy and therefore supports all common platforms.

  • graph-tool (dist: graph-tool, mod: graph_tool) is an efficient package for manipulation and statistical analysis of graphs, based on the C++ Boost Graph Library and parallelized using OpenMP. It is not pip-installable, but available through conda. It is the newest of the bunch, so its author seems to have spent some time to implement a comparative amount of features compared to the others.

All of the above have a options for graph generation, IO, algorithms, statistics, and drawing (to image files, Matplotlib, and Cairo). All are free software or open source.

Unmaintained libraries

The following are marked as or at least seem unmaintained:

  • Another Python Graph Library (dist&mod: apgl) is a simple, fast and easy to use graph library with some machine learning features. (Last commit in 2014, marked unmaintained in 2018, author recommends NetworkX or igraph)

  • py_graph (dist&mod: py_graph) is a native python library for working with graphs. (Page offline as of 2021)

  • python-graph (dist: python-graph-core, mod: pygraph) is a library for working with graphs in Python. This software provides a suitable data structure for representing graphs and a whole set of important algorithms. (Last commit in 2018, no issue page)

Other libraries

  • EasyGraph (dist: Python-EasyGraph, mod: easygraph) is a multi-processing, hybrid (written in Python and C++) graph library for analyzing undirected, directed graphs and multigraphs. It integrates state-of-the-art graph processing approaches and implements them using Python, and covers a series of advanced graph processing algorithms include structural hole spanners detection (HIS, MaxD, Common_Greedy, AP_Greedy and HAM), and graph representation learning (deepwalk, node2vec, LINE and SDNE).

Editorial Notes

The above lists should be arranged in ascending alphabetical order - please respect this when adding new entries. When specifying release dates please use the format YYYY-MM-DD.

PythonGraphLibraries (last edited 2022-12-03 17:01:14 by HelmutMelcher)

Unable to edit the page? See the FrontPage for instructions.