Article · Wikipedia archive · Last revised Jul 12, 2026

Graph-tool

graph-tool is a Python module for manipulation and statistical analysis of graphs. The core data structures and algorithms of graph-tool are implemented in C++, making extensive use of metaprogramming, based heavily on the Boost Graph Library. Many algorithms are implemented in parallel using OpenMP, which provides increased performance on multi-core architectures.

Last revised
Jul 12, 2026
Read time
≈ 2 min
Length
517 w
Citations
11
Source
Graph Tool
DeveloperTiago P. Peixoto
Stable release
2.45 / 22 May 2022 (2022-05-22)
Written inPython, C++
Operating systemOS X, Linux
TypeSoftware library
LicenseLGPL
Websitegraph-tool.skewed.de
Repository

graph-tool is a Python module for manipulation and statistical analysis of graphs (AKA networks). The core data structures and algorithms of graph-tool are implemented in C++, making extensive use of metaprogramming, based heavily on the Boost Graph Library.1 Many algorithms are implemented in parallel using OpenMP, which provides increased performance on multi-core architectures.

Features

Suitability

Graph-tool can be used to work with very large graphs in a variety of contexts, including simulation of cellular tissue,2 data mining,34 analysis of social networks,56 analysis of P2P systems,7 large-scale modeling of agent-based systems,8 theoretical assessment and modeling of network clustering,9 large-scale call graph analysis,10 and analysis of the brain's Connectome.11

References

References

  1. Graph-tool performance comparison, Graph-tool
  2. Bruno Monier et al, "Apico-basal forces exerted by apoptotic cells drive epithelium folding", Nature, 2015 [1]
  3. Ma, Shuai, et al. "Distributed graph pattern matching." Proceedings of the 21st international conference on World Wide Web. ACM, 2012. [2]
  4. Ma, Shuai, et al. "Capturing topology in graph pattern matching." Proceedings of the VLDB Endowment 5.4 (2011): 310-321. [3]
  5. Janssen, E., M. A. T. T. Hurshman, and N. A. U. Z. E. R. Kalyaniwalla. "Model selection for social networks using graphlets." Internet Mathematics (2012). [4]
  6. Asadi, Hirad Cyrus. Design and implementation of a middleware for data analysis of social networks. Diss. M Sc thesis report, KTH School of Computer Science and Communication, Stockholm, Sweden, 2007. [5] Archived 2015-01-22 at the Wayback Machine
  7. Teresniak, Sven, et al. "Information-Retrieval in einem P2P-Netz mit Small-World-Eigenschaften Simulation und Evaluation des SemPIR-Modells."[6] Archived 2015-01-22 at the Wayback Machine
  8. Hamacher, Kay, and Stefan Katzenbeisser. "Public security: simulations need to replace conventional wisdom." Proceedings of the 2011 workshop on New security paradigms workshop. ACM, 2011. [7]
  9. Abdo, Alexandre H., and A. P. S. de Moura. "Clustering as a measure of the local topology of networks." arXiv preprint physics/0605235 (2006). [8]
  10. Narayan, Ganesh, K. Gopinath, and V. Sridhar. "Structure and interpretation of computer programs." Theoretical Aspects of Software Engineering, 2008. TASE'08. 2nd IFIP/IEEE International Symposium on. IEEE, 2008. [9]
  11. Gerhard, Stephan, et al. "The connectome viewer toolkit: an open source framework to manage, analyze, and visualize connectomes." Frontiers in neuroinformatics 5 (2011). [10]
External links