Python-graph

Latest version: v1.8.2

Safety actively analyzes 619426 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

1.8.2

Fixes:
The find_cycle function now accepts instances of any subtype of graph and digraph.


Release 1.8.1 [Jan 08, 2012]

Enhancements:
Shortest-path now executes in O(n*log(n)) instead of O(n^2).

Fixes:
Shortest-path raises KeyError when the source node is not on the graph;
Bellman-Ford algorithm now works for unconnected graphs (Issue 87);
Linking, unlinking and relinking a hypernode to hyperedge now works as expected (Issue 86);
Graph comparison does not raise exceptions anymore (Issue 88);
Fixed undesired sharing of attribute lists (Issue 92);
Fixed reading of XML-stored graphs with edge attributes;
Fixed calculation of minimal spanning trees of graphs with negative-weighted edges (Issue 102).


Release 1.8.0 [Oct 01, 2010]

Enhancements:
Added Pagerank algorithm;
Added Gomory-Hu cut-tree algorithm.

Fixes:
Edges from one node to itself are no longer duplicated (Issue 75).


Release 1.7.0 [Mar 20, 2010]

Enhancements:
Added equality test for graphs, digraphs and hypergraphs;
Added has_edge() and has_hyperedge() methods to hypergraph objects;
Accepting subtypes of graph, digraph and hypergraph in dot-language output (Issue 64);
Added Bellman-Ford algorithm;
Added Edmonds-Karp Maximum-Flow algorithm.

Fixes:
Adding an edge with a label to a digraph now works again;
Deleting an edge of a hypergraph now deletes its attributes;
Node attributes on hypergraphs work now;
Checking for node equality correctly in find_cycle;
Avoiding errors caused by deep recursion on many algorithms (Issue 66).


Release 1.6.3 [Dec 13, 2009]

Enhancements:
Added Python3 support (support for Python 2.5 and lower was dropped).

Fixes:
Adding a graph to a digraph now works (Issue 39);
Fixed the reading of graphs and digraphs stored in XML.

Important API Changes:
Edges are now passed around as generic objects. In the case of graph / digraph this is a tuple;
Removed traversal() method from graph and digraph classes;
Removed accessibility, connected_components, cut_nodes and cut_hyperedges from hypergraph class;
Functions for reading a hypergraph doesn't take an empty hypergraph as argument anymore.


Release 1.6.2 [Sep 30, 2009]

Important API Changes:
Adding an arrow to an non existing node on a digraph now fails sanely (Issue 35);
Adding an already added node to a graph or digraph now raises an exception (AdditionError);
Adding an already added edge to a graph or digraph now raises an exception (AdditionError);
pygraph.classes.Classname.classname classes were renamed to pygraph.classes.classname.classname;
pygraph.algorithms.filters.Filtername.filtername filters were renamed to pygraph.algorithms.filters.filtername.filtername;
pygraph.algorithms.heuristics.Heuristicname.heuristicname heuristics were renamed to pygraph.algorithms.heuristics.heuristicname.heuristicname;
hypergraph's read() and write() methods were removed.


Release 1.6.1 [Jul 04, 2009]

Enhancements:
Added reverse method to the digraph class.

Important API Changes:
Removed methods calling algorithms from graph and digraph classes;
pygraph.algorithms.cycles.find_cycle does not take argument directed anymore;
Removed methods read, write and generate from graph and digraph classes;
Functions for writing and reading graphs now in pygraph.readwrite.


Release 1.6.0 [Jun 06, 2009]

Important API Changes:
Module name was renamed to pygraph;
python_graph_exception was renamed to GraphError;
Exception unreachable was renamed to NodeUnreachable;
get_edge_weight was renamed to edge_weight;
get_edge_label was renamed to edge_label;
get_edge_attributes was renamed to edge_attributes;
get_node_attributes was renamed to node_attributes;
degree was renamed to node_degree;
order was renamed to node_order.


Release 1.5.0 [May 03, 2009]

