skip to navigation
skip to content

altgraph 0.14

Python graph (network) package

Package Documentation

altgraph is a fork of graphlib: a graph (network) package for constructing graphs, BFS and DFS traversals, topological sort, shortest paths, etc. with graphviz output.

altgraph includes some additional usage of Python 2.6+ features and enhancements related to modulegraph and macholib.

Release history


  • Issue #7: Remove use of iteritems in altgraph.GraphAlgo code


  • Issue #4: Graph._bfs_subgraph and back_bfs_subgraph return subgraphs with reversed edges

    Fix by “pombredanne” on bitbucket.


  • Added ObjectGraph.edgeData to retrieve the edge data from a specific edge.
  • Added AltGraph.update_edge_data and ObjectGraph.updateEdgeData to update the data associated with a graph edge.


  • Stabilize the order of elements in dot file exports, patch from bitbucket user ‘pombredanne’.
  • Tweak file to remove dependency on distribute (but keep the dependency on setuptools)


  • There where no classifiers in the package metadata due to a bug in


This is a bugfix release

Bug fixes:

  • Issue #3: The source archive contains a README.txt while the setup file refers to ReadMe.txt.

    This is caused by a misfeature in distutils, as a workaround I’ve renamed ReadMe.txt to README.txt in the source tree and setup file.


This is a minor feature release


  • Do not use “2to3” to support Python 3.

    As a side effect of this altgraph now supports Python 2.6 and later, and no longer supports earlier releases of Python.

  • The order of attributes in the Dot output is now always alphabetical.

    With this change the output will be consistent between runs and Python versions.


This is a minor bugfix release


  • Added altgraph.ObjectGraph.ObjectGraph.nodes, a method yielding all nodes in an object graph.


  • The 0.8 release didn’t work with py2app when using python 3.x.


This is a minor feature release. The major new feature is a extensive set of unittests, which explains almost all other changes in this release.


  • Installing failed with Python 2.5 due to using a distutils class that isn’t available in that version of Python (issue #1 on the issue tracker)
  • altgraph.GraphStat.degree_dist now actually works
  • altgraph.Graph.add_edge(a, b, create_nodes=False) will no longer create the edge when one of the nodes doesn’t exist.
  • altgraph.Graph.forw_topo_sort failed for some sparse graphs.
  • altgraph.Graph.back_topo_sort was completely broken in previous releases.
  • altgraph.Graph.forw_bfs_subgraph now actually works.
  • altgraph.Graph.back_bfs_subgraph now actually works.
  • altgraph.Graph.iterdfs now returns the correct result when the forward argument is False.
  • altgraph.Graph.iterdata now returns the correct result when the forward argument is False.


  • The altgraph.Graph constructor now accepts an argument that contains 2- and 3-tuples instead of requireing that all items have the same size. The (optional) argument can now also be any iterator.
  • altgraph.Graph.Graph.add_node has no effect when you add a hidden node.
  • The private method altgraph.Graph._bfs is no longer present.
  • The private method altgraph.Graph._dfs is no longer present.
  • altgraph.ObjectGraph now has a __contains__ methods, which means you can use the in operator to check if a node is part of a graph.
  • altgraph.GraphUtil.generate_random_graph will raise GraphError instead of looping forever when it is impossible to create the requested graph.
  • altgraph.Dot.edge_style raises GraphError when one of the nodes is not present in the graph. The method silently added the tail in the past, but without ensuring a consistent graph state.
  • altgraph.Dot.save_img now works when the mode is "neato".


This is a minor bugfix release


  • distutils didn’t include the documentation subtree


This is a minor feature release


  • Documentation is now generated using sphinx and can be viewed at <>.
  • The repository has moved to bitbucket
  • altgraph.GraphStat.avg_hops is no longer present, the function had no implementation and no specified behaviour.
  • the module altgraph.compat is gone, which means altgraph will no longer work with Python 2.3.


This is a minor feature release.


  • Support for Python 3

  • It is now possible to run tests using ‘python test’

    (The actual testsuite is still very minimal though)

File Type Py Version Uploaded on Size
altgraph-0.14-py2.py3-none-any.whl (md5) Python Wheel py2.py3 2017-05-09 22KB
altgraph-0.14.tar.gz (md5) Source 2017-05-09 574KB