Encyclopedia of Social Network Analysis and Mining

Living Edition
| Editors: Reda Alhajj, Jon Rokne

Python Packages for Networks

Living reference work entry
DOI: https://doi.org/10.1007/978-1-4614-7163-9_110210-1




Comma-separated values is a plain text format for storing tabular data.


JavaScript Object Notation is a data-interchange plain text format.

Large network

A network with several thousands or millions of nodes.

Network analysis

A study of networks as representations of relations between discrete objects.


Python is a high-level general-purpose programming language and easy to understand and learn. To deal with networks, different representations of networks in Python were proposed. On their basis, several Python libraries were developed to support programming of network analysis tasks.


Python is an open-source, interpreted, interactive, object-oriented programming language (Python Software Foundation, https://www.python.org/). Its name comes from the BBC TV show Monty Python’s Flying Circus. It runs on all main platforms: Windows, MAC,...

This is a preview of subscription content, log in to check access.



The work was partially supported by Slovenian Research Agency (ARRS) projects J7-8279 and J1-6720 and grant P1-0294.


  1. Al-Taie MZ, Kadry S (2017) Python for graph and network analysis. Springer, ChamCrossRefGoogle Scholar
  2. Batagelj V, Praprotnik S (2016) An algebraic approach to temporal network analysis based on temporal quantities. Soc Netw Anal Min 6(1):1–22CrossRefzbMATHGoogle Scholar
  3. Berge C (1958) Théorie des graphes et ses applications. Dunod, Paris. The theory of graphs. Courier Co., 1962zbMATHGoogle Scholar
  4. Caldarelli G, Chessa A (2016) Data science and complex networks: real cases studies with Python. Oxford University Press, OxfordCrossRefzbMATHGoogle Scholar
  5. Csárdi G, Nepusz T (2006) The igraph software package for complex network research. InterJournal Complex Systems, 1695Google Scholar
  6. Dahl OJ, Dijkstra EW, Hoare CAR (1972) Structured programming. Academic, LondonzbMATHGoogle Scholar
  7. de Nooy W, Mrvar A, Batagelj V (2012) Exploratory network analysis using Pajek. Cambridge University Press, CambridgeGoogle Scholar
  8. Doreian P, Mrvar A (2009) Partitioning signed social networks. Soc Networks 31(1):1–11CrossRefzbMATHGoogle Scholar
  9. Doreian P, Batagelj V, Ferligoj A (2005) Generalized blockmodeling. Cambridge University Press, New YorkzbMATHGoogle Scholar
  10. Ferligoj A, Batagelj V (1982) Clustering with relational constraint. Psychometrika 47(4):413–426MathSciNetCrossRefzbMATHGoogle Scholar
  11. Fouss F, Saerens M, Shimbo M (2016) Algorithms and models for network data and link analysis. Cambridge University Press, Cambridge, UKCrossRefGoogle Scholar
  12. Gohlke C (2011) Unofficial windows binaries for Python extension packages. http://www.lfd.uci.edu/~gohlke/pythonlibs/
  13. Granoveter M (1973) The strength of weak ties. Am J Sociol 78(6):1360–1380CrossRefGoogle Scholar
  14. Hagberg A, Schult D, Swart P (2008) Exploring network structure, dynamics, and function using NetworkX. In: Varoquaux G, Vaught T, Millman J (eds) Proceedings of the 7th Python in science conference (SciPy 2008), pp 11–15Google Scholar
  15. Harary F (1969) Graph theory. Addison-Wesley, ReadingGoogle Scholar
  16. Hetland ML (2010) Python Algorithms: mastering basic algorithms in the Python Language. Apress, New YorkGoogle Scholar
  17. Joyner D, Nguyen MV, Phillips D (2013) Algorithmic graph theory and Sage. https://code.google.com/archive/p/graphbook/
  18. Leskovec J, Sosič R (2016) SNAP: a general purpose network analysis and graph mining library. ACM Trans Intell Syst Technol 8(1): 1 https://dl.acm.org/citation.cfm?id=2898361
  19. Staudt C, Sazonovs A, Meyerhenke H (2016) NetworKit: a tool suite for large-scale complex network analysis. Netw Sci 4(4):508–530CrossRefGoogle Scholar
  20. Traxl D, Boers N, Kurths J (2016) Deep graphs – a general framework to represent and analyze heterogeneous complex systems across scales. Chaos 26(6):065303MathSciNetCrossRefzbMATHGoogle Scholar
  21. Tsvetovat M, Kouznetsov A (2011) Social network analysis for startups: finding connections on the social web. O’Reilly, SebastopolGoogle Scholar
  22. van Rossum G (1998) Python patterns – implementing graphs. https://www.python.org/doc/essays/graphs/
  23. Zykov AA (1969) Teorija konechnyh grafov I. Nauka, NovosibirskGoogle Scholar

Authors and Affiliations

  1. 1.Department of Theoretical Computer ScienceInstitute of Mathematics, Physics and MechanicsLjubljanaSlovenia
  2. 2.University of Primorska, Andrej Marušič InstituteKoperSlovenia

Section editors and affiliations

  • Vladimir Batagelj
    • 1
    • 2
  1. 1.Department of Theoretical Computer ScienceInstitute of Mathematics, Physics and MechanicsLjubljanaSlovenia
  2. 2.University of Primorska, Andrej Marušič InstituteKoperSlovenia