A queueing network simulator
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.10, but changes going forward are only tested against Python 3.6-3.10. Queueing-tool requires networkx and numpy, and depends on matplotlib 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 plot use:
pip install queueing-tool[plotting]
Note that queueing-tool uses networkx’s pagerank implementation. As of networkx 2.8.6, they have several versions of the pagerank algorithm and queueing-tool defaults to using the version that requires scipy. If scipy is not installed then it trys the numpy based implementation.
After installation, import queueing-tool with something like:
import queueing_tool as qt
Bugs and issues
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.
Copyright and license
Code and documentation Copyright 2014-2022 Daniel Jordon. Code released under the MIT license.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.