Queueing-tool is a package for simulating and analyzing networks. It is an event based simulator that uses queues to simulate congestion and waiting on the network that includes tools for visualizing network dynamics.
The package documentation can be found at http://queueing-tool.readthedocs.org/.
- Fast simulation. Queueing-tool is designed to run very quickly; the core algorithms were written in cython.
- Visualizations. There are several tools that allow you to easily view congestion and movement within your network. This includes ready made functions for animating network dynamics, while your simulations take place.
- Full documentation. Every function and class is fully documented both online and in the docstrings.
- Fast setup. The network is represented as a networkx graph. Queueing-tool networks allow for probabilistic routing, finite capacity queues, and different blocking protocols for analyzing loss networks.
Prerequisites: Queueing-tool runs on Python 2.7 and 3.4-3.7 and it requires networkx and numpy. You will need to install matplotlib as well if you want to plot.
Installation: To install from PyPI use:
pip install queueing-tool
The above will automatically install networkx and numpy. If you want to install all optional packages, use:
pip install numpy matplotlib pygraphviz
pip install queueing-tool
After installation, import with something like:
import queueing_tool as qt
The issue tracker is at https://github.com/djordon/queueing-tool/issues. Please report any bugs or issue that you find there. Of course, pull requests are always welcome.
Code and documentation Copyright 2014-2019 Daniel Jordon. Code released under the MIT license.