Skip to main content

UQPyL: Uncertainty Quantification Python Lab

PyPI version CI codecov PyPI - Downloads PyPI - License GitHub last commit Static Badge Static Badge

English | 中文 | Documentation

UQPyL is a Python library for uncertainty quantification, optimization, inference, calibration, and surrogate modeling. It defines problems once and reuses them across UQ workflows.

What UQPyL solves

UQPyL provides a shared problem interface for common uncertainty quantification workflows.

Define the model or decision problem once, then reuse it for:

  • design of experiments
  • sensitivity and uncertainty analysis
  • optimization
  • Bayesian-style inference
  • model calibration
  • surrogate modeling

After a problem is defined, all UQPyL modules can work with the same object and remain connected across workflows.

UQPyL architecture overview

Problem abstraction

Problem is the main entry point of UQPyL. It turns a model, benchmark function, or decision task into a reusable object that other modules can use.

To build a Problem, define:

Part Role
Input space Number of variables, bounds, labels, and variable types.
Evaluation rule How input samples become objectives and optional constraints.
Additional information Optimization direction, problem name, and metadata for algorithms, outputs, logs, and saved results.

For example:

import numpy as np

from UQPyL.problem import Problem


def objFunc(X):
    X = np.atleast_2d(X)
    return np.sum(X**2, axis=1, keepdims=True)


problem = Problem(
    # Input space
    nInput=2, lb=-1.0, ub=1.0,

    # Evaluation rule
    nObj=1, objFunc=objFunc,

    # Additional information
    optType="min", name="Sphere2D",
)

This is enough for workflows that only need evaluated objectives or constraints, including DOE, analysis, optimization, inference, and surrogate modeling.

For many hydrological simulation problems, the workflow needs more than final objective values. Calibration and uncertainty analysis may need the simulated and observed time series, and the valid observation mask to remain available throughout the method.

ModelProblem extends Problem for this case. It adds:

Extra part Role
simFunc Runs the model and returns simulated series or fields.
obs / mask Stores observed data and marks valid entries for simulation-observation comparison.

Use Problem by default. Use ModelProblem when a method needs simulation-process semantics, such as calibration methods that compare sim with obs. See the documentation for detailed usage.

Problem and ModelProblem comparison

For hydrological applications, the hard part is often not the UQ algorithm itself, but connecting an external model, preparing inputs, running simulations, and collecting outputs. hydroPilot is designed for that model-operation layer. It can be used with UQPyL when you want hydroPilot to manage hydrological model runs and UQPyL to handle sampling, analysis, calibration, optimization, inference, or surrogate modeling.

Architecture overview

UQPyL is organized around one shared problem abstraction and a set of functional modules built around it.

Type Module Purpose
Core problem Define parameter spaces, evaluation rules, objectives, constraints, simulations, and related metadata.
Function doe Generate design samples for experiments, analysis, initialization, and modeling.
Function analysis Analyze how input variables affect model or objective outputs.
Function optimization Search for single-objective, multi-objective, or expensive-model optima.
Function inference Run MCMC-style parameter inference.
Function calibration Calibrate simulation models against observations.
Function surrogate Train and evaluate surrogate models for expensive evaluations.
Support runtime, viz Save structured run results, logs, intermediate states, and provide visualization utilities.

Quick start

Optimization with Problem

import numpy as np

from UQPyL.problem import Problem
from UQPyL.optimization.soea import SCE_UA


def objFunc(X):
    X = np.atleast_2d(X)
    return np.sum(X**2, axis=1, keepdims=True)


problem = Problem(
    nInput=2, nObj=1,
    ub=1.0, lb=-1.0,
    objFunc=objFunc, optType="min",
    name="Sphere2D",
)

algorithm = SCE_UA(maxFEs=200)

result = algorithm.run(problem, seed=123)

print(result.bestDecs)
print(result.bestObjs)

Calibration with ModelProblem

