{"id":13577600,"url":"https://github.com/scottshambaugh/monaco","last_synced_at":"2026-04-03T21:16:39.554Z","repository":{"id":38515995,"uuid":"249088514","full_name":"scottshambaugh/monaco","owner":"scottshambaugh","description":"Quantify uncertainty and sensitivities in your computer models with an industry-grade Monte Carlo library.","archived":false,"fork":false,"pushed_at":"2025-02-11T21:02:47.000Z","size":18282,"stargazers_count":108,"open_issues_count":0,"forks_count":6,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-14T09:47:16.558Z","etag":null,"topics":["data-science","monaco","monte-carlo","python","scientific-computing","sensitivity-analysis","simulation","statistics","uncertainty-analysis","uncertainty-quantification"],"latest_commit_sha":null,"homepage":"","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/scottshambaugh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-22T00:57:49.000Z","updated_at":"2025-03-14T02:01:59.000Z","dependencies_parsed_at":"2023-12-18T05:24:35.327Z","dependency_job_id":"0f6fcef6-090f-4877-94cf-3a5250555926","html_url":"https://github.com/scottshambaugh/monaco","commit_stats":{"total_commits":509,"total_committers":2,"mean_commits":254.5,"dds":"0.0019646365422396617","last_synced_commit":"6f4ec035a7bfdb6ed9e7da3ed96a864521032fa6"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottshambaugh%2Fmonaco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottshambaugh%2Fmonaco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottshambaugh%2Fmonaco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottshambaugh%2Fmonaco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scottshambaugh","download_url":"https://codeload.github.com/scottshambaugh/monaco/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247338569,"owners_count":20922987,"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":["data-science","monaco","monte-carlo","python","scientific-computing","sensitivity-analysis","simulation","statistics","uncertainty-analysis","uncertainty-quantification"],"created_at":"2024-08-01T15:01:22.817Z","updated_at":"2026-04-03T21:16:39.548Z","avatar_url":"https://github.com/scottshambaugh.png","language":"Python","readme":"\u003cp float=\"center\" align=\"center\"\u003e\n\u003cimg width=\"570\" height=\"150\" src=\"https://raw.githubusercontent.com/scottshambaugh/monaco/main/docs/images/monaco_logo.png\"\u003e  \n\u003c/p\u003e\n\n![Release](https://img.shields.io/github/v/release/scottshambaugh/monaco?sort=semver)\n[![Downloads](https://static.pepy.tech/badge/monaco)](https://pepy.tech/project/monaco)\n![Builds](https://github.com/scottshambaugh/monaco/actions/workflows/builds.yml/badge.svg)\n![Tests](https://github.com/scottshambaugh/monaco/actions/workflows/tests.yml/badge.svg)\n[![Docs](https://readthedocs.org/projects/monaco/badge/?version=latest)](https://monaco.readthedocs.io/en/latest/?badge=latest)\n[![codecov](https://codecov.io/gh/scottshambaugh/monaco/graph/badge.svg?token=FAL47REO7V)](https://codecov.io/gh/scottshambaugh/monaco)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/monaco)\n\nQuantify uncertainty and sensitivities in your computer models with an industry-grade Monte Carlo library.\n\n### Overview\n\nAt the heart of all serious forecasting, whether that be of elections, the spread of pandemics, weather, or the path of a rocket on its way to Mars, is a statistical tool known as the [Monte Carlo method](https://en.wikipedia.org/wiki/Monte_Carlo_method). The Monte Carlo method, named for the rolling of the dice at the famous Monte Carlo casino located in Monaco, allows you to quantify uncertainty by introducing randomness to otherwise deterministic processes, and seeing what the range of results is.\n\n\u003cp float=\"left\" align=\"center\"\u003e\n\u003cimg width=\"500\" height=\"250\" src=\"https://raw.githubusercontent.com/scottshambaugh/monaco/main/docs/images/analysis_process.png\"\u003e\n\u003c/p\u003e\n\n`monaco` is a python library for analyzing uncertainties and sensitivities in your computational models by setting up, running, and analyzing a Monte Carlo simulation wrapped around that model. Users can define random input variables drawn using chosen sampling methods from any of SciPy's continuous or discrete distributions (including custom distributions), preprocess and structure that data as needed to feed to their main simulation, run that simulation in parallel anywhere from 1 to millions of times, and postprocess the simulation outputs to obtain meaningful, statistically significant conclusions. Plotting and statistical functions specific to use cases that might be encountered are provided, and repeatability of results is ensured through careful management of random seeds.\n\n\u003cp float=\"left\" align=\"center\"\u003e\n\u003cimg width=\"350\" height=\"350\" src=\"https://raw.githubusercontent.com/scottshambaugh/monaco/main/examples/baseball/baseball_trajectory.png\"\u003e\n\u003cimg width=\"440\" height=\"330\" src=\"https://raw.githubusercontent.com/scottshambaugh/monaco/main/examples/baseball/launch_angle_vs_landing.png\"\u003e\n\u003c/p\u003e\n\n### Quick Start\nFirst, install `monaco`:\n```\npip install monaco\n```\nThen, copy the two files from the [template directory](https://github.com/scottshambaugh/monaco/tree/main/template), which contains a simple, well commented Monte Carlo simulation of flipping coins. That link also contains some exercises for you to do, to help you familiarize yourself with how `monaco` is structured.\n\nAfter working through the template exercises, check out the other [examples](https://github.com/scottshambaugh/monaco/tree/main/examples) for inspiration and more in-depth usage of `monaco`'s features.\n\n### Documentation / API Reference / SciPy 2022 Talk\n\nThe documentation at https://monaco.readthedocs.io includes:\n\n- A complete [API reference](https://monaco.readthedocs.io/en/latest/api_reference.html)\n- More detailed [installation, test, and publishing](https://monaco.readthedocs.io/en/latest/installation.html) instructions\n- An overview of the [basic architecture](https://monaco.readthedocs.io/en/latest/basic_architecture.html) and [basic workflow](https://monaco.readthedocs.io/en/latest/basic_workflow.html)\n- Information on [single-threaded and parallel computing](https://monaco.readthedocs.io/en/latest/processing_methods.html)\n- Some details on [statistical distributions](https://monaco.readthedocs.io/en/latest/statistical_distributions.html) and [sampling methods](https://monaco.readthedocs.io/en/latest/sampling_methods.html)\n\nMonaco was presented at the SciPy 2022 Conference, and the conference resources should give another good overview of the library. Check out [the paper](http://conference.scipy.org.s3-website-us-east-1.amazonaws.com/proceedings/scipy2022/pdfs/scott_shambaugh.pdf), [the video of the talk](https://www.youtube.com/watch?v=yB539OIol_s), and [the talk's slides and notebooks](https://github.com/scottshambaugh/monaco-scipy2022).\n\n### Ecosystem\nOther libraries which extend monaco:\n- [monaco-dict-utils](https://github.com/hbmartin/monaco-dict-utils/tree/main) - A Python library for easily bootstrapping Monaco Monte Carlo simulations with a dictionary-based workflow\n\n### License / Citation\nCopyright 2020 Scott Shambaugh, distributed under [the MIT license](LICENSE.md).\n\nIf you use `monaco` to do research that gets published, please cite the conference paper using the below or [monaco.bib](monaco.bib):    \n\u003e W. Scott Shambaugh (2022). Monaco: A Monte Carlo Library for Performing Uncertainty and Sensitivity Analyses. *In Proceedings of the 21st Python in Science Conference* (pp. 202 - 208).\n\n### Further Reading\n* [Hanson, J. M., and B. B. Beard. \"Applying Monte Carlo simulation to launch vehicle design and requirements analysis.\" National Aeronautics and Space Administration, Marshall Space Flight Center, 1 September 2010.](https://ntrs.nasa.gov/citations/20100038453)\n* [Razavi, S. et. al. \"The future of sensitivity analysis: an essential discipline for systems modeling and policy support.\" Environmental Modelling \u0026 Software Volume 137, March 2021.](https://www.sciencedirect.com/science/article/pii/S1364815220310112)\n* [Satelli, A. et. al. \"Why so many published sensitivity analyses are false: A systematic review of sensitivity analysis practices.\" Environmental Modelling \u0026 Software Volume 114, April 2019.](https://www.sciencedirect.com/science/article/pii/S1364815218302822)\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottshambaugh%2Fmonaco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscottshambaugh%2Fmonaco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottshambaugh%2Fmonaco/lists"}