Python graph (network) package
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.
Documentation <https://altgraph.readthedocs.io/en/latest/>
_
Issue Tracker <https://github.com/ronaldoussoren/altgraph/issues>
_
Repository <https://github.com/ronaldoussoren/altgraph/>
_
Explicitly mark Python 3.8 as supported in wheel metadata.
Migrate from Bitbucket to GitHub
Run black on the entire repository
ObjectGraph.get_edges
, ObjectGraph.getEdgeData
and ObjectGraph.updateEdgeData
accept None as the node to get and treat this as an alias for self (as other
methods already did).iteritems
in altgraph.GraphAlgo codeIssue #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 setup.py file to remove dependency on distribute (but keep the dependency on setuptools)
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
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.
This is a minor bugfix release
Features:
altgraph.ObjectGraph.ObjectGraph.nodes
, a method
yielding all nodes in an object graph.Bugfixes:
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_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
.
Features:
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
Bugfixes:
This is a minor feature release
Features:
Documentation is now generated using sphinx <http://pypi.python.org/pypi/sphinx>
_
and can be viewed at http://packages.python.org/altgraph.
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.
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)