Skip to main content

Logo for vIQA: A cube with three slices colored in red, green and blue in one direction and three slices colored in black, gray and white in another direction.

vIQA — volumetric Image Quality Assessment


Project Status: Active – The project has reached a stable, usable state and is being actively developed. PyPI - Version PyPI - Python Version PyPI - License PyPI - Downloads Release pre-commit pre-commit.ci status Ruff Binder Contributor Covenant

Table of Contents

vIQA provides an extensive assessment suite for image quality of 2D-images or 3D-volumes as a python package. Image Quality Assessment (IQA) is a field of research that aims to quantify the quality of an image. This is usually done by comparing the image to a reference image (full-reference metrics), but can also be done by evaluating the image without a reference (no-reference metrics). The reference image is usually the original image, but can also be another image that is considered to be of high quality. The comparison is done by calculating a metric that quantifies the difference between the two images or for the image itself. These quality metrics are used in various fields, such as medical imaging, computer vision, and image processing. For example the efficiency of image compression algorithms can be evaluated by comparing the compressed image to the original image. This package implements several metrics to compare two images or volumes using different IQA metrics. In addition, some metrics are implemented that can be used to evaluate a single image or volume.

The metrics used are:

  • Peak Signal to Noise Ratio (PSNR)
  • Root Mean Square Error (RMSE)
  • Universal Quality Index (UQI) 1
  • Structural Similarity (SSIM) 2
  • Multi-Scale Structural Similarity (MS-SSIM) 3
  • Feature Similarity Index (FSIM) 4
  • Visual Information Fidelity in pixel domain (VIFp) 5
  • Visual Saliency Index (VSI) 6
  • Most Apparent Distortion (MAD) 7
  • Gradient Similarity Measure (GSM) 8
  • Contrast to Noise Ratio (CNR) 9
  • Signal to Noise Ratio (SNR)
  • Q-Measure 10

Overview

Metric Name Type Dimensional behaviour Colour Behaviour Range (different/worst - identical/best) Tested Validated Reference
PSNR Peak Signal to Noise Ratio FR 3D native ✔️ $[0, \infty)$ ✔️ ✔️ —
RMSE Root Mean Square Error FR 3D native ✔️ $(\infty, 0]$ ✔️ ✔️ —
UQI 11 Universal Quality Index FR 3D native (✔️) 12 $[-1, 1]$ ❌ (✔️) 13 1
SSIM Structural Similarity FR 3D native (✔️) 12 $[-1, 1]$ 14 ✔️ ✔️ 2
MS-SSIM Multi-Scale Structural Similarity FR 3D slicing ❓ $[0, 1]$ ❌ ✔️ 3
FSIM Feature Similarity Index FR 3D slicing ✔️ $[0, 1]$ ✔️ ✔️ 4
VIFp Visual Information Fidelity in pixel domain FR 3D slicing ❓ $[0, \infty)$ 15 ❌ ❌ 5
VSI Visual Saliency Index FR 3D slicing ✔️ 16 $[0, 1]$ ❌ ❌ 6
MAD Most Apparent Distortion FR 3D slicing $[0, \infty)$ ✔️ ❌ 7
GSM Gradient Similarity FR 3D native or slicing $[0, 1]$ ❌ ❌ 8
CNR Contrast to Noise Ratio NR 3D native $[0, \infty)$ ✔️ ❌ 9
SNR Signal to Noise Ratio NR 3D native ✔️ $[0, \infty)$ ✔️ ❌ —
Q-Measure Q-Measure NR 3D only 17 ❌ $[0, \infty)$ ❌ ❌ 10

Documentation

The API documentation can be found here.

Requirements

The following packages have to be installed:

  • matplotlib
  • nibabel
  • numpy
  • piq
  • pytorch
  • scikit-image
  • scipy
  • tqdm
  • (jupyter) if you want to use the provided notebook

Installation

Use either pip

pip install viqa

or conda

conda install -c conda-forge viqa

Usage

Workflow

Images are first loaded from .raw files or .mhd files and their corresponding .raw file, normalized to the chosen data range (if the parameter normalize=True is set) and then compared. The scores are then calculated and can be printed. If using paths file names need to be given with the bit depth denoted as a suffix (e.g. _8ubit.raw, _16fbit.mhd; u and f denoting unsigned integer or float respectively) and the dimensions of the images need to be given in the file name (e.g. 512x512x512). The images are assumed to be grayscale. Treatment of color images is planned for later versions. The metrics are implemented to calculate the scores for an 8-bit data range (0-255) per default. For some metrics the resulting score is different for different data ranges. When calculating several metrics for the same image, the same data range should be used for all metrics. The data range can be changed by setting the parameter data_range for each metric. This parameter primarily affects the loading behavior of the class instances when not using the vIQA.utils.load_data function directly as described further below, but for some metrics setting the data range is necessary to calculate the score (e.g. PSNR).

