queueing-tool

Simulator for queueing networks written in Python

https://github.com/djordon/queueing-tool

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.9%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

Simulator for queueing networks written in Python

Basic Info
Statistics
  • Stars: 68
  • Watchers: 6
  • Forks: 10
  • Open Issues: 13
  • Releases: 10
Created over 11 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License Citation

README.rst

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

Owner

  • Name: Daniel Jordon
  • Login: djordon
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.1.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Jordon
    given-names: Daniel
    orcid: "https://orcid.org/0000-0001-8633-4359"
title: "Queueing-tool: a queueing network simulator"
version: v1.2.5
doi: 10.5281/zenodo.8057970
date-released: 2023-06-20
url: "https://github.com/djordon/queueing-tool"

GitHub Events

Total
  • Issues event: 1
  • Watch event: 2
  • Issue comment event: 3
  • Pull request review event: 2
  • Pull request review comment event: 2
  • Pull request event: 1
  • Fork event: 1
  • Create event: 1
Last Year
  • Issues event: 1
  • Watch event: 2
  • Issue comment event: 3
  • Pull request review event: 2
  • Pull request review comment event: 2
  • Pull request event: 1
  • Fork event: 1
  • Create event: 1

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 267
  • Total Committers: 7
  • Avg Commits per committer: 38.143
  • Development Distribution Score (DDS): 0.3
Top Committers
Name Email Commits
djordon d****n@g****m 187
Daniel Jordon d****n@u****m 64
dependabot[bot] 4****]@u****m 6
Daniel Jordon d****n@u****m 3
Daniel Jordon d****a@u****m 3
djordon d****l@s****m 2
Jose Diaz-Gonzalez e****l@j****m 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 60
  • Total pull requests: 69
  • Average time to close issues: 5 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 19
  • Total pull request authors: 6
  • Average comments per issue: 2.47
  • Average comments per pull request: 0.13
  • Merged pull requests: 61
  • Bot issues: 0
  • Bot pull requests: 34
Past Year
  • Issues: 3
  • Pull requests: 8
  • Average time to close issues: about 8 hours
  • Average time to close pull requests: about 1 hour
  • Issue authors: 3
  • Pull request authors: 2
  • Average comments per issue: 1.33
  • Average comments per pull request: 0.25
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 5
Top Authors
Issue Authors
  • djordon (31)
  • arsiboo (6)
  • jeroenburgt (3)
  • paulaceccon (2)
  • mifluder (2)
  • galenseilis (2)
  • AbdellahiMrabet (1)
  • romeshprasad (1)
  • ZeyuLuan (1)
  • marco-create (1)
  • ibirisol (1)
  • MihaelaMia (1)
  • phschaad (1)
  • 100518832 (1)
  • spanchenko (1)
Pull Request Authors
  • dependabot[bot] (45)
  • djordon (28)
  • galenseilis (6)
  • lauploix (2)
  • josegonzalez (2)
  • codacy-badger (1)
Top Labels
Issue Labels
Tasks (16) enhancement (10) bug (6)
Pull Request Labels
dependencies (45) python (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 84 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 2
  • Total versions: 12
  • Total maintainers: 1
pypi.org: queueing-tool

A queueing network simulator

  • Versions: 12
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 84 Last month
Rankings
Stargazers count: 8.6%
Dependent packages count: 10.1%
Average: 11.5%
Dependent repos count: 11.6%
Forks count: 12.5%
Downloads: 14.8%
Maintainers (1)
Last synced: 7 months ago

Dependencies

docs/requirements.txt pypi
  • Cython ==0.29.6
  • alabaster ==0.7.12
  • matplotlib ==1.5.1
  • mock ==1.0.1
  • networkx ==1.11
  • numpy ==1.10.4
  • pygraphviz ==1.3.1
  • pytest ==4.4.0
  • pytest-cov ==2.6.1
  • pytest-sugar ==0.9.2
  • sphinx ==1.3.6
setup.py pypi
  • networkx >=1.9
  • numpy >=1.9
.github/workflows/auto-tagging.yml actions
  • actions/checkout v3 composite
  • djordon/git-autotag-action v0.5.4 composite
.github/workflows/run-tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • coverallsapp/github-action master composite
poetry.lock pypi
  • Cython 0.29.32 develop
  • Pygments 2.13.0 develop
  • SecretStorage 3.3.3 develop
  • appnope 0.1.3 develop
  • asttokens 2.0.8 develop
  • attrs 22.1.0 develop
  • backcall 0.2.0 develop
  • bleach 5.0.1 develop
  • certifi 2022.12.7 develop
  • cffi 1.15.1 develop
  • charset-normalizer 2.1.1 develop
  • colorama 0.4.5 develop
  • commonmark 0.9.1 develop
  • coverage 6.5.0 develop
  • cryptography 38.0.3 develop
  • decorator 5.1.1 develop
  • docutils 0.19 develop
  • executing 1.1.0 develop
  • idna 3.4 develop
  • iniconfig 1.1.1 develop
  • ipdb 0.13.9 develop
  • ipython 8.5.0 develop
  • jaraco.classes 3.2.3 develop
  • jedi 0.18.1 develop
  • jeepney 0.8.0 develop
  • keyring 23.9.3 develop
  • matplotlib-inline 0.1.6 develop
  • more-itertools 8.14.0 develop
  • parso 0.8.3 develop
  • pexpect 4.8.0 develop
  • pickleshare 0.7.5 develop
  • pkginfo 1.8.3 develop
  • pluggy 1.0.0 develop
  • prompt-toolkit 3.0.31 develop
  • ptyprocess 0.7.0 develop
  • pure-eval 0.2.2 develop
  • py 1.11.0 develop
  • pycparser 2.21 develop
  • pytest 7.1.3 develop
  • pytest-cov 4.0.0 develop
  • pytest-sugar 0.9.5 develop
  • pywin32-ctypes 0.2.0 develop
  • readme-renderer 37.2 develop
  • requests 2.28.1 develop
  • requests-toolbelt 0.10.0 develop
  • rfc3986 2.0.0 develop
  • rich 12.6.0 develop
  • stack-data 0.5.1 develop
  • termcolor 2.0.1 develop
  • toml 0.10.2 develop
  • traitlets 5.4.0 develop
  • twine 4.0.1 develop
  • urllib3 1.26.12 develop
  • wcwidth 0.2.5 develop
  • webencodings 0.5.1 develop
  • contourpy 1.0.5
  • cycler 0.11.0
  • fonttools 4.37.4
  • importlib-metadata 5.0.0
  • kiwisolver 1.4.4
  • matplotlib 3.6.0
  • networkx 2.8.6
  • numpy 1.23.3
  • packaging 21.3
  • pillow 9.3.0
  • pyparsing 3.0.9
  • python-dateutil 2.8.2
  • setuptools 65.5.1
  • setuptools-scm 7.0.5
  • six 1.16.0
  • tomli 2.0.1
  • typing-extensions 4.3.0
  • zipp 3.8.1
pyproject.toml pypi
  • importlib-metadata ^5.0.0
  • matplotlib ^3.6.0
  • networkx ^2.8.6
  • numpy ^1.23.3
  • python >=3.8,<3.12