Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/djordon/queueing-tool
Simulator for queueing networks written in Python
https://github.com/djordon/queueing-tool
Last synced: 5 days ago
JSON representation
Simulator for queueing networks written in Python
- Host: GitHub
- URL: https://github.com/djordon/queueing-tool
- Owner: djordon
- License: mit
- Created: 2014-07-09T04:39:42.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-09-24T20:41:21.000Z (about 2 months ago)
- Last Synced: 2024-10-30T09:39:27.087Z (15 days ago)
- Language: Python
- Homepage: http://queueing-tool.readthedocs.org/
- Size: 5.09 MB
- Stars: 65
- Watchers: 6
- Forks: 10
- Open Issues: 10
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.md
- License: LICENSE.txt
- Citation: CITATION.cff
Awesome Lists containing this project
- awesome-des - Github
README
Queueing-tool
=============|Build Status| |Coverage Status| |pyversion| |license| |cite|
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.Documentation
-------------The package documentation can be found at
http://queueing-tool.readthedocs.org/.Features
--------- **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 `__.Installation
------------**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:.. code:: bash
pip install queueing-tool
The above will automatically install networkx and numpy. If you want to plot use:
.. code:: bash
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:
.. code:: python
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-2024 Daniel Jordon. Code released
under the `MIT
license `__... |Build Status| image:: https://github.com/djordon/queueing-tool/actions/workflows/run-tests.yml/badge.svg
:target: https://github.com/djordon/queueing-tool/actions/workflows/run-tests.yml/badge.svg.. |Coverage Status| image:: https://coveralls.io/repos/djordon/queueing-tool/badge.svg?branch=master
:target: https://coveralls.io/r/djordon/queueing-tool?branch=master.. |pyversion| image:: https://img.shields.io/pypi/pyversions/queueing-tool.svg
:alt: Supported Python versions.
:target: http://pypi.python.org/pypi/queueing-tool/.. |license| image:: https://img.shields.io/pypi/l/queueing-tool.svg
:alt: MIT License
:target: https://opensource.org/licenses/MIT.. |cite| image:: https://zenodo.org/badge/21639582.svg
:target: https://zenodo.org/badge/latestdoi/21639582