Examples

Better:

import viqa
from viqa import load_data, normalize_data

## load images
file_path_img_r = 'path/to/reference_image_8ubit_512x512x512.raw'
file_path_img_m = 'path/to/modified_image_8ubit_512x512x512.raw'
img_r = load_data(
  file_path_img_r,
  data_range=1,
  normalize=False,
)  # data_range ignored due to normalize=False
img_m = load_data(file_path_img_m)  # per default: normalize=False
# --> both images are loaded as 8-bit images

# calculate and print RMSE score
rmse = viqa.RMSE()
score_rmse = rmse(img_m, img_r)  # RMSE does not need any parameters
rmse.print_score(decimals=2)

# normalize to 16-bit
img_r = normalize_data(img_r, data_range_output=(0, 65535))
img_m = load_data(img_m, data_range=65535, normalize=True)
# --> both functions have the same effect

# calculate and print PSNR score
psnr = viqa.PSNR(data_range=65535)  # PSNR needs data_range to calculate the score
score_psnr = psnr(img_m, img_r)
psnr.print_score(decimals=2)

# set optional parameters for MAD as dict
calc_parameters = {
    'block_size': 16,
    'block_overlap': 0.75,
    'beta_1': 0.467,
    'beta_2': 0.130,
    'luminance_function': {'b': 0, 'k': 0.02874, 'gamma': 2.2},
    'orientations_num': 4,
    'scales_num': 5,
    'weights': [0.5, 0.75, 1, 5, 6]
}

# calculate and print MAD score
mad = viqa.MAD(data_range=65535)  # MAD needs data_range to calculate the score
score_mad = mad(img_m, img_r, dim=2, **calc_parameters)
mad.print_score(decimals=2)

Possible, but worse (recommended only if you want to calculate a single metric):

import viqa

file_path_img_r = 'path/to/reference_image_512x512x512_16ubit.raw'
file_path_img_m = 'path/to/modified_image_512x512x512_16ubit.raw'

load_parameters = {'data_range': 1, 'normalize': True}
# data_range is set to 1 to normalize the images
# to 0-1 and for calculation, if not set 255 would
# be used as default for loading and calculating
# the score

psnr = viqa.PSNR(**load_parameters)  # load_parameters necessary due to direct loading by class
# also PSNR needs data_range to calculate the score
# if images would not be normalized, data_range should be
# 65535 for 16-bit images for correct calculation
score = psnr(file_path_img_m, file_path_img_r)
# --> images are loaded as 16-bit images and normalized to 0-1 via the `load_data` function
#     called by the score method
psnr.print_score(decimals=2)

For more examples, see the provided Jupyter notebooks and the documentation under API Reference.

Container Images

Container images to use this package in a JupyterHub or Daskhub environment as a single user notebook can be found under ./containers.

TODO

  • Add metrics
    • Add SFF/IFS
    • Add Ma
    • Add PI
    • Add NIQE
  • Add tests
    • Add tests for RMSE
    • Add tests for PSNR
    • Add tests for SSIM
    • Add tests for MSSSIM
    • Add tests for FSIM
    • Add tests for VSI
    • Add tests for VIF
    • Add tests for MAD
    • Add tests for GSM
    • Add tests for CNR
    • Add tests for SNR
    • Add tests for Q-Measure
  • Add support for different data ranges
  • Validate metrics
  • Add color image support
  • Add support for printing values
    • Add support for .txt files
    • Add support for .csv files
  • Add support for fusions
    • Add support for linear combination
    • Add support for decision fusion

Contributing

See CONTRIBUTING.md for information on how to contribute to the project and development guide for further information.

License

BSD 3-Clause

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Contacts

