Reticula: Temporal network and hypergraphs#

Reticula is a general purpose C++ library and Python package for fast and efficient analysis of temporal networks and static and temporal hypergraphs. Currently, the library supports multiple methods of generating and randomising networks, using various algorithms to calculate network properties and running those algorithms safely in a multi-threaded environment.

The names Reticula is the plural form of reticulum, a Latin word meaning network or a network-like (reticulated) structure.

You can install the latest version of the Python package from the Python Package Index, using the command:

$ python -m pip install --upgrade reticula

The Python package is available on most relatively modern Windows, MacOS and Linux systems. MacOS package provides universal binaries supporting both ARM and x64 hardware. Support for the ARM architecture on Windows and Linux will be introduced in future versions.

A brief example: Let us generate an Erdős–Rényi network and find its largest connected component:

example.py#
import reticula as ret

state = ret.mersenne_twister(42)
g = ret.random_gnp_graph[ret.int64](n=100, p=0.02, random_state=state)

lcc = ret.largest_connected_component(g)
print(lcc)

Running this script will print an output like this:

$ python example.py
<component[int64] of 93 nodes: {99, 96, ...}>