Enhancements:
Assymptotically faster Mutual Accessibility (now using Tarjan's algorithm);
DOT-Language importing;
Transitive edge detection;
Critical path algorithm.

Fixes:
Cycle detection algorithm was reporting wrong results on some digraphs;
Removed Minimal Spanning Tree from Digraphs as Prim's algorithm does not work on them (Issue 28).
Deletion of A--A edge raised an exception;
Deletion of an node with an A--A edge raised an exception.

Important API Changes:
Removed minimal_spanning_tree() method from the digraph class.


Release 1.4.2 [Feb 22, 2009]

Fixes:
find_cycle() trapped itself in infinite recursion in some digraphs (Issue 22).


Release 1.4.1 [Feb 09, 2009]

Fixes:
graph.algorithms.filters was not being installed (Issue 20).


Release 1.4.0 [Feb 07, 2009]

Enhancements:
Added Asearch algorithm (as heuristic_search);
Added Chow's and Euclidean heuristics for A*;
Added filtered depth-first and breadth-first search;
Added 'find' search filter (stops the search after reaching a target node);
Added 'radius' search filter (radial limit for searching);
Moved to setuptools.

Fixes:
Breadth first search was omitting the first node in level ordering when no root was specified.


Release 1.3.1 [Oct 27, 2008]

Fixes:
Graph and digraph inverse was not working;
Node removal in digraphs was not deleting all relevant edges (Issue 13).

Important API Changes:
Deprecated methods were removed.


Release 1.3.0 [Sep 28, 2008]

Enhancements:
Tree traversals (preorder and postorder).

Fixes:
Node insertion is much faster now (Issue 11).
Hypernode/hyperedge insertion also much faster.

Important API Changes:
get_nodes() is now nodes();
get_edges() is now edges();
get_neighbors() is now neighbors();
get_incidents() is now incidents();
get_order() is now order();
get_degree() is now degree().
(Former method names are deprecated and will be removed in the next release.)


Release 1.2.0 [Sep 09, 2008]

Enhancements:
Moved to new class style;
Graphs and digraphs are separated classes now;
Added level-based ordering to breadth first search;
Graph object is now iterable;
Graph object is now a container and graphobj[nodeid] iterates too;
Support for node and edge attributes (Issue 5);
Node deletion.

Fixes:
Install now works with a prefix (Issue 10);
Shortest path spanning trees did not had an explicit root.

Important API Changes:
breadth_first_search() now returns a tuple;
Arrow methods are gone. Use class digraph + edge methods for directed graphs now.


Release 1.1.1 [Sep 04, 2008]

Enhancements:
Improved install script.

Fixes:
DOT Language output now works for nodes/edges labelled with spaces.

Important API Changes:
get_neighbours() is now get_neighbors() (Issue 9).


Release 1.1.0 [Aug 31, 2008]

Enhancements:
Hypergraph support (Issue 4);
Complete and complement graph generation;
Weights in random generated graphs (Issue 8).

Fixes:
Fixed bug in cut-node identification;
Fixed bug causing wrong results for graphs with nodes labelled with values that evaluate to False (Issue 7).

Important API Changes:
get_edges() now return all edges in the graph;
get_neighbours() has the former behaviour of get_edges().


Release 1.0.0 [Aug 01, 2008]

Adds some operations;
Random graph generation;
Cut-vertex/cut-edge identification.


Release 0.85 [Jul 27, 2008]

Adds DOT-Language output (Issue 1);
Install script included (Issue 3).


Release 0.75 [Jul 06, 2008]

Added XML import/export;
Docs are bundled now.


Release 0.65 [Jun 25, 2008]

DFS, BFS and MST can be generated for given roots;
Added Dijkstra's shortest path algorithm (Issue 2).


Release 0.50 [May 13, 2008]

Some API changes;
Nodes can now be arbitrary names/objects.


Release 0.45 [May 12, 2008]

Adds Prim's minimal spanning tree.


Release 0.40 [Mar 09, 2008]

Adds topological sorting;
Support for weighted graphs.


Release 0.30 [Aug 30, 2007]

Adds algorithms for accessibility and mutual accessibility.


Release 0.20 [Jul 16, 2007]

Adds breadth-first search;
API documentation.


Release 0.10 [Jul 10, 2007]

First release;
Feat. basic operations and depth-first searching.

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.