References

  1. Wang, Z., & Bovik, A. C. (2002). A Universal Image Quality Index. IEEE SIGNAL PROCESSING LETTERS, 9(3). https://doi.org/10.1109/97.995823 ↩ ↩2

  2. Wang, Z., Bovik, A. C., Sheikh, H. R., & Simoncelli, E. P. (2004). Image quality assessment: From error visibility to structural similarity. IEEE Transactions on Image Processing, 13(4), 600–612. https://doi.org/10.1109/TIP.2003.819861 ↩ ↩2 ↩3

  3. Wang, Z., Simoncelli, E. P., & Bovik, A. C. (2003). Multi-scale structural similarity for image quality assessment. The Thirty-Seventh Asilomar Conference on Signals, Systems & Computers, 1298–1402. https://doi.org/10.1109/ACSSC.2003.1292216 ↩ ↩2

  4. Zhang, L., Zhang, L., Mou, X., & Zhang, D. (2011). FSIM: A feature similarity index for image quality assessment. IEEE Transactions on Image Processing, 20(8). https://doi.org/10.1109/TIP.2011.2109730 ↩ ↩2

  5. Sheikh, H. R., & Bovik, A. C. (2006). Image information and visual quality. IEEE Transactions on Image Processing, 15(2), 430–444. https://doi.org/10.1109/TIP.2005.859378 ↩ ↩2

  6. Zhang, L., Shen, Y., & Li, H. (2014). VSI: A visual saliency-induced index for perceptual image quality assessment. IEEE Transactions on Image Processing, 23(10), 4270–4281. https://doi.org/10.1109/TIP.2014.2346028 ↩ ↩2

  7. Larson, E. C., & Chandler, D. M. (2010). Most apparent distortion: full-reference image quality assessment and the role of strategy. Journal of Electronic Imaging, 19 (1), 011006. https://doi.org/10.1117/1.3267105 ↩ ↩2

  8. Liu, A., Lin, W., & Narwaria, M. (2012). Image quality assessment based on gradient similarity. IEEE Transactions on Image Processing, 21(4), 1500–1512. https://doi.org/10.1109/TIP.2011.2175935 ↩ ↩2

  9. Desai, N., Singh, A., & Valentino, D. J. (2010). Practical evaluation of image quality in computed radiographic (CR) imaging systems. Medical Imaging 2010: Physics of Medical Imaging, 7622, 76224Q. https://doi.org/10.1117/12.844640 ↩ ↩2

  10. Reiter, M., Weiß, D., Gusenbauer, C., Erler, M., Kuhn, C., Kasperl, S., & Kastner, J. (2014). Evaluation of a Histogram-based Image Quality Measure for X-ray computed Tomography. 5th Conference on Industrial Computed Tomography (iCT) 2014, 25-28 February 2014, Wels, Austria. e-Journal of Nondestructive Testing Vol. 19(6). https://www.ndt.net/?id=15715 ↩ ↩2

  11. UQI is a special case of SSIM. Also see 2. ↩

  12. The metric is calculated channel-wise for color images. The values are then averaged after weighting. ↩ ↩2

  13. As UQI is a special case of SSIM, the validation of SSIM is also valid for UQI. ↩

  14. The range for SSIM is given as $[-1, 1]$, but is usually $[0, 1]$ in practice. ↩

  15. Normally $[0, 1]$, but can be higher than 1 for modified images with higher contrast than reference images. ↩

  16. The original metric supports RGB images only. This implementation can work with grayscale images by copying the luminance channel 3 times. ↩

  17. The Q-Measure is a special metric designed for CT images. Therefore it only works with 3D volumes. ↩

Metadata

Release files for vIQA 3.1.0

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

Source distribution (sdist)

Source distribution for vIQA 3.1.0
File Size Uploaded Provenance Actions
viqa-3.1.0.tar.gz 173.3 kB With provenance Details for viqa-3.1.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for vIQA 3.1.0
File Actions
viqa-3.1.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for viqa-3.1.0-cp314-cp314-win_amd64.whl
viqa-3.1.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for viqa-3.1.0-cp314-cp314-musllinux_1_2_x86_64.whl
viqa-3.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for viqa-3.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
viqa-3.1.0-cp314-cp314-macosx_14_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 14.0+ x86-64 Details for viqa-3.1.0-cp314-cp314-macosx_14_0_x86_64.whl
viqa-3.1.0-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details for viqa-3.1.0-cp314-cp314-macosx_14_0_arm64.whl
viqa-3.1.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for viqa-3.1.0-cp313-cp313-win_amd64.whl
viqa-3.1.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for viqa-3.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
viqa-3.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for viqa-3.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
viqa-3.1.0-cp313-cp313-macosx_14_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 14.0+ x86-64 Details for viqa-3.1.0-cp313-cp313-macosx_14_0_x86_64.whl
viqa-3.1.0-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details for viqa-3.1.0-cp313-cp313-macosx_14_0_arm64.whl
viqa-3.1.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for viqa-3.1.0-cp312-cp312-win_amd64.whl
viqa-3.1.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for viqa-3.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
viqa-3.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for viqa-3.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
viqa-3.1.0-cp312-cp312-macosx_14_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 14.0+ x86-64 Details for viqa-3.1.0-cp312-cp312-macosx_14_0_x86_64.whl
viqa-3.1.0-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details for viqa-3.1.0-cp312-cp312-macosx_14_0_arm64.whl
viqa-3.1.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for viqa-3.1.0-cp311-cp311-win_amd64.whl
viqa-3.1.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for viqa-3.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
viqa-3.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for viqa-3.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
viqa-3.1.0-cp311-cp311-macosx_14_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 14.0+ x86-64 Details for viqa-3.1.0-cp311-cp311-macosx_14_0_x86_64.whl
viqa-3.1.0-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details for viqa-3.1.0-cp311-cp311-macosx_14_0_arm64.whl

