Skip to main content

python-graph

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.

INSTALLING

To install the core module, run:

pip install python-graph

To install the dot language support, run:

pip install python-graph[dot]

If you want the development version, use poetry. This will also install pytest and pydot.

pip install poetry
poetry install --with dev

And to run tests:

pytest

Coverage has some defaults set so simply run:

coverage run
coverage report

DOCUMENTATION

FIXME: Module documentation isn’t available

WEBSITE

The latest version of this package can be found at:

https://github.com/Shoobx/python-graph

Please report bugs at:

https://github.com/Shoobx/python-graph/issues

PROJECT COMMITTERS

Pedro Matiello <pmatiello@gmail.com>
  • Original author;

  • Graph, Digraph and Hipergraph classes;

  • Accessibility algorithms;

  • Cut-node and cut-edge detection;

  • Cycle detection;

  • Depth-first and Breadth-first searching;

  • Minimal Spanning Tree (Prim’s algorithm);

  • Random graph generation;

  • Topological sorting;

  • Traversals;

  • XML reading/writing;

  • Refactoring.

Christian Muise <christian.muise@gmail.com>
  • Dot file reading/writing;

  • Hypergraph class;

  • Refactoring.

Salim Fadhley <sal@stodge.org>
  • Porting of Roy Smith’s A* implementation to python-graph;

  • Edmond Chow’s heuristic for A*;

  • Refactoring.

Tomaz Kovacic <tomaz.kovacic@gmail.com>
  • Transitive edge detection;

  • Critical path algorithm;

  • Bellman-Ford algorithm;

  • Logo design.

CONTRIBUTORS

Eugen Zagorodniy <e.zagorodniy@gmail.com>
  • Mutual Accessibility (Tarjan’s Algorithm).

Johannes Reinhardt <jreinhardt@ist-dein-freund.de>
  • Maximum-flow algorithm;

  • Gomory-Hu cut-tree algorithm;

  • Refactoring.

Juarez Bochi <jbochi@gmail.com>
  • Pagerank algorithm.

Nathan Davis <davisn90210@gmail.com>
  • Faster node insertion.

Paul Harrison <pfh@logarithmic.net>
  • Mutual Accessibility (Tarjan’s Algorithm).

Peter Sagerson <peter.sagerson@gmail.com>
  • Performance improvements on shortest path algorithm.

Rhys Ulerich <rhys.ulerich@gmail.com>
  • Dijkstra’s Shortest path algorithm.

Roy Smith <roy@panix.com>
  • Heuristic Searching (A* algorithm).

Zsolt Haraszti <zsolt@drawwell.net>
  • Weighted random generated graphs.

Anand Jeyahar <anand.jeyahar@gmail.com>
  • Edge deletion on hypergraphs (bug fix).

Emanuele Zattin <emanuelez@gmail.com>
  • Hyperedge relinking (bug fix).

Jonathan Sternberg <jonathansternberg@gmail.com>
  • Graph comparison (bug fix);

  • Proper isolation of attribute lists (bug fix).

Daniel Merritt <dmerritt@gmail.com>
  • Fixed reading of XML-stored graphs with edge attributes.

Sandro Tosi <morph@debian.org>
  • Some improvements to Makefile

Robin Harms Oredsson <robin@betahaus.net>
  • Py3-fixes and modern distribution.

  • Unified package with optional install instead.

LICENSE

This software is provided under the MIT license. See accompanying COPYING file for details.

Release files for python-graph 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-graph 2.0.0
File Size Uploaded
python_graph-2.0.0.tar.gz 26.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for python-graph 2.0.0
File Interpreter ABI Platform
python_graph-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 84.2 kB

Release files / python_graph-2.0.0.tar.gz

Download URL python_graph-2.0.0.tar.gz
Size 26.6 kB
Tags Source
SHA-256 checksum
How to use checksums
81672ca535f3cfc0136e1a9828b860d510f7ebdb3906158a2f05f076401e22d9
BLAKE2b-256 checksum
How to use checksums
73bbe495b5daca0427ba06858d84c7cb8a325fb48911f6dc0cae083b19e65711
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / python_graph-2.0.0-py3-none-any.whl

Download URL python_graph-2.0.0-py3-none-any.whl
Size 57.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3072cac574d8a673b78246feef0d4ea22c35b3bf977ff7ffca83b5a17ecc675c
BLAKE2b-256 checksum
How to use checksums
9e5e64a619b99726fe5908dcbd246c3958fea231251d7e03fb1ad317489f378a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.8.2

1.8.1

1.8.0

1.7.0

1.6.3

1.6.2

1.6.1

1.6.0

1.5.0

1.4.2

1.4.1

1.4.0

1.3.1

1.3.0

1.2.0

1.1.1

1.1.0

1.0.0

0.85

0.75

0.65

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page