Skip to main content

parosol-py icon

parosol-py

parosol-py is the Python package and runtime wrapper for the ParOSol micro-FE solver. It provides Python helpers for creating solver inputs, running the bundled native executable, reading outputs, and mapping label or density images to material stiffness.

Author: Matthias Walle.

The bundled native ParOSol solver was written by Cyril Flaig and is distributed under the GNU General Public License, version 2 or later. The Python package is therefore distributed as GPL-2.0-or-later.

Install

Prebuilt wheels include the native ParOSol executable and the platform MPI runtime needed to launch multi-process solves:

python -m pip install parosol-py

For local development:

python -m pip install -e .[dev]

Source installs require CMake, an MPI C++ compiler/runtime, HDF5 C++ libraries, and Eigen headers. Release wheels are built for Python 3.11, 3.12, and 3.13. macOS wheels currently target macOS 15 or newer.

Bundled MPI runtimes remain under their own upstream licenses and notices. Windows wheels bundle Microsoft MPI runtime files under Microsoft/MIT terms. macOS and Linux wheels bundle OpenMPI runtime files under OpenMPI's BSD-style terms. These MPI runtime files are not relicensed as GPL by parosol-py.

Local Check

Before relying on GitHub Actions, run the local verification gate from an environment that has the native build tools:

python scripts/local_check.py

Add --smoke-install to install the built wheel into a temporary virtual environment and import it.

Workflows And Cases

ParOSol-py separates reusable recipes from concrete runs:

  • A workflow/profile recipe is a reusable .parosol-workflow or future .parosol-profile file. SlicerParOSol creates and edits these recipes.
  • A ParOSol case is one materialized run. Shortcut commands write a parosol_case.yaml file with concrete input, output, solver, material, boundary-condition, and postprocessing settings.
  • A .parosol bundle is a portable case bundle for solving the same case on another machine.

Built-in reusable workflows are selected by name:

parosol distal-radius.AIM --profile XtremeCTII --output outputs/distal-radius

parosol 10001_QCT.nii.gz \
  --mask 10001_SEG.nii.gz \
  --profile spine-compression \
  --output outputs/10001_spine

parosol 10001_QCT.nii.gz \
  --mask 10001_SEG.nii.gz \
  --profile hip-sideways-fall-left \
  --output outputs/10001_hip_left

Slicer-authored workflows can be replayed headlessly:

parosol new_scan.nii.gz \
  --mask new_mask.nii.gz \
  --profile interactive_custom \
  --template my_workflow.parosol-workflow \
  --output outputs/new_scan

To run a fully materialized case directly:

parosol run outputs/10001_spine/parosol_case.yaml

Python API

import numpy as np

from parosol_py import solve

material = np.ones((10, 10, 10), dtype=np.float32) * 1000.0

result = solve(
    material=material,
    spacing=(0.061, 0.061, 0.061),
    material_unit="MPa",
    test="axial",
    test_axis="z",
    strain=-0.01,
    outputs=("sed",),
    export_dir="outputs/example",
)

print(result.summary)
print(result.exported)

Use dry_run=True to write the ParOSol HDF5 input and command without launching the solver:

result = solve(
    material=material,
    spacing=(0.061, 0.061, 0.061),
    material_unit="MPa",
    test="axial",
    test_axis="z",
    strain=-0.01,
    dry_run=True,
    export_dir="outputs/dry_run",
)

Material Mapping

Label images can be mapped through an explicit material table:

import numpy as np

from parosol_py import LinearIsotropicMaterials, labels_to_material_map

labels = np.array([[[100, 127]]], dtype=np.uint16)
table = LinearIsotropicMaterials(
    youngs_modulus_mpa={100: 8748.0, 127: 8748.0},
    poisson_ratio={100: 0.3, 127: 0.3},
)

mapped = labels_to_material_map(labels, table)

Continuous density images can be converted with one of the supported equations:

from parosol_py import density_to_material_map

mapped = density_to_material_map(
    density_image,
    equation="power",
    coefficient=10000.0,
    exponent=1.7,
    reference_density=1000.0,
    poisson_ratio=0.3,
)

The Mulder grayscale BMD law is available as mulder2007:

mapped = density_to_material_map(
    density_image,
    equation="mulder2007",
    active_mask=outer_contour,
    floor_e_mpa=2.0,
    poisson_ratio=0.3,
)

Release files for parosol-py 0.1.24

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

