Courses & Tutorials

Awesome Network Analysis – Massive Collection of Resources

Spread the love

Adamic and Glance’s network of political blogs, 2004.





Accessible introductions aimed at non-technical audiences.

General Overviews

Graph Theory





Recurring conferences on network analysis.




Journals that are not fully open-access are marked as “gated”. Please also note that some of the publishers listed below are deeply hurting scientific publishing.

Professional Groups

Research Groups (USA)

Network-focused research centers, (reading) groups, institutes, labs – you name it – based in the USA.

Research Groups (Other)

Network-focused research centers, (reading) groups, institutes, labs – you name it – based outside of the USA.

Review Articles

Archeological and Historical Networks

See also the bibliographies by Claire Lemercier and Claire Zalc (section on ‘études structurales’), by the Historical Network Research Group, and by Tom Brughmans.

Bibliographic, Citation and Semantic Networks

Biological, Ecological and Disease Networks

Complex and Multilayer Networks

Ethics of Network Analysis

Network Modeling

Network Visualization

Social, Economic and Political Networks

See also the bibliographies by Eszter Hargittai, by Pierre François and by Pierre Mercklé.

Selected Papers

A voluntarily short list of applied, epistemological and methodological articles, many of which have become classic readings in network analysis courses. Intended for highly motivated social science students with little to no prior exposure to network analysis.


For a hint of why this section of the list might be useful to some, see Mark Round’s Map of Data Formats and Software Tools (2009).
Several links in this section come from the NetWiki Shared Code page, from the Cambridge Networks Network List of Resources for Complex Network Analysis, and from the Software for Social Network Analysis page by Mark Huisman and Marijtje A.J. van Duijn. For a recent academic review on the subject, see the Social Network Algorithms and Software entry of the International Encyclopedia of Social and Behavioral Sciences, 2nd edition (2015).
See also the Social Network Analysis Project Survey (blog post), an earlier attempt to chart social network analysis tools that links to many commercial platforms not included in this list, such as The Wikipedia English entry on Social Network Analysis Software also links to many commercial that are often very expensive, outdated, and far from being awesome by any reasonable standard.
Software-centric tutorials are listed below their program of choice: other tutorials are listed in the next section.


Network placement and community detection algorithms that do not fit in any of the next subsections.
See also the Awesome Algorithms and Awesome Algorithm Visualization lists for more algorithmic awesomess.

C / C++

For more awesome C / C++ content, see the Awesome C and Awesome C / C++ lists.


  • GraphStream – Java library for the modeling and analysis of dynamic graphs.
  • Mixer – Prototype showing how to use Apache Fluo to continuously merge multiple large graphs into a single derived one.


For more awesome JavaScript libraries, see the Awesome JavaScript list.



See also the webweb tool listed in the Python section.


Many items below are from a Google spreadsheet by Michał Bojanowski and others.
See also Social Network Analysis with Python, a 3-hour tutorial by Maksim Tsvetovat and Alex Kouznetsov given at PyCon US 2012 (code).
For more awesome Python packages, see the Awesome Python and Awesome Python Books lists.

  • dash-cytoscape – Interactive network visualization library in Python, powered by Cytoscape.js and Dash
  • graph-tool – Python module for network manipulation and analysis, written mostly in C++ for speed.
  • graphviz – Python renderer for the DOT graph drawing language.
  • GraSPy – Python package for statistical algorithms, models, and visualization for single and multiple networks.
  • hiveplot – Python utility for drawing networks as hive plots on matplotlib, a more comprehensive network visualization.
  • karateclub – Python package for unsupervised learning on graph structured data with a scikit-learn like API.
  • linkpred – Assess the likelihood of potential links in a future snapshot of a network.
  • littleballoffur – Python package for sampling from graph structured data with a scikit-learn like API.
  • metaknowledge – Python package to turn bibliometrics data into authorship and citation networks.
  • networkx – Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
  • npartite – Python algorithms for community detection in n-partite networks.
  • PyGraphistry – Python library to extract, transform, and visually explore big graphs.
  • python-igraph – Python version of the igraph network analysis package.
  • python-louvain – A solid implementation of Louvain community detection algorithm.
  • – A Python interface for SNAP (a general purpose, high performance system for analysis and manipulation of large networks).
  • SnapVX – A convex optimization solver for problems defined on a graph.
  • TQ (Temporal Quantities) – Python 3 library for temporal network analysis.
  • webweb – MATLAB/Python library to produce interactive network visualizations with d3.js.


For more awesome R resources, see the Awesome R and Awesome R Books lists. See also this Google spreadsheet by Ian McCulloh and others.
To convert many different network model results into tidy data frames, see the broom package. To convert many different network model results into LaTeX or HTML tables, see the texreg package.



Generic graph syntaxes intended for use by several programs.


Tutorials that are not focused on a single specific software package or program.


Resources that do not fit in other categories.

Blog Series

Series of blog posts on network topics.

Fictional Networks

Explorations of fictional character networks.

Network Science

Discussions of what “netsci” is about and means for other scientific disciplines.

Small Worlds

Links focused on (analogues to) Stanley Milgram’s small-world experiment.

Two-Mode Networks

Also known as bipartite graphs.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button