Skip to main content

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 import and export (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
  • Gomory-Hu cut-tree algorithm
  • Heuristic search (A* algorithm)
  • Identification of connected components
  • Maximum-flow / Minimum-cut (Edmonds-Karp algorithm)
  • Minimum spanning tree (Prim’s algorithm)
  • Mutual-accessibility (strongly connected components)
  • Pagerank algorithm
  • Shortest path search (Dijkstra’s algorithm)
  • Shortest path search (Bellman-Ford algorithm)
  • Topological sorting
  • Transitive edge identification

Project details


Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page