SNAP System

Stanford Network Analysis Platform (SNAP) is a general purpose, high performance system for analysis and manipulation of large networks. Graphs consists of nodes and directed/undirected/multiple edges between the graph nodes. Networks are graphs with data on nodes and/or edges of the network.

The core SNAP library is written in C++ and optimized for maximum performance and compact graph representation. It easily scales to massive networks with hundreds of millions of nodes, and billions of edges. It efficiently manipulates large graphs, calculates structural properties, generates regular and random graphs, and supports attributes on nodes and edges. Besides scalability to large graphs, an additional strength of SNAP is that nodes, edges and attributes in a graph or a network can be changed dynamically during the computation.

SNAP was originally developed by Jure Leskovec in the course of his PhD studies. The first release was made available in Nov, 2009. SNAP uses a general purpose STL (Standard Template Library)-like library GLib developed at Jozef Stefan Institute. SNAP and GLib are being actively developed and used in numerous academic and industrial projects.


Download SNAP

Download SNAP HERE!

Complete source code for the core SNAP and GLib libraries is available under the BSD license.

SNAP works on Windows with Visual Studio or Cygwin with GCC, Mac OS X, Linux and other Unix variants with GCC installed. SNAP is largely self-contained and has minimal dependency requirements on other packages.

User Documentation

Quick Introduction

An high level overview of SNAP usage.

Installation and Compilation

Instructions on how to compile SNAP programs.

Package Description

A description of SNAP distribution package.

User Reference Manual

A detailed cross-reference to all classes and methods in SNAP.


Mailing List

For any questions or a discussion about SNAP installation, use, and development, please use the SNAP Users mailing list. To post to the group, send your message to snap-discuss at googlegroups dot com.

Developer Resources

GitHub SNAP Repository

A public development repository is available at GitHub snap-stanford/snap.

Developer Reference Manual

An extensive cross-reference to all classes and methods in SNAP.

SNAP C++ Programming Guide

A programming guide for contributors to the core SNAP library.