Total release size: 6.8 MB

Release files / viqa-3.1.0.tar.gz

Download URL viqa-3.1.0.tar.gz
Size 173.3 kB
Tags Source
SHA-256 checksum
How to use checksums
cdf3dadf04db823972b5d613adb426797d68de9fd1f7afe1cd1018220cff4239
BLAKE2b-256 checksum
How to use checksums
2a87b189c216f7cab4b920e32080fb1f2cecb11522954b92c89a46c5e02f587d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp314-cp314-win_amd64.whl

Download URL viqa-3.1.0-cp314-cp314-win_amd64.whl
Size 126.7 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
1ee2ada07ba0733d1939f67b300867a30cfe0fdf785c8290618e5bd1e5a01a63
BLAKE2b-256 checksum
How to use checksums
235caf08dba37c6467657387492294c6b6d8625ae56ad3b2051acf5ab02c979b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL viqa-3.1.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2f283180ad817d2f9464dd188ffc739109cd5293b090270217a63c736647addc
BLAKE2b-256 checksum
How to use checksums
9503089c6845e79252016fbbfdbeb56c8a420586beb27a1e8dbca06986960056
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL viqa-3.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 130.2 kB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
451a2879512201309de24c6d5edb34a68e02151c63f06c1b48203ef53eca67c8
BLAKE2b-256 checksum
How to use checksums
ffcca949f60328b45a27fed1c8ec593e84b3dbbc69d5f3dc99545b14c66df419
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp314-cp314-macosx_14_0_x86_64.whl

Download URL viqa-3.1.0-cp314-cp314-macosx_14_0_x86_64.whl
Size 122.5 kB
Tags CPython 3.14 macOS 14.0+ x86-64
SHA-256 checksum
How to use checksums
498160579541e398ff47fbe486e5df97e1a6bd41a31a6e023cfde67152b921cf
BLAKE2b-256 checksum
How to use checksums
2cd69d7620b003b142f6cf36d2c7e2d305cb3bee67f6f151013f2b2e3c124adc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp314-cp314-macosx_14_0_arm64.whl

Download URL viqa-3.1.0-cp314-cp314-macosx_14_0_arm64.whl
Size 118.5 kB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
95dd3d98b7b357689336922735330384c009c61db359c5c1c46f2b606ee1a6e7
BLAKE2b-256 checksum
How to use checksums
3d64bfb11219ec83c98010c2462c954666e2ff204a8eab55a14182f8dc63af71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp313-cp313-win_amd64.whl

Download URL viqa-3.1.0-cp313-cp313-win_amd64.whl
Size 125.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
aedcbbc3d7a253de3168c869e73f23db3e708fbde53e282fe5c1bd4fc68ae4a8
BLAKE2b-256 checksum
How to use checksums
c4c204f2f8e50913e37625db4b116d845f380fb6f8b09225f160ff849100f5e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL viqa-3.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
c933c6de4d74bb03224b3e2b24b7bf5e1d96b47b446aee30f54701888281659f
BLAKE2b-256 checksum
How to use checksums
ae4d5c87740850dc6ad5b2d3d935aaed1dde6a35e3d986848d7219576ff0ee8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL viqa-3.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 130.3 kB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ea716a057db51eaf787b38daeb8a7e435b38bd53f8771280687dc3139ffefe50
BLAKE2b-256 checksum
How to use checksums
e273467d560b1df59392052062c9e5e3a8bb59cee186528c2911d792e96978a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp313-cp313-macosx_14_0_x86_64.whl

Download URL viqa-3.1.0-cp313-cp313-macosx_14_0_x86_64.whl
Size 122.6 kB
Tags CPython 3.13 macOS 14.0+ x86-64
SHA-256 checksum
How to use checksums
a6529338529c8c07ccda0471de0c4cbdc5d09d14bc838bd07e8819b465610132
BLAKE2b-256 checksum
How to use checksums
fc38eda8f265fb26287713cb68c242e412eb87adadb4ae24b80d3147c14857cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp313-cp313-macosx_14_0_arm64.whl

