PyDistSim is a Python package for event-based simulation and evaluation of distributed algorithms. It is a fork of the deprecated Pymote.
This fork aims at providing new features, redesigned APIs and better documentation. It is being developed by Agustin Recoba in the context of his grade thesis at Facultad de Ingeniería, Universidad de la República.
Definition of the distributed environment, entities and actions used for making PyDistSim are taken mainly from Design and Analysis of Distributed Algorithms by Nicola Santoro.
PyDistSim's main goal is to provide a framework for fast implementation, easy simulation and data-driven algorithmic analysis of distributed algorithms.
Currently, PyDistSim supports IPython console or Jupyter notebooks. The gui is still in development and is not recommended for any type of use.
PyDistSim is being developed on top of NetworkX and is meant to be used along other scientific packages such as SciPy, NumPy and matplotlib. Currently, gui runs on PySide (Qt bindings) and console is jazzy IPython.
For installation instructions please visit the documentation.
Santoro, N.: Design and Analysis of Distributed Algorithms, 2006
Arbula, D. and Lenac, K.: Pymote: High Level Python Library for Event-Based Simulation and Evaluation of Distributed Algorithms, International Journal of Distributed Sensor Networks, Volume 2013
Recoba, A: PyDistSim: Framework de simulación de algoritmos distribuidos en redes en Python, 2024