Skip to main content

Simulation Tools for Education and Practice

Project description

Sim-tools

Tools to support Discrete-Event Simulation (DES) and Monte-Carlo Simulation education and practice

Binder DOI PyPI version fury.io Anaconda-Server Badge Anaconda-Server Badge Read the Docs License: MIT Python 3.10+

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

  1. Deliver high quality reliable code for DES and Monte-Carlo Simulation education and practice with full documentation.
  2. Provide a simple to use pythonic interface.
  3. To improve the quality of simulation education using FOSS tools and encourage the use of best practice.

👥 Authors

  • Thomas Monks    ORCID: Monks

  • Amy Heather    ORCID: Heather

  • Alison Harper    ORCID: Harper

Features:

  1. Implementation of classic Optimisation via Simulation procedures such as KN, KN++, OBCA and OBCA-m
  2. Theoretical and empirical distributions module that includes classes that encapsulate a random number stream, seed, and distribution parameters.
  3. An extendable Distribution registry that provides a quick reproduible way to parameterise simulation models.
  4. Implementation of Thinning to sample from Non-stationary Poisson Processes (time-dependent) in a DES.
  5. Automatic selection of the number of replications to run via the Replications Algorithm.
  6. 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

Binder

Learn how to use sim-tools

Citation

If you use sim-tools for research, a practical report, education or any reason please include the following citation.

Monks, T., Heather, A., Harper, A. (2025). sim-tools: fundamental tools to support the simulation process in python. Zenodo. https://doi.org/10.5281/zenodo.4553641.

@software{sim_tools,
  author       = {Thomas Monks and Amy Heather and Alison Harper},
  title        = {sim-tools: fundamental tools to support the simulation process in python},
  year         = {2025},
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.4553641},
  url          = {https://doi.org/10.5281/zenodo.4553641}
}

Online Tutorials

  • Optimisation Via Simulation Colab

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

NumPy style docstrings are used.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sim_tools-1.0.3.tar.gz (45.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sim_tools-1.0.3-py3-none-any.whl (51.0 kB view details)

Uploaded Python 3

File details

Details for the file sim_tools-1.0.3.tar.gz.

File metadata

  • Download URL: sim_tools-1.0.3.tar.gz
  • Upload date:
  • Size: 45.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sim_tools-1.0.3.tar.gz
Algorithm Hash digest
SHA256 5b1219fc1b1a2122aedfb3041f9f32b2cb39e307b4115775bd81852844916dbe
MD5 33fb1f7f0aaf11df5b7c1942e5e494fd
BLAKE2b-256 8aa87bb7980545b7b7a21196852a8c7398e6bcd9ced15e902d78b8b74b80c027

See more details on using hashes here.

Provenance

The following attestation bundles were made for sim_tools-1.0.3.tar.gz:

Publisher: python-publish.yml on sim-tools/sim-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sim_tools-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: sim_tools-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 51.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sim_tools-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f36d11b7ce3ede875def60f8a191f4764eeeef53121a7b5e9285674c3ade73a6
MD5 d5a066e340fca5bf6ee4da4fa43ed895
BLAKE2b-256 d28038ab61b30a859076495267967b2e6cc2f4e7d7ee77018c670c246fc27872

See more details on using hashes here.

Provenance

The following attestation bundles were made for sim_tools-1.0.3-py3-none-any.whl:

Publisher: python-publish.yml on sim-tools/sim-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page