Source distribution (sdist)

Source distribution for parosol-py 0.1.24
File Size Uploaded
parosol_py-0.1.24.tar.gz 28.4 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for parosol-py 0.1.24
File
parosol_py-0.1.24-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
parosol_py-0.1.24-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
parosol_py-0.1.24-cp314-cp314-macosx_15_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 15.0+ x86-64 Details
parosol_py-0.1.24-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details
parosol_py-0.1.24-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
parosol_py-0.1.24-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
parosol_py-0.1.24-cp313-cp313-macosx_15_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 15.0+ x86-64 Details
parosol_py-0.1.24-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details
parosol_py-0.1.24-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
parosol_py-0.1.24-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
parosol_py-0.1.24-cp312-cp312-macosx_15_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 15.0+ x86-64 Details
parosol_py-0.1.24-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details
parosol_py-0.1.24-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
parosol_py-0.1.24-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
parosol_py-0.1.24-cp311-cp311-macosx_15_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 15.0+ x86-64 Details
parosol_py-0.1.24-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details

Total release size: 224.5 MB

Release files / parosol_py-0.1.24.tar.gz

Download URL parosol_py-0.1.24.tar.gz
Size 28.4 MB
Tags Source
SHA-256 checksum
How to use checksums
9d0a5a56b0ed186cb71b10445f2e4ce3dab98677c1df6e6292c998886eb1b3de
BLAKE2b-256 checksum
How to use checksums
05f5857db4a6a5d1cb7c63061ac435c63d8bc8d688ce80d5896be6be6ade27a4
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp314-cp314-win_amd64.whl

Download URL parosol_py-0.1.24-cp314-cp314-win_amd64.whl
Size 5.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
37a83012c90ad94c990548789c0c64457922939583e0b6e17573c2ac489c0c3b
BLAKE2b-256 checksum
How to use checksums
7d1d8033e474f92045eb78a840dcd5b50abe4f18af18b19e76650cd050ffd6ac
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL parosol_py-0.1.24-cp314-cp314-manylinux_2_28_x86_64.whl
Size 22.3 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0dcb479299a2946222a04528d02039c1087457f8792fa4350e8f217fd0ec049b
BLAKE2b-256 checksum
How to use checksums
2632aae9465c8570b8937c1bb731e50ef8ac2d1fad6800c24efa3ed5089d1f3d
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp314-cp314-macosx_15_0_x86_64.whl

Download URL parosol_py-0.1.24-cp314-cp314-macosx_15_0_x86_64.whl
Size 11.4 MB
Tags CPython 3.14 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
8b6fedb3ca11a92536fc47e4383dd20207a0fcb9892b97f2b78f3e5f2f005084
BLAKE2b-256 checksum
How to use checksums
7b38c3782e89e0584bdd07f9d858fb004cc0b7c503d3eacc5498a21bb274d01c
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp314-cp314-macosx_15_0_arm64.whl

Download URL parosol_py-0.1.24-cp314-cp314-macosx_15_0_arm64.whl
Size 10.1 MB
Tags CPython 3.14 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
436af93e27684d49b55d715ee69464573e556f4d88938a16f0e7793081ebcffa
BLAKE2b-256 checksum
How to use checksums
63439bd63b80b1e2989bd36f186fcccf016889b9a139bc210c58097085df46fd
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp313-cp313-win_amd64.whl

Download URL parosol_py-0.1.24-cp313-cp313-win_amd64.whl
Size 5.2 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
f662807d13908ad72322ebef4f06d1df374d77936d1b1797efd19e2503342442
BLAKE2b-256 checksum
How to use checksums
33c982dfc8b0869aa52ccd636874a7e113cf359976fa48549d8a14cba5348753
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL parosol_py-0.1.24-cp313-cp313-manylinux_2_28_x86_64.whl
Size 22.3 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f7d4750d04fb02e926d2623e007c0d5a2d1cca5441b5a3bdec180d6503ffd47f
BLAKE2b-256 checksum
How to use checksums
21c0154ad1d624ff3d8a6263a7b1601da0576bafad1ee41146dff8d29fc8ac8a
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp313-cp313-macosx_15_0_x86_64.whl

