Simulation Tools for Education and Practice
Project description
sim-tools
: tools to support the Discrete-Event Simulation process in python.
sim-tools
is being developed to support Discrete-Event Simulation (DES) and Monte-Carlo Simulation education and applied simulation research. It is MIT licensed and freely available to practitioners, students and researchers via PyPi and conda-forge
Vision for sim-tools
- Deliver high quality reliable code for DES and Monte-Carlo Simulation education and practice with full documentation.
- Provide a simple to use pythonic interface.
- To improve the quality of simulation education using FOSS tools and encourage the use of best practice.
Features:
- Implementation of classic Optimisation via Simulation procedures such as KN, KN++, OBCA and OBCA-m
- Theoretical and empirical distributions module that includes classes that encapsulate a random number stream, seed, and distribution parameters.
- An extendable Distribution registry that provides a quick reproduible way to parameterise simulation models.
- Implementation of Thinning to sample from Non-stationary Poisson Processes (time-dependent) in a DES.
- Automatic selection of the number of replications to run via the Replications Algorithm.
- EXPERIMENTAL: model trace functionality to support debugging of simulation models.
Installation
Pip and PyPi
pip install sim-tools
Conda-forge
conda install -c conda-forge sim-tools
Mamba
mamba
is a FOSS alternative to conda
that is also quicker at resolving and installing environments.
mamba install sim-tools
Binder
Learn how to use sim-tools
- Online documentation: https://tommonks.github.io/sim-tools
- Introduction to DES in python: https://health-data-science-or.github.io/simpy-streamlit-tutorial/
Citation
If you use sim0tools for research, a practical report, education or any reason please include the following citation.
Monks, Thomas. (2021). sim-tools: tools to support the forecasting process in python. Zenodo. http://doi.org/10.5281/zenodo.4553642
@software{sim_tools,
author = {Thomas Monks},
title = {sim-tools: fundamental tools to support the simulation process in python},
year = {2021},
publisher = {Zenodo},
doi = {10.5281/zenodo.4553642},
url = {http://doi.org/10.5281/zenodo.4553642}
}
Online Tutorials
Contributing to sim-tools
Please fork Dev, make your modifications, run the unit tests and submit a pull request for review.
Development environment:
-
conda env create -f binder/environment.yml
-
conda activate sim_tools
All contributions are welcome!
Tips
Once in the sim_tools
environment, you can run tests using the following command:
pytest
To view the documentation, navigate to the top level directory of the code repository in your terminal and issue the following command to build the Jupyter Book:
jb build docs/
To lint the repository, run:
bash lint.sh
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sim_tools-0.9.0.tar.gz
.
File metadata
- Download URL: sim_tools-0.9.0.tar.gz
- Upload date:
- Size: 40.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
019d5018fcd962a1d0f3d6fdb48c35c9d8898bf926320db77d01943985d9f9be
|
|
MD5 |
ad50eb0f2d2abc9aa22974e8fd62d4da
|
|
BLAKE2b-256 |
b4e7affd5b63ca5bc1f0facb7d0eb45964cf30924095f14ab4a764dad9be3f97
|
File details
Details for the file sim_tools-0.9.0-py3-none-any.whl
.
File metadata
- Download URL: sim_tools-0.9.0-py3-none-any.whl
- Upload date:
- Size: 46.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
b071525c9e36f430981c5d64a85ea7e6fa9b83e6bcb9327cae4a03b79272b3a1
|
|
MD5 |
d72a8d991d19639ed3f2eb3381ec4a86
|
|
BLAKE2b-256 |
e33ded4fedb89f6fe08262b04940deb3b6da576c88550f5f49c6671d497984d7
|