{"id":13689140,"url":"https://github.com/CiwPython/Ciw","last_synced_at":"2025-05-01T23:32:22.909Z","repository":{"id":2955181,"uuid":"47995577","full_name":"CiwPython/Ciw","owner":"CiwPython","description":"Ciw is a simulation library for open queueing networks.","archived":false,"fork":false,"pushed_at":"2024-10-15T10:44:26.000Z","size":62757,"stargazers_count":149,"open_issues_count":21,"forks_count":42,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-10-15T12:10:43.584Z","etag":null,"topics":["discrete-events-simulations","python","queueing","queueing-theory","simulation"],"latest_commit_sha":null,"homepage":"http://ciw.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CiwPython.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.rst","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-12-14T19:10:50.000Z","updated_at":"2024-10-15T10:39:04.000Z","dependencies_parsed_at":"2023-07-06T15:46:35.104Z","dependency_job_id":"a1358300-e143-4c1d-b1a6-645c75589526","html_url":"https://github.com/CiwPython/Ciw","commit_stats":{"total_commits":944,"total_committers":19,"mean_commits":49.68421052631579,"dds":0.1811440677966102,"last_synced_commit":"0a05a20d2a9598ff7e12418c9b3f93345cc1c7ed"},"previous_names":[],"tags_count":57,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CiwPython%2FCiw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CiwPython%2FCiw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CiwPython%2FCiw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CiwPython%2FCiw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CiwPython","download_url":"https://codeload.github.com/CiwPython/Ciw/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224282138,"owners_count":17285776,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["discrete-events-simulations","python","queueing","queueing-theory","simulation"],"created_at":"2024-08-02T15:01:35.188Z","updated_at":"2024-11-12T13:30:50.847Z","avatar_url":"https://github.com/CiwPython.png","language":"Python","readme":"Ciw\n===\n\nA discrete event simulation library for queueing networks\n---------------------------------------------------------\n\n.. image:: https://github.com/CiwPython/Ciw/actions/workflows/tests.yml/badge.svg\n    :target: https://github.com/CiwPython/Ciw/actions/workflows/tests.yml\n\n.. image:: https://img.shields.io/pypi/v/ciw.svg\n    :target: https://pypi.python.org/pypi/Ciw\n\n.. image:: https://zenodo.org/badge/47995577.svg\n    :target: https://zenodo.org/badge/latestdoi/47995577\n\n\n.. figure:: https://github.com/CiwPython/Ciw/blob/master/docs/_static/logo_small.png?raw=true\n    :width: 150px\n    :height: 150px\n    :scale: 100%\n    :align: center\n\nCiw is a discrete event simulation library for open queueing networks.\nIt’s core features include the capability to simulate networks of queues, multiple customer classes, and implementation of Type I blocking for restricted networks.\n\n\n- `Read the documentation \u003chttps://ciw.readthedocs.io\u003e`_\n- `Contribution guidelines \u003chttps://github.com/CiwPython/Ciw/blob/master/CONTRIBUTING.rst\u003e`_\n- `Our great contributors \u003chttps://github.com/CiwPython/Ciw/blob/master/AUTHORS.rst\u003e`_\n\nInstall with :code:`pip install ciw`.\n\nCurrent supported version of Python:\n\n- Python 3.8\n- Python 3.9\n- Python 3.10\n- Python 3.11\n- Python 3.12\n\nUsage\n-----\n\nImport Ciw::\n\n    \u003e\u003e\u003e import ciw\n\nTo define an M/M/3 queue, with λ = 0.2 and μ = 0.1::\n\n    \u003e\u003e\u003e N = ciw.create_network(\n    ...     arrival_distributions=[ciw.dists.Exponential(rate=0.2)],\n    ...     service_distributions=[ciw.dists.Exponential(rate=0.1)],\n    ...     number_of_servers=[3]\n    ... )\n\nNow set a seed, create a Simulation object, and simulate for 1440 time units::\n\n    \u003e\u003e\u003e ciw.seed(1)\n    \u003e\u003e\u003e Q = ciw.Simulation(N)\n    \u003e\u003e\u003e Q.simulate_until_max_time(1440)\n\nCollect results::\n\n    \u003e\u003e\u003e recs = Q.get_all_records()\n\nManipulate results to get useful statistics, e.g. average waiting time::\n\n    \u003e\u003e\u003e waits = [r.waiting_time for r in recs]\n    \u003e\u003e\u003e sum(waits) / len(waits)\n    4.2305...\n\n\nFeatures\n--------\n\nA number of other features are also implemented, including:\n\n+ `Type I blocking \u003chttps://ciw.readthedocs.io/en/latest/Guides/Queues/queue_capacities.html\u003e`_\n+ `A large range of sampling distributions \u003chttps://ciw.readthedocs.io/en/latest/Reference/distributions.html\u003e`_\n+ `Phase-Type distributions \u003chttps://ciw.readthedocs.io/en/latest/Guides/Distributions/phasetype.html\u003e`_\n+ `Time-dependent and state-dependent distributions \u003chttps://ciw.readthedocs.io/en/latest/Guides/Distributions/time_dependent.html\u003e`_\n+ `Batch arrivals \u003chttps://ciw.readthedocs.io/en/latest/Guides/Arrivals/batching.html\u003e`_\n+ `Baulking customers \u003chttps://ciw.readthedocs.io/en/latest/Guides/CustomerBehaviour/baulking.html\u003e`_\n+ `Reneging customers \u003chttps://ciw.readthedocs.io/en/latest/Guides/CustomerBehaviour/reneging.html\u003e`_\n+ `Processor sharing \u003chttps://ciw.readthedocs.io/en/latest/Guides/Services/processor-sharing.html\u003e`_\n+ `Multiple customer classes \u003chttps://ciw.readthedocs.io/en/latest/Guides/CustomerClasses/customer-classes.html\u003e`_\n+ `Priorities \u003chttps://ciw.readthedocs.io/en/latest/Guides/CustomerClasses/priority.html\u003e`_\n+ `Server priorities \u003chttps://ciw.readthedocs.io/en/latest/Guides/Services/server_priority.html\u003e`_\n+ `Service disciplines \u003chttps://ciw.readthedocs.io/en/latest/Guides/Services/service_disciplines.html\u003e`_\n+ `Customers changing classes while queueing \u003chttps://ciw.readthedocs.io/en/latest/Guides/CustomerClasses/change-class-while-queueing.html\u003e`_\n+ `Customers changing classes after service \u003chttps://ciw.readthedocs.io/en/latest/Guides/CustomerClasses/change-class-after-service.html\u003e`_\n+ `Server schedules \u003chttps://ciw.readthedocs.io/en/latest/Guides/Services/server_schedule.html\u003e`_\n+ `Slotted services \u003chttps://ciw.readthedocs.io/en/latest/Guides/Services/slotted.html\u003e`_\n+ `State tracking \u003chttps://ciw.readthedocs.io/en/latest/Guides/System/state_trackers.html\u003e`_\n+ `Stopping the simulation after a certain amount of customers \u003chttps://ciw.readthedocs.io/en/latest/Guides/Simulation/sim_numcusts.html\u003e`_\n+ `Process-based routing \u003chttps://ciw.readthedocs.io/en/latest/Guides/Routing/process_based.html\u003e`_\n+ `Logical routing \u003chttps://ciw.readthedocs.io/en/latest/Guides/Reference/routers.html\u003e`_\n+ `Deadlock detection \u003chttps://ciw.readthedocs.io/en/latest/Guides/System/deadlock.html\u003e`_\n\n","funding_links":[],"categories":["Uncategorized","Python"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCiwPython%2FCiw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCiwPython%2FCiw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCiwPython%2FCiw/lists"}