Metadata-Version: 2.1
Name: PyDistSim
Version: 1.0.1.dev0
Summary: A high-level Python library for simulation of distributed algorithms.
Author-email: Agustin Recoba <agustin.recoba@outlook.com>, Damir Arbula <damir.arbula@gmail.com>
Project-URL: Homepage, https://github.com/agustin-recoba/pydistsim
Project-URL: Issues, https://github.com/agustin-recoba/pydistsim/issues
Project-URL: Documentation, https://pydistsim.readthedocs.io/
Project-URL: Repository, https://github.com/agustin-recoba/pydistsim.git
Project-URL: CI-CD, https://app.travis-ci.com/github/agustin-recoba/pydistsim/
Project-URL: Test Coverage, https://coveralls.io/github/agustin-recoba/pydistsim
Keywords: Networks,Distributed algorithms
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Distributed Computing
Classifier: Topic :: System :: Networking
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Requires-Python: >=3.11
Description-Content-Type: text/x-rst
License-File: LICENSE.txt
Requires-Dist: ipython==8.26.0
Requires-Dist: matplotlib==3.9.2
Requires-Dist: networkx==3.3
Requires-Dist: numpy==2.0.1
Requires-Dist: pandas==2.2.2
Requires-Dist: seaborn==0.13.2
Requires-Dist: scipy==1.14.0
Requires-Dist: loguru==0.7.2
Requires-Dist: pypng==0.20220715.0
Provides-Extra: dev
Requires-Dist: pytest==8.2.0; extra == "dev"
Requires-Dist: pytest-cov==5.0.0; extra == "dev"
Requires-Dist: pytest-sugar==1.0.0; extra == "dev"
Requires-Dist: memray==1.13.4; extra == "dev"
Requires-Dist: Sphinx==7.3.7; extra == "dev"
Requires-Dist: sphinx-rtd-theme==2.0.0; extra == "dev"
Requires-Dist: virtualenv==20.26.3; extra == "dev"
Requires-Dist: coverage==7.6.1; extra == "dev"
Requires-Dist: pre-commit==3.8.0; extra == "dev"
Requires-Dist: pytest-xdist==3.6.1; extra == "dev"
Provides-Extra: gui
Requires-Dist: PySide6==6.7.2; extra == "gui"

PyDistSim
=========

|travis| |readthedocs| |codefactor| |coveralls|

.. |travis| image:: https://app.travis-ci.com/agustin-recoba/pydistsim.svg?token=zk1hY6ZALwZTY3bjX2Aq&branch=main
    :target: https://app.travis-ci.com/agustin-recoba/pydistsim
    :alt: Build Status
.. |coveralls| image:: https://coveralls.io/repos/github/agustin-recoba/PyDistSim/badge.svg?branch=main
    :target: https://coveralls.io/github/agustin-recoba/PyDistSim?branch=main
    :alt: Coverage Status
.. |readthedocs| image:: https://readthedocs.org/projects/pydistsim/badge/?version=main
    :target: https://pydistsim.readthedocs.io/?badge=main
    :alt: Documentation Status
.. |codefactor| image:: https://www.codefactor.io/repository/github/agustin-recoba/pydistsim/badge
   :target: https://www.codefactor.io/repository/github/agustin-recoba/pydistsim
   :alt: CodeFactor


PyDistSim is a Python package for event-based simulation and evaluation of distributed algorithms. It is a fork of the
deprecated `Pymote <https://github.com/darbula/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 <https://www.fing.edu.uy/>`_.

Definition of the distributed environment, entities and actions used for making PyDistSim are taken mainly from
`Design and Analysis of Distributed Algorithms <http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0471719978,descCd-description.html>`_
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.

.. image:: ../docs/install/_images/pydistsim_console_gui.png
   :align: center
   :alt: PyDistSim console and gui
.. image:: docs/install/_images/pydistsim_console_gui.png
   :align: center
   :alt: PyDistSim console and gui

\

PyDistSim is being developed on top of `NetworkX <https://github.com/networkx/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 <https://pydistsim.readthedocs.io/en/main/install/installation.html>`_.

Literature
----------

Santoro, N.: *Design and Analysis of Distributed Algorithms*, `2006 <http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0471719978,descCd-description.html>`_

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 <https://journals.sagepub.com/doi/10.1155/2013/797354>`_

Recoba, A: *PyDistSim: Framework de simulación de algoritmos distribuidos en redes en Python*, 2024
