Skip to content

Python package for event based simulation and evaluation of distributed algorithms.

License

Notifications You must be signed in to change notification settings

agustin-recoba/PyDistSim

Repository files navigation

PyDistSim

Build Status Documentation Status CodeFactor Coverage Status

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 console and gui

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.

Installation

For installation instructions please visit the documentation.

Literature

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