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
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 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