[announcement] New version from graph-tool
I'm happy to announce version 2.0.0 from graph-tool! What is new? ============ Python module ------------- It is the first stable release since years ago, and marks a full transition of graph-tool from a stand-alone program to a full python module. It is pointless to summarize all the differences, since everything changed. The new version is, for me, a lot more comfortable to work with, and the internals are a lot cleaner. Everything integrates nicely with scipy/numpy, and I hope graph-tool will be a nice addition to this framework. More algorithms ---------------- The number of algorithms has increased significantly. Now there is support for maximum flow, pagerank, motifs, isomorphism, and many more. Most algorithms in the Boost Graph Library are now available in graph-tool. Documentation ------------- This version includes full documentation, with code examples, available online and from the docstrings. The documentation has 100% coverage of every function and data structure. Read it in all its glory at: https://projects.forked.de/graph-tool/doc/ Bug fixes ========= Several. Just dig into the git archive to see the gory details: http://git.forked.de/?p=graph-tool Where to get ============ Get it from the usual place: https://projects.forked.de/graph-tool/wiki/GraphToolDownload Packages! --------- Pre-build packages are also available for Debian and Ubuntu, for those who don't want (or can't) compile everything from source. Best regards, and enjoy! Tiago
This sounds like a great news, i wasn't expecting this news so early. Just one question: i see that most of the most important algorithms (at least for me) are already there. What about shortest paths (Dijkstra and Floyd-Warshall i.e.)? Is it missing in the doc or you plan them for the future? Congratulations again for your great work. Claudio On Mon, Oct 5, 2009 at 5:45 PM, Tiago de Paula Peixoto <tiago@forked.de> wrote:
I'm happy to announce version 2.0.0 from graph-tool!
What is new? ============
Python module -------------
It is the first stable release since years ago, and marks a full transition of graph-tool from a stand-alone program to a full python module. It is pointless to summarize all the differences, since everything changed. The new version is, for me, a lot more comfortable to work with, and the internals are a lot cleaner. Everything integrates nicely with scipy/numpy, and I hope graph-tool will be a nice addition to this framework.
More algorithms ----------------
The number of algorithms has increased significantly. Now there is support for maximum flow, pagerank, motifs, isomorphism, and many more. Most algorithms in the Boost Graph Library are now available in graph-tool.
Documentation -------------
This version includes full documentation, with code examples, available online and from the docstrings. The documentation has 100% coverage of every function and data structure.
Read it in all its glory at: https://projects.forked.de/graph-tool/doc/
Bug fixes =========
Several. Just dig into the git archive to see the gory details: http://git.forked.de/?p=graph-tool
Where to get ============
Get it from the usual place:
https://projects.forked.de/graph-tool/wiki/GraphToolDownload Packages! ---------
Pre-build packages are also available for Debian and Ubuntu, for those who don't want (or can't) compile everything from source.
Best regards, and enjoy!
Tiago
_______________________________________________ graph-tool mailing list graph-tool@forked.de http://lists.forked.de/mailman/listinfo/graph-tool
-- Claudio Martella claudio.martella@gmail.com
Hi Claudio Claudio Martella wrote:
This sounds like a great news, i wasn't expecting this news so early. Just one question: i see that most of the most important algorithms (at least for me) are already there. What about shortest paths (Dijkstra and Floyd-Warshall i.e.)? Is it missing in the doc or you plan them for the future?
Shortest paths is still not there, since I wanted to make it configurable, with the "visitor" approach from the BGL reflected in graph-tool. But I decided to make a release without it, otherwise I will keep indefinitely including things. It is definitely on the list.
Congratulations again for your great work.
Thanks! Cheers, Tiago
On Mon, Oct 5, 2009 at 7:35 PM, Tiago de Paula Peixoto <tiago@forked.de> wrote:
Hi Claudio
Claudio Martella wrote:
This sounds like a great news, i wasn't expecting this news so early. Just one question: i see that most of the most important algorithms (at least for me) are already there. What about shortest paths (Dijkstra and Floyd-Warshall i.e.)? Is it missing in the doc or you plan them for the future?
Shortest paths is still not there, since I wanted to make it configurable, with the "visitor" approach from the BGL reflected in graph-tool. But I decided to make a release without it, otherwise I will keep indefinitely including things. It is definitely on the list.
I perfectly understand your decision. I have a question on this issue. I see that the distance_histogram basically calculates all-pairs shortest paths (ASSP) as it returns all the shortest distances. So some sort of ASSP is already implemented. Is it possible to access it already? Do you have any workaround suggestion for me?
Congratulations again for your great work.
Thanks!
Cheers, Tiago
_______________________________________________ graph-tool mailing list graph-tool@forked.de http://lists.forked.de/mailman/listinfo/graph-tool
-- Claudio Martella claudio.martella@gmail.com
Claudio Martella wrote:
I perfectly understand your decision. I have a question on this issue. I see that the distance_histogram basically calculates all-pairs shortest paths (ASSP) as it returns all the shortest distances. So some sort of ASSP is already implemented. Is it possible to access it already? Do you have any workaround suggestion for me?
The distance_histogram() function uses BFS/Dijkstra internally in C++, but unfortunately this is not exposed yet in the python interface. If you want to calculate ASSP now with graph-tool you have basically two options: 1 - Do it in python. This is relatively simple, if you want to do it naively: def dist_from_source(g, source): dist = g.new_vertex_property("int") dist.a = -1 dist[source] = 0 queue = [source] while len(queue) > 0: v = queue[0] del queue[0] for w in v.out_neighbours(): if dist[w] == -1: dist[w] = dist[v] + 1 queue.append(w) return dist If edges are weighted, you can use a priority queue instead. 2 - Call APSP directly form boost, with the inline() function. This is fast. def APSP(g): dists = g.new_vertex_property("vector<int>") for v in g.vertices(): dists[v] = [0]*g.num_vertices() weights = g.new_edge_property("int") weights.a = 1 inline("""floyd_warshall_all_pairs_shortest_paths(g, dists, weight_map(weights));""", ["g", "dists", "weights"], support_code="#include <boost/graph/floyd_warshall_shortest.hpp>") return dists Yes, you can do that. :-) I hope this helps. Cheers, Tiago
Ni! :D Great news! Congratulations, I've been using the devel version for a while and working with the python module is a joy. Having now full docstring documentation and examples therein makes graph-tool very easy to learn. :) ale ~~ On Mon, 2009-10-05 at 17:45 +0200, Tiago de Paula Peixoto wrote:
I'm happy to announce version 2.0.0 from graph-tool!
What is new? ============
Python module -------------
It is the first stable release since years ago, and marks a full transition of graph-tool from a stand-alone program to a full python module. It is pointless to summarize all the differences, since everything changed. The new version is, for me, a lot more comfortable to work with, and the internals are a lot cleaner. Everything integrates nicely with scipy/numpy, and I hope graph-tool will be a nice addition to this framework.
More algorithms ----------------
The number of algorithms has increased significantly. Now there is support for maximum flow, pagerank, motifs, isomorphism, and many more. Most algorithms in the Boost Graph Library are now available in graph-tool.
Documentation -------------
This version includes full documentation, with code examples, available online and from the docstrings. The documentation has 100% coverage of every function and data structure.
Read it in all its glory at: https://projects.forked.de/graph-tool/doc/
Bug fixes =========
Several. Just dig into the git archive to see the gory details: http://git.forked.de/?p=graph-tool
Where to get ============
Get it from the usual place:
https://projects.forked.de/graph-tool/wiki/GraphToolDownload Packages! ---------
Pre-build packages are also available for Debian and Ubuntu, for those who don't want (or can't) compile everything from source.
Best regards, and enjoy!
Tiago
_______________________________________________ graph-tool mailing list graph-tool@forked.de http://lists.forked.de/mailman/listinfo/graph-tool
participants (3)
-
Alexandre Hannud Abdo -
Claudio Martella -
Tiago de Paula Peixoto