altgraph
v0.17.5Python graph (network) package
$ uv add altgraphaltgraph 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.
Project links
Release history
0.17.5
- Update classifiers for Python 3.13 and 3.14
- Drop dependency on "pkg_resources"
0.17.4
- Update classifiers for Python 3.12
0.17.3
- Update classifiers for Python 3.11
0.17.2
- Change in setup.py to fix the sidebar links on PyPI
0.17.1
- Explicitly mark Python 3.10 as supported in wheel metadata.
0.17
- Explicitly mark Python 3.8 as supported in wheel metadata.
- Migrate from Bitbucket to GitHub
- Run black on the entire repository
0.16.1
- Explicitly mark Python 3.7 as supported in wheel metadata.
0.16
- Add LICENSE file
0.15
ObjectGraph.get_edges,ObjectGraph.getEdgeDataandObjectGraph.updateEdgeData
accept None as the node to get and treat this as an alias for self (as other methods already did).
0.14
- Issue #7: Remove use of
iteritemsin altgraph.GraphAlgo code
0.13
- Issue #4: Graph._bfs_subgraph and back_bfs_subgraph return subgraphs with reversed edges
Fix by "pombredanne" on bitbucket.
0.12
- Added
ObjectGraph.edgeDatato retrieve the edge data
from a specific edge.
- Added
AltGraph.update_edge_dataandObjectGraph.updateEdgeData
to update the data associated with a graph edge.
0.11
- Stabilize the order of elements in dot file exports,
patch from bitbucket user 'pombredanne'.
- Tweak setup.py file to remove dependency on distribute (but
keep the dependency on setuptools)
0.10.2
- There where no classifiers in the package metadata due to a bug
in setup.py
0.10.1
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.
0.10
This is a minor feature release
Features:
- 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.
0.9
This is a minor bugfix release
Features:
- Added
altgraph.ObjectGraph.ObjectGraph.nodes, a method
yielding all nodes in an object graph.
Bugfixes:
- The 0.8 release didn't work with py2app when using
python 3.x.
0.8
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.
Bugfixes:
- 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_distnow 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_sortfailed for some sparse graphs.
altgraph.Graph.back_topo_sortwas completely broken in
previous releases.
altgraph.Graph.forw_bfs_subgraphnow actually works.
altgraph.Graph.back_bfs_subgraphnow actually works.
altgraph.Graph.iterdfsnow returns the correct result
when the forward argument is False.
altgraph.Graph.iterdatanow returns the correct result
when the forward argument is False.
Features:
- The
altgraph.Graphconstructor 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_nodehas no effect when you
add a hidden node.
- The private method
altgraph.Graph._bfsis no longer
present.
- The private method
altgraph.Graph._dfsis no longer
present.
altgraph.ObjectGraphnow 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_graphwill raise
GraphError instead of looping forever when it is impossible to create the requested graph.
altgraph.Dot.edge_styleraisesGraphErrorwhen
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_imgnow works when the mode is
"neato".
0.7.2
This is a minor bugfix release
Bugfixes:
- distutils didn't include the documentation subtree
0.7.1
This is a minor feature release
Features:
- Documentation is now generated using sphinx
and can be viewed at <http://packages.python.org/altgraph>.
- The repository has moved to bitbucket
altgraph.GraphStat.avg_hopsis no longer present, the function had no
implementation and no specified behaviour.
- the module
altgraph.compatis gone, which means altgraph will no
longer work with Python 2.3.
0.7.0
This is a minor feature release.
Features:
- Support for Python 3
- It is now possible to run tests using 'python setup.py test'
(The actual testsuite is still very minimal though)
Details
- Version
- 0.17.5
- License
- MIT License
- Maintainer
- Ronald Oussoren
Release Cadence
Maintainers
- Ronald Oussoren · [email protected]