Download URL parosol_py-0.1.24-cp313-cp313-macosx_15_0_x86_64.whl
Size 11.4 MB
Tags CPython 3.13 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
47ccd5817b79edd11e70459393997beb7c10ac3b8a1e1345b9a8a4e3ea2cd640
BLAKE2b-256 checksum
How to use checksums
d741b6455dd6bf40917e9719be086c18b515b325506ef962a3ec5d722b225dbf
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp313-cp313-macosx_15_0_arm64.whl

Download URL parosol_py-0.1.24-cp313-cp313-macosx_15_0_arm64.whl
Size 10.1 MB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
16666e134f4ed2b39214492ee67f2e72f169310eabcd5a7f12051ba9d4b6f3d6
BLAKE2b-256 checksum
How to use checksums
7feb1bcff2a1e22d955d524fb5d1d3bacc72e2159480f04bd0a4e8bd18b4d9e1
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp312-cp312-win_amd64.whl

Download URL parosol_py-0.1.24-cp312-cp312-win_amd64.whl
Size 5.2 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
6134f9b86429342976ce19bd2eb6489c7c88f30eab6e774397ed22b1f48bd32b
BLAKE2b-256 checksum
How to use checksums
ef5cff3ce34aa12b1088dbc040f578f730e80a3612e0ae1d976f1f340a656a00
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL parosol_py-0.1.24-cp312-cp312-manylinux_2_28_x86_64.whl
Size 22.3 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7be33f1b032af4c864e839b2a0c626b6b93dc9320a8f988baf35445b5c201bd5
BLAKE2b-256 checksum
How to use checksums
2213846510ac3ab41b708ebe9361b8164dc436f0ad64d6fec8270e42eb3af3f3
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp312-cp312-macosx_15_0_x86_64.whl

Download URL parosol_py-0.1.24-cp312-cp312-macosx_15_0_x86_64.whl
Size 11.4 MB
Tags CPython 3.12 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
6b83a06df3cdd5e8a83b602cacf3008ad8c7a809ec3501aded4fd38e7cdc6a1b
BLAKE2b-256 checksum
How to use checksums
6ce8b90880fe3f4c36e9334be3e85922506a5ecfd6bec7a24d99cb4fbf610d1f
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp312-cp312-macosx_15_0_arm64.whl

Download URL parosol_py-0.1.24-cp312-cp312-macosx_15_0_arm64.whl
Size 10.1 MB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
a9705beb3222764f7cd410d0e0763fa4bffd5a306979f47350d930d93032a675
BLAKE2b-256 checksum
How to use checksums
4939183544ce9538eb1c09f9a0fb2a7658b280d2c81c3d4cd286a536f6b4b46b
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp311-cp311-win_amd64.whl

Download URL parosol_py-0.1.24-cp311-cp311-win_amd64.whl
Size 5.2 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
da499a5cb59fff1bcfe358b822b6631c5cb3ffb7beb8ccec31fe3e0f2232b386
BLAKE2b-256 checksum
How to use checksums
200c8d29038c07a2ffb4adc50bb5fe262e246b86a175d14f5d25fa3c737e8711
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL parosol_py-0.1.24-cp311-cp311-manylinux_2_28_x86_64.whl
Size 22.3 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7f3fe5d940986dadff508ee9738a8da673cd9d7a69173d7fc1749df4a640e6f0
BLAKE2b-256 checksum
How to use checksums
b1ef975c6646e4a827c6986b4d8d773a684a07dbd9a7495d635f3206d8827506
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp311-cp311-macosx_15_0_x86_64.whl

Download URL parosol_py-0.1.24-cp311-cp311-macosx_15_0_x86_64.whl
Size 11.4 MB
Tags CPython 3.11 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
3c17f7014547b4c43c836cd6530e77bd90ab82123d630574709d3b6ad27fb382
BLAKE2b-256 checksum
How to use checksums
b4522339008b8d052e8d0498ccd86cf731ff4dfbbfc2fce8f6852af2b7d4d364
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 Sep 23, 2026.

Transparency log

Release files / parosol_py-0.1.24-cp311-cp311-macosx_15_0_arm64.whl

Download URL parosol_py-0.1.24-cp311-cp311-macosx_15_0_arm64.whl
Size 10.1 MB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
806daa348055eb423f263f2997317ef90dfc33e76b87862809c78d09b36fa95a
BLAKE2b-256 checksum
How to use checksums
4d2618a401003e59f7a31430ac82386aa07c3ab4aba7b73ad7b737a53b7c74fc
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 Sep 23, 2026.

Transparency log
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