import numpy as np

from UQPyL.calibration import GLUE
from UQPyL.problem import ModelProblem

obs = np.array([1.0, 2.0, 3.0])


def simFunc(X):
    X = np.atleast_2d(X)
    # Here we assume each parameter sample returns one simulated series
    # with 3 time steps, so the output shape is (n_samples, 3).
    sim = np.zeros((X.shape[0], 3))
    sim[:, 0] = X[:, 0] * 1.0
    sim[:, 1] = X[:, 0] * 2.0
    sim[:, 2] = X[:, 0] * 3.0
    return sim


problem = ModelProblem(
    nInput=1, nObj=1,
    lb=0.0, ub=2.0,
    simFunc=simFunc, obs=obs,
    name="LinearScaleModel",
)

X = np.linspace(0.5, 1.5, 32).reshape(-1, 1)
result = GLUE(metric="rmse").run(problem, X, threshold=0.2)

Modules at a glance

The table lists representative methods, not the full API. See the documentation for complete module-specific usage and API details.

Module Representative methods
doe LHS, FFD, Random, Sobol, SaltelliDesign, FASTDesign, MorrisDesign
analysis Sobol, FAST, RBDFAST, Morris, RSA, DeltaTest, MARS
optimization GA, PSO, DE, SCE_UA, NSGAII, NSGAIII, MOEAD, RVEA, EGO
inference MH, AMH, MH_Gibbs, DEMC, DREAM_ZS
calibration GLUE, SUFI2, ES, IES
surrogate RBF, GPR, KRG, LinearRegression, PolynomialRegression, AutoTuner

Runtime output and saving

Most runnable methods expose three common runtime controls.

Option Role
verboseFlag Print progress and summary in the terminal.
logFlag Write more complete runtime logs when supported.
saveFlag Save structured runtime results, usually sqlite.
algorithm = SCE_UA(maxFEs=200, verboseFlag=True, logFlag=True, saveFlag=True)
result = algorithm.run(problem, seed=123)

Example terminal output:

Algorithm: SCE-UA
Problem: Sphere2D
nInput: 2
nObj: 1
maxFEs: 200
maxIters: 1000
SCE-UA | iter=10 eval=84 best=4.3210e-03 cv=0 time=0.0s
SCE-UA | iter=20 eval=154 best=2.1500e-04 cv=0 time=0.0s
Optimization finished
  algorithm        : SCE-UA
  status           : finished
  iterations       : 27
  evaluations      : 203
  best value       : 1.0000e-04
  best X           : [1.0000e-02, -0.0000e+00]
  constraint viol. : 0
  elapsed          : 0.0s

With saveFlag=True, a run can produce saved artifacts for later reading by module-specific readers.

Save option Rule
saveFlag=True Enable structured result saving for the current run.
saveFreq For optimization methods, save intermediate snapshots every saveFreq iterations and always save the final result at the end.
Reader access Saved sqlite results can be loaded later with module-specific readers such as OptReader, AnaReader, or CalReader.

More examples

Sensitivity analysis with Sobol:

import numpy as np

from UQPyL.analysis import Sobol
from UQPyL.doe import SaltelliDesign
from UQPyL.problem import Problem

def objFunc(X):
    X = np.atleast_2d(X)
    y = np.sin(X[:, 0]) + 7 * np.sin(X[:, 1])**2 + 0.1 * X[:, 2]**4 * np.sin(X[:, 0])
    return y[:, None]

problem = Problem(
    nInput=3, nObj=1,
    lb=-np.pi, ub=np.pi,
    objFunc=objFunc, name="Ishigami",
)

X, meta = SaltelliDesign(secondOrder=True).sampleWithMeta(problem, 512)
Y = problem.evaluate(X, target="objs").objs
result = Sobol(verboseFlag=False).analyze(problem, X, Y, meta=meta, target="objs")

Installation

UQPyL requires Python 3.10 or newer.