Download URL viqa-3.1.0-cp313-cp313-macosx_14_0_arm64.whl
Size 118.5 kB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
c35e88b1a2912a47937949e9773506f09f4ae3cf24e3477c94a36e5c75112673
BLAKE2b-256 checksum
How to use checksums
3109ea9d50c15967608ff576c987d92678fe5f687685d1660a33744df50be5d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp312-cp312-win_amd64.whl

Download URL viqa-3.1.0-cp312-cp312-win_amd64.whl
Size 125.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
1198f89ce00f89454230281772b4773ca0bddfcd91e71f0a30255782697f9fab
BLAKE2b-256 checksum
How to use checksums
62dafb586712ea6213c75bf20151965baf8a2b8072af3dd907041eab694342f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL viqa-3.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2b13d2a6ae8790f13e93b4d9dfe8154c5a1f8d60ba8054ca3d8f1b826ea64c64
BLAKE2b-256 checksum
How to use checksums
4907e510e877294967a66117c069bbc55d9e66ec5b75b307b0cf1530e74aedcd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL viqa-3.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 130.3 kB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
316cc60b36d1fcddc572e259998e1278332206da9f271ead17a0d2cef5000bfa
BLAKE2b-256 checksum
How to use checksums
7649e37e2d88c30fc4067e6a483f73c716d10333971e5063be1f0b31bde35e19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp312-cp312-macosx_14_0_x86_64.whl

Download URL viqa-3.1.0-cp312-cp312-macosx_14_0_x86_64.whl
Size 122.6 kB
Tags CPython 3.12 macOS 14.0+ x86-64
SHA-256 checksum
How to use checksums
34c696268dce672f236b0b856224df1357a8319d628ab7093ed5266e2ff7d6c6
BLAKE2b-256 checksum
How to use checksums
21066db4d4b716fde17045cbbbe2d891f96c4118aa6ea245719cc2c1e0d28c5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp312-cp312-macosx_14_0_arm64.whl

Download URL viqa-3.1.0-cp312-cp312-macosx_14_0_arm64.whl
Size 118.5 kB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
1c1ce7bb4fb34872400d202adacd633d711ee222f3b3ad0a23915b47641cc363
BLAKE2b-256 checksum
How to use checksums
5560e08ffa8c869e0035d49b945b4eebde823741697f0177b31034e18cc75a9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp311-cp311-win_amd64.whl

Download URL viqa-3.1.0-cp311-cp311-win_amd64.whl
Size 125.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
69df57cc9ca4d74653776f7959a795c1feddb1d09a7f20aa94837a2d8222d172
BLAKE2b-256 checksum
How to use checksums
cfb769583872b915781c7683d065b66c584ef5ec7d8a1890b88ce617c11a4c9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL viqa-3.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
111f534a2c000817b203ae5addc7849475da9f45bb0119e30bbd3747c47a207a
BLAKE2b-256 checksum
How to use checksums
c016d8e5949c63fa6aeee37838338259a06ce4b42b64f96439e8671bb3d4751b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL viqa-3.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 130.2 kB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d3f4d605687346f3a5d9f4d44e2d1c11cd75801c087bdc3566896e5be7f7e832
BLAKE2b-256 checksum
How to use checksums
4c615a64bc81a48312c119f51ac776b2eb8b292ce364cc304c37258cc36e4cff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp311-cp311-macosx_14_0_x86_64.whl

Download URL viqa-3.1.0-cp311-cp311-macosx_14_0_x86_64.whl
Size 122.5 kB
Tags CPython 3.11 macOS 14.0+ x86-64
SHA-256 checksum
How to use checksums
df3ae033a5b01f119fc3ec95014088224228f34a728a3f99e9cf60d4b489784b
BLAKE2b-256 checksum
How to use checksums
d090dadb5a7e4baf43f377e70eb0b67310deb6bf014020ee7a623811881693bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Release files / viqa-3.1.0-cp311-cp311-macosx_14_0_arm64.whl

Download URL viqa-3.1.0-cp311-cp311-macosx_14_0_arm64.whl
Size 118.5 kB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
f30e03d299fe51399c5fa815f791281e099444a313b10db4fef32563488178d7
BLAKE2b-256 checksum
How to use checksums
8e5beda1c99238d0d061edc56b2bc455e61785fb3101e870467683cc000b377f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 29, 2026.

Transparency log

Security for vIQA 3.1.0

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.

Full provenance

All 21 files in this release have been uploaded with provenance metadata.

Select from 21 files

Attestation for viqa-3.1.0.tar.gz

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 29, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

3.1.0 This release

21 release files Full provenance

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