A library for working with graphs in Python
Project description
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.
The code is appropriately documented and API reference is generated automatically by epydoc.
Comments, bug reports and suggestions are welcome.
Provided features and algorithms:
- Support for directed, undirected, weighted and non-weighted graphs
- Support for hypergraphs
- Canonical operations
- XML import and export
- DOT-Language output (for usage with Graphviz)
- Random graph generation
- Accessibility (transitive closure)
- Breadth-first search
- Critical path algorithm
- Cut-vertex and cut-edge identification
- Cycle detection
- Depth-first search
- Heuristic search (A`*` algorithm)
- Identification of connected components
- Minimum spanning tree (Prim’s algorithm)
- Mutual-accessibility (Strongly connected components)
- Shortest path search (Dijkstra’s algorithm)
- Topological sorting
- Transitive edge identification