The development branch targets CPython 3.10–3.14; CI builds and tests installed wheels on Linux, Windows, and macOS. Python 3.14 support does not include free-threaded builds.

pip install -U UQPyL

With plotting utilities:

pip install -U "UQPyL[viz]"

From source:

git clone https://github.com/smasky/UQPyL.git
cd UQPyL
pip install .

Citation

For UQPyL 2.0, please cite the preprint:

Wu, M., Sun, R., Xu, P., Yang, X., Hu, P., & Duan, Q. UQPyL 2.0: An Open-Source Python Package for Uncertainty Quantification and Optimization. Available at SSRN: https://ssrn.com/abstract=5393295 or http://dx.doi.org/10.2139/ssrn.5393295

@misc{wu2025uqpyl2,
  title = {UQPyL 2.0: An Open-Source Python Package for Uncertainty Quantification and Optimization},
  author = {Wu, Mengtian and Sun, Ruochen and Xu, Pengcheng and Yang, Xu and Hu, Pengjie and Duan, Qingyun},
  year = {2025},
  note = {SSRN preprint},
  doi = {10.2139/ssrn.5393295},
  url = {https://ssrn.com/abstract=5393295}
}

For UQPyL 1.0, please cite:

Wang, C., Duan, Q., Tong, C. H., Di, Z., & Gong, W. (2016). A GUI platform for uncertainty quantification of complex dynamical models. Environmental Modelling & Software, 76, 1-12. https://doi.org/10.1016/j.envsoft.2015.11.004

@article{wang2016uqpyl,
  title = {A GUI platform for uncertainty quantification of complex dynamical models},
  author = {Wang, Chen and Duan, Qingyun and Tong, Charles H. and Di, Zhenhua and Gong, Wei},
  journal = {Environmental Modelling & Software},
  volume = {76},
  pages = {1--12},
  year = {2016},
  doi = {10.1016/j.envsoft.2015.11.004}
}

Contributing

Contributions are welcome. Useful areas include new algorithms, model interfaces, benchmark problems, examples, tests, and documentation improvements.

License

UQPyL is released under the MIT License. See LICENSE.md.

Metadata

Release files for UQPyL 2.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for UQPyL 2.1.7
File Size Uploaded
uqpyl-2.1.7.tar.gz 451.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for UQPyL 2.1.7
File
uqpyl-2.1.7-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
uqpyl-2.1.7-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
uqpyl-2.1.7-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
uqpyl-2.1.7-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
uqpyl-2.1.7-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
uqpyl-2.1.7-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
uqpyl-2.1.7-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
uqpyl-2.1.7-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
uqpyl-2.1.7-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
uqpyl-2.1.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
uqpyl-2.1.7-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
uqpyl-2.1.7-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
uqpyl-2.1.7-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
uqpyl-2.1.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
uqpyl-2.1.7-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
uqpyl-2.1.7-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
uqpyl-2.1.7-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
uqpyl-2.1.7-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
uqpyl-2.1.7-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
uqpyl-2.1.7-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details

Total release size: 38.2 MB

Release files / uqpyl-2.1.7.tar.gz

Download URL uqpyl-2.1.7.tar.gz
Size 451.1 kB
Tags Source
SHA-256 checksum
How to use checksums
905082f2cd4eb90cb646fed0d7f03ad0933443b1f41959f7b15cb710a1c1f150
BLAKE2b-256 checksum
How to use checksums
868474b3e6636fd45235d062eba7388d5fa817b6bf9c171cf3e0c56ca44cf213
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp314-cp314-win_amd64.whl

Download URL uqpyl-2.1.7-cp314-cp314-win_amd64.whl
Size 1.4 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
8e4a9ce5c430d35ee92f086492572d0ae1280fe624c3088e36e8fddd3dd0d417
BLAKE2b-256 checksum
How to use checksums
1a0049707f40a00111d2627cbd855215d78d189e58691bc8d9c9e4a5249401b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL uqpyl-2.1.7-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
21d632d120628afd9011d8d4a8c8a3ff6f25e104db8dffda94beb91c616cc23e
BLAKE2b-256 checksum
How to use checksums
9a03dc9ad6f08cbc72edbbd9abf0c024e0dc755db09ecc6d8b003417ed95505b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp314-cp314-macosx_11_0_arm64.whl

Download URL uqpyl-2.1.7-cp314-cp314-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
45b81697cc00ef484b26a068572ae6c0e15b3cf97cd93240c64758f0d11edcfa
BLAKE2b-256 checksum
How to use checksums
002bdd57b4895ee16190380b2ccfe5946fbeb2e2f1abd2725af1b9a0d8c6d85b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp314-cp314-macosx_10_15_x86_64.whl

Download URL uqpyl-2.1.7-cp314-cp314-macosx_10_15_x86_64.whl
Size 1.5 MB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
f2d8d22d28c916f09519cc1a6186cd90b9e0e2fce2c98b6aecab44cab6cdf4dc
BLAKE2b-256 checksum
How to use checksums
87787e5e67b378285117c6d56ff90d4dac55c9e9628cf7d6fe70fc9f6592629e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp313-cp313-win_amd64.whl

Download URL uqpyl-2.1.7-cp313-cp313-win_amd64.whl
Size 1.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
96e1b8b5eacfd9812ffc8109b969d61a74b8265aec15b89e10a9ac0daf98cf31
BLAKE2b-256 checksum
How to use checksums
9056d02b8e02e2200a8d61c95d112ec5894e2f3241e8483c7925fb5eaf50990f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL uqpyl-2.1.7-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
239b57c9ae31e01707a35e744ee281c5dc2a2adceaba7eaf04eb491e2b5164b1
BLAKE2b-256 checksum
How to use checksums
44acb174f09f7ac035a3a6a105dcff297460d5aff3754188452994c9d7685410
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp313-cp313-macosx_11_0_arm64.whl

Download URL uqpyl-2.1.7-cp313-cp313-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
46eef185221abce14b49793d5f602854789b25a800e0d435188656b8d46fc2a4
BLAKE2b-256 checksum
How to use checksums
5aa57e4df7c6d863e80f01cf243a8a1de3d0a752d541044435b59a50f9a826f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp313-cp313-macosx_10_13_x86_64.whl

Download URL uqpyl-2.1.7-cp313-cp313-macosx_10_13_x86_64.whl
Size 1.5 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
7ae26f056743ad6d166669428873447d4cfe8b681516c981177b3646a9cbaa80
BLAKE2b-256 checksum
How to use checksums
7e9cf40364e2d2cfbf49cd5ef50415c482e0966faf0165eb40da9ca71f9063fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp312-cp312-win_amd64.whl

Download URL uqpyl-2.1.7-cp312-cp312-win_amd64.whl
Size 1.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
481ad960dee3987ceb070ab20005fd6fdbae478fee3a25e06533d948e13c694e
BLAKE2b-256 checksum
How to use checksums
a957fd2eeb5ed738d3dc7b4f4419a226a9f944a68743d1b4b12d1bdcb9869a27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL uqpyl-2.1.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e8dd566da86a2bee1a3c1996512686908eaf4fb612c8dfbe83ef3888d93f4559
BLAKE2b-256 checksum
How to use checksums
74ba90ef0321854f91943e203f453e02bedc4f87b06757eecd086f87cf9690f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp312-cp312-macosx_11_0_arm64.whl

Download URL uqpyl-2.1.7-cp312-cp312-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a4035ad5ee0c63415d45b9df9fb45ce8494e2950764a2c0afbc181a1f5b8e22a
BLAKE2b-256 checksum
How to use checksums
6e54d0f01fb07e9cea46093c6237196b7fe20492863a37f597a25e536adebebd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp312-cp312-macosx_10_13_x86_64.whl

Download URL uqpyl-2.1.7-cp312-cp312-macosx_10_13_x86_64.whl
Size 1.5 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
602e64f8455cde04e68fe6270c60d113e41686d755f5453a7ce3da811742fcc7
BLAKE2b-256 checksum
How to use checksums
f3975f5cc77dc984531e1f115662a2d617ff7d8cac1b211d0e177a9b79819edb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp311-cp311-win_amd64.whl

Download URL uqpyl-2.1.7-cp311-cp311-win_amd64.whl
Size 1.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
98e32769f38ab95eccee8ae8541d80c33563fcaea74ab77b6363749870a0d695
BLAKE2b-256 checksum
How to use checksums
e99765f6ce1749320a56008dcbfa63676d07be21ba204c687cd9c752fe30eef4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL uqpyl-2.1.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.1 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a89521df5e81d9db65b1047b7c70e32233b265e0eee1f4ff864d3475802cf360
BLAKE2b-256 checksum
How to use checksums
845910852dfc8e7215ecf82d064c4dbe4ff3268ac5754a20a30bb7679b8dc524
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp311-cp311-macosx_11_0_arm64.whl

Download URL uqpyl-2.1.7-cp311-cp311-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4fede459847daf5f2dab2fe4edb5adfa6574eccf2a0a2e06cd8c1357b1c01bc4
BLAKE2b-256 checksum
How to use checksums
95593057783ed72f4490fba2efcb7d316fae145468b35e1df0935a1fa016cf01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp311-cp311-macosx_10_9_x86_64.whl

Download URL uqpyl-2.1.7-cp311-cp311-macosx_10_9_x86_64.whl
Size 1.5 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
504f39323a66cccc2749a748e3125123ebd9f61735470e5e2408324df3f7dabc
BLAKE2b-256 checksum
How to use checksums
aac5d4b7419784de391bce8211bc0f6f5720d93296c56a0e98e4d18a851f67c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp310-cp310-win_amd64.whl

Download URL uqpyl-2.1.7-cp310-cp310-win_amd64.whl
Size 1.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
2e1e80d588e8e1e42b35a55a6139a79147e17d1dca6dc1112582bc9cc86ba06f
BLAKE2b-256 checksum
How to use checksums
f17e9d49395f857dee97670f1089bf9f23875da4289ea815490453c6f2203b07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL uqpyl-2.1.7-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.1 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4ce83e174f5c5fca109cd3dfa11040d13f006d8e7f0063cc478f59a47ad57678
BLAKE2b-256 checksum
How to use checksums
74c4527f291632bcb57279582e1b46c991cc78748e8d6375035f338c69a81259
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp310-cp310-macosx_11_0_arm64.whl

Download URL uqpyl-2.1.7-cp310-cp310-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
55ecc0e432b00225fb6413d0b1b49a4c9f03886850d03f26e2df1818826a9b94
BLAKE2b-256 checksum
How to use checksums
66bcf066da810bba1fb6052a55ea1f3a5a7b6015cc981ae98109668293f5dd3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / uqpyl-2.1.7-cp310-cp310-macosx_10_9_x86_64.whl

Download URL uqpyl-2.1.7-cp310-cp310-macosx_10_9_x86_64.whl
Size 1.5 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
3c6881b20b32aaf09ce764bae00d78fbdab8886b2edc9ad534ecba34c8901b6d
BLAKE2b-256 checksum
How to use checksums
d6693471bbca3c673e9e93fb09ee527bb1b56ab62385e5bdd457f7c25a55f99b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.1.7 This release

21 release files

2.1.6

24 release files

2.1.5

11 release files

2.1.4

11 release files

2.1.2

15 release files

2.1.1

15 release files

2.1.0

15 release files

2.0.9

15 release files

2.0.6

15 release files

2.0.1

15 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page