digiqual
Statistical Toolkit for Reliability Assessment in NDT
digiqual is a Python library designed for Non-Destructive Evaluation (NDE) engineers. It implements the Generalised $\hat{a}$-versus-a Method, allowing users to perform reliability assessments without the rigid assumptions of linearity or constant variance found in standard methods.
Documentation: Read the full documentation here
Installation
Just want the app? Windows and macOS installers are attached to the latest GitHub Release; no Python needed. See Launch the App for install notes.
You can install digiqual directly from PyPI.
Option 1: Install via uv (Recommended)
If you are managing a project with uv, add digiqual as a dependency:
# To install the latest stable release (v0.27.0):
uv add digiqual
# To install the latest development version (main branch from github):
uv add "digiqual @ git+https://github.com/JGIBristol/digiqual.git"
If you just want to install it into a virtual environment without modifying a project file (e.g., for a quick script), use pip interface:
uv pip install digiqual
Option 2: Install via standard pip
To install the latest stable release (v0.27.0):
pip install digiqual
To install the latest development version from github:
pip install "git+https://github.com/JGIBristol/digiqual.git"
Features
1. Experimental Design
Before running expensive Finite Element (FE) simulations, digiqual helps you design your experiment efficiently.
- Latin Hypercube Sampling (LHS): Generate space-filling experimental designs to cover your deterministic parameter space (e.g., defect size) and stochastic nuisance parameters (e.g., roughness, orientation).
- Scale & Bound: Automatically scale samples to your specific variable bounds.
2. Data Validation & Diagnostics
Ensure your simulation outputs are statistically valid before processing.
- Sanity Checks: Detects overlap between variables, type errors, and insufficient sample sizes.
- Sufficiency Diagnostics: rigorous statistical tests to flag issues like "Input Coverage Gaps" or "Model Instability" before you trust the results.
3. Adaptive Refinement (Active Learning)
digiqual closes the loop between analysis and design.
-
Smart Refinement: Use
refine()to identify specific weaknesses in your data. It uses bootstrap committees to find regions of high uncertainty and suggests new points exactly where the model is "confused". -
Automated Workflows: Use the
optimise()method to run a fully automated "Active Learning" loop. It generates an initial design, executes your external solver, checks diagnostics, and iteratively refines the model until statistical requirements are met.
4. Generalised Reliability Analysis
The package includes a full statistical engine for calculating Probability of Detection (PoD) curves.
- Relaxed Assumptions: Moves beyond the rigid constraints of the classical $\hat{a}$-versus-$a$ method by handling non-linear signal responses and heteroscedastic noise.
- Multi-Dimensional Active Marginalisation: Resolves multidimensional physics by integrating out stochastic nuisance parameters (like roughness) via Monte Carlo methods, outputting high-fidelity 2D PoD surface heatmaps alongside standard 1D curves.
- Robust Statistics: Automatically selects the best polynomial degree and error distribution (e.g., Normal, Gumbel, Logistic) based on data fit (AIC).
- Uncertainty Quantification: Uses bootstrap resampling to generate robust confidence bounds and $a_{90/95}$ estimates.
Development
If you want to contribute to digiqual or run the test suite locally, follow these steps.
- Clone and Install
This project uses uv for dependency management.
git clone https://github.com/JGIBristol/digiqual.git
cd digiqual
- Run Tests
The package includes a full test suite using pytest.
uv run pytest
- Build Documentation
To preview the documentation site locally:
just preview
- Work on the App
The GUI is the digiqual.gui subpackage (src/digiqual/gui/); app/ only holds the Briefcase configuration for the Windows/macOS installers. Run it with just app (desktop window) or just app_dev (browser, live reload). See Desktop App Architecture for how it fits together and how the installers are built.
References
Malkiel, N., Croxford, A. J., & Wilcox, P. D. (2025). A generalized method for the reliability assessment of safety–critical inspection. Proceedings of the Royal Society A, 481: 20240654. https://doi.org/10.1098/rspa.2024.0654
Malkiel, N., Croxford, A. J., & Wilcox, P. D. (2026). A comprehensive investigation of flexible and multi-dimensional simulation-based PoD analysis. NDT & E International, https://doi.org/10.1016/j.ndteint.2025.103596
Metadata
Release files for digiqual 0.27.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| digiqual-0.27.0.tar.gz | 156.0 kB | Details |
Built distributions (wheels)
Total release size: 4.4 MB
Release files / digiqual-0.27.0.tar.gz
| Download URL | digiqual-0.27.0.tar.gz |
|---|---|
| Size | 156.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c6b555d5dea42118bd78d2539e26afc9a292bd8d319f9b844a911acbd56b6267
|
|
BLAKE2b-256 checksum How to use checksums |
46d39b443ed5d2539d632610d655506f4a33df22c6106500ab9b14ee112d482a
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp314-cp314-win_amd64.whl
| Download URL | digiqual-0.27.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 413.8 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
fbca81c6b398aeedf780f0b7d0b7f8fea6d175474c6d8f12a58e97f9b85256eb
|
|
BLAKE2b-256 checksum How to use checksums |
546c9d028b9a876547be9058018aab3567ab08273a07f6277111d8bd2568a4ba
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | digiqual-0.27.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 228.8 kB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d4348a6cdba85402b1eff55a5d273696ac20a47ad26f96f8d5c656a32c544daf
|
|
BLAKE2b-256 checksum How to use checksums |
2702c7da18f06e752f663b7f0dba2c9fbe20259197c8f70d943c78c76cb596d2
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp314-cp314-macosx_11_0_x86_64.whl
| Download URL | digiqual-0.27.0-cp314-cp314-macosx_11_0_x86_64.whl |
|---|---|
| Size | 215.0 kB |
| Tags | CPython 3.14 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
145ad1bbf6658d453ce9e2641690f3c0137d360417655c2ea2232a6227e82927
|
|
BLAKE2b-256 checksum How to use checksums |
ca87647d7e99189034746bee86973cb1778aaa98a7d201457d97b8fbbce3dbe5
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | digiqual-0.27.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 210.8 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9fd03ac3f0b6b1b4b8af0648dc308a61b8ee468ed125841ecbe4a7663ab3da3e
|
|
BLAKE2b-256 checksum How to use checksums |
8a4a50828d0560b17053951d964170718e2375c9c36cc19ad32bb69f480424c5
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp313-cp313-win_amd64.whl
| Download URL | digiqual-0.27.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 404.7 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2f1897b75cc0c647c2618c368788d9f7d43ea6b589d62c644ab8567d06f24218
|
|
BLAKE2b-256 checksum How to use checksums |
94441fbf99adb535ea1d18e8e2a783a730d7e946b17d0beebc09b234e7707d08
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | digiqual-0.27.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 228.7 kB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2138f46de8bb2662e5c3329bf34023f907f23973f1f854ce954857d0621210ea
|
|
BLAKE2b-256 checksum How to use checksums |
a84b0b2a69627a0b7ccb7fe6791675d63678a5f1c9f5b02cade571735aa5008b
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp313-cp313-macosx_11_0_x86_64.whl
| Download URL | digiqual-0.27.0-cp313-cp313-macosx_11_0_x86_64.whl |
|---|---|
| Size | 214.9 kB |
| Tags | CPython 3.13 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
8a3fe19342ef41762be660cd857083b81833412caa79faf43ea5531ba826c399
|
|
BLAKE2b-256 checksum How to use checksums |
5381bd23560dd04d82823285383f7fa3b971bc94b2a9cce32aceec3d25a4b1ad
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | digiqual-0.27.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 210.6 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e7a7340d6af64cec62a1eff66ae2ed141b6f444132aa415528d5a6261df69624
|
|
BLAKE2b-256 checksum How to use checksums |
a45155c8a3d768d48250d37dc1188799a776afc79efb940136ab9eb65d341543
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp312-cp312-win_amd64.whl
| Download URL | digiqual-0.27.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 404.6 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5ed9068b1defccecbe39e2f59b54442c00da98aef5bc819a9c94c807a7426f66
|
|
BLAKE2b-256 checksum How to use checksums |
31cc58540128152123d450f1fa824cc4dd63e96775576cd8263df280b248a445
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | digiqual-0.27.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 228.6 kB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
84f139dd748a71bd33cf5d1e6fd93e420e811a0cbb5bcb942a0a280e81394450
|
|
BLAKE2b-256 checksum How to use checksums |
ba5903c140759eec6a3b00fef9dc4323c39265f232b588847d9d730a0716332c
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp312-cp312-macosx_11_0_x86_64.whl
| Download URL | digiqual-0.27.0-cp312-cp312-macosx_11_0_x86_64.whl |
|---|---|
| Size | 214.9 kB |
| Tags | CPython 3.12 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
01e91f4385e1bee37ae8c46a9e09044eb89709349a9cc4fa94a37feee6787417
|
|
BLAKE2b-256 checksum How to use checksums |
28c6217c5af0dcd5a974c62e365817e0f35a422d355a281f17c15c00a8249e71
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | digiqual-0.27.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 210.5 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
43dd249f8d6d85c53d3f5385995868479ba64c6c490a351f84b515a083334aee
|
|
BLAKE2b-256 checksum How to use checksums |
51cf868f3a39fea157a6099d15fc010b0dcfa415bc65b2b41c25d5a7406d3558
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp311-cp311-win_amd64.whl
| Download URL | digiqual-0.27.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 402.0 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4609e4e9adabff882c24c0a747fddbd3c4bf4f036fae548eaad7096d5df36b41
|
|
BLAKE2b-256 checksum How to use checksums |
71d04cc23b536c8c482f196a6dd000c627525685e87c58c9dc3292729b33ba09
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | digiqual-0.27.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 227.4 kB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
421e9d806793f66a326b4e6fc964230d9b80db3d2b7fe32237e93872c340d304
|
|
BLAKE2b-256 checksum How to use checksums |
6882f52dd89e4edb0b551c685a1d7f0b7a99d733548be28c37dc2b553db30d58
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp311-cp311-macosx_11_0_x86_64.whl
| Download URL | digiqual-0.27.0-cp311-cp311-macosx_11_0_x86_64.whl |
|---|---|
| Size | 212.5 kB |
| Tags | CPython 3.11 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
56e15bea1073c10cb3cafff2e7fc7159fdc71168b69fe6055d7805874337f305
|
|
BLAKE2b-256 checksum How to use checksums |
aea278e7631e02088aa9679d126e47031d6f67dc880b0eaea539a160b08015b7
|
| 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 7, 2026.
Transparency logRelease files / digiqual-0.27.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | digiqual-0.27.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 208.7 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a4b35badcb9917f633b540f9aee05292a96ab3849855182de2194dd2bfe4ff9e
|
|
BLAKE2b-256 checksum How to use checksums |
d261299de26d8fe3d37d3ae137fea13186a3efc33b8ec5f4652cc5e4acf454cb
|
| 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 7, 2026.
Transparency log