Welcome to UQpy’s documentation!
UQpy (Uncertainty Quantification with python) is a general purpose python toolbox for modeling uncertainty in physical and mathematical systems. The code is organized as a set of modules centered around core capabilities in Uncertainty Quantification (UQ).
Product Owner: |
Michael D. Shields |
Lead Developers: |
Dimitris Giovanis, Audrey Olivier, Dimitris Tsapetis, Connor Krill |
Development Team: |
Aakash Bangalore Satish, Mohit Singh Chauhan, Lohit Vandanapu, Ketson RM dos Santos, Katiana Kontolati, Dimitris Loukrezis, Promit Chakroborty, Lukáš Novák, Andrew Solanto, Ponkrshnan Thiagarajan, George Pasparakis |
Contributors: |
Michael Gardner, Prateek Bhustali, Julius Schultz, Ulrich Römer, Nicholas Betters |
Introduction
Dependencies required:
macOS, Linux, or Windows
Python >= 3.9
Installation
UQpy can be installed with the following commands.
Using Python package index (PyPI):
MacOS or Linux:
pip install UQpy
Windows:
pip3 install UQpy
Using Conda (depreciated in v4.2.0):: Note that as of Version 4.2.0 released in 2025, the conda channel and accompanying installation is depreciated and no longer maintained. It will be removed entirely in a future release. Please use PyPI and pip to install.
conda install -c conda-forge uqpy
From GitHub: Clone your fork of the UQpy repo from your GitHub account to your local disk (to get the latest version):
git clone https://github.com/SURGroup/UQpy.git
cd UQpy
python setup.py {version} install
Development
UQpy is designed to serve as a platform for developing new UQ methodologies and algorithms. To install UQpy as a developer, run:
python setup.py {version} develop
Logging
UQpy adopts the built-in logging python library. This allows for a fine-grain logging of events of various severity levels.
The available logging levels allowed by the library are:
DEBUG, INFO, WARNING, ERROR, CRITICAL
The default logging level is set to ERROR. The user can change the logging severity level by including the following line in their code and choosing the desired logging level:
1logging.getLogger('UQpy').setLevel(logging.INFO)
Referencing UQpy
If you are using this software in a work that will be published, please cite this paper:
Olivier, A., Giovanis, D.G., Aakash, B.S., Chauhan, M., Vandanapu, L., and Shields, M.D. (2020). “UQpy: A general purpose Python package and development environment for uncertainty quantification”. Journal of Computational Science. Volume 47, 101204
https://doi.org/10.1016/j.jocs.2020.101204
Examples from the above article were performed using UQpy version 3. These examples can be found at:
https://github.com/SURGroup/UQpy_paper
This repository contains a binder link to execute portions of the code.
Contact
To engage in conversations about uncertainty quantification, or ask questions about UQpy usage and functionality refer to the UQpy discussions tab:
Help & Support
For assistance with the UQpy software package, please raise an issue on the Github issues page. Please use the appropriate labels to indicate which module you are specifically inquiring about.