Size: 1945
Comment: Added SciPy note for APGL.
|
Size: 2839
Comment: Marked unmaintained, fixed links, added graph-tool
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
From the [[PythonGraphApi|Python Graph API]] page, plus some others discovered through searching the Internet, quoting the descriptions for each package: | From the [[PythonGraphApi|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`). |
Line 7: | Line 8: |
* [[http://pypi.python.org/pypi/apgl/|Another Python Graph Library]] is a simple, fast and easy to use graph library with some machine learning features. * Apparently requires the [[http://pypi.python.org/pypi/MLPY/|MLPY]] package, and thus the [[http://www.gnu.org/software/gsl/|GNU Scientific Library (GSL)]] and [[http://sourceforge.net/projects/numpy/|NumPy]], [[http://sourceforge.net/projects/scipy/|SciPy]] and all its dependencies * [[http://cneurocvs.rmki.kfki.hu/igraph/|igraph]] is a free software package for creating and manipulating undirected and directed graphs. It includes implementations for classic graph theory problems like minimum spanning trees and network flow, and also implements algorithms for some recent network analysis methods, like community structure search. * [[http://pypi.python.org/pypi/python-igraph|python-igraph]] is the set of Python bindings * [[http://networkx.lanl.gov/|NetworkX]] is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. * [[http://compbio.washington.edu/~zach/py_graph/doc/html/public/py_graph-module.html|py_graph]] is a native python library for working with graphs. * [[http://code.google.com/p/python-graph/|python-graph]] 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. |
* [[https://igraph.org/python/|python-igraph]] (dist: `python-igraph`, mod: `igraph`) is the set of Python bindings for [[http://cneurocvs.rmki.kfki.hu/igraph/|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. * [[https://networkx.org/|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. * [[https://graph-tool.skewed.de/|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: * [[https://github.com/charanpald/APGL|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) * [[http://compbio.washington.edu/~zach/py_graph/doc/html/public/py_graph-module.html|py_graph]] (dist&mod: `py_graph`) is a native python library for working with graphs. (Page offline as of 2021) * [[https://github.com/Shoobx/python-graph/|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) |
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)
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.