Skip to main content

pyvisco

CI Notebooks Hugging Face Space Documentation Status PyPI Python DOI

Pyvisco is a Python library that supports the identification of Prony series parameters for Generalized Maxwell models describing linear viscoelastic materials.

Overview

The mechanical response of linear viscoelastic materials is often described with Generalized Maxwell models. The necessary material model parameters are typically identified by fitting a Prony series to the experimental measurement data in either the frequency-domain (via Dynamic Mechanical Thermal Analysis) or time-domain (via relaxation measurements). Pyvisco performs the necessary data processing of the experimental measurements, mathematical operations, and curve-fitting routines to identify the Prony series parameters. The experimental data can be provided as raw measurement sets at different temperatures or as pre-processed master curves.

  • If raw measurement data are provided, the time-temperature superposition principle is applied to create a master curve and obtain the shift functions prior to the Prony series parameters identification.

  • If master curves are provided, the shift procedure can be skipped, and the Prony series parameters identified directly.

An optional minimization routine is provided to reduce the number of Prony elements. This routine is helpful for Finite Element simulations where reducing the computational complexity of the linear viscoelastic material models can shorten the simulation time.

Installation

pip install pyvisco

Requires Python 3.11 or newer.

Example data

Bundled example input files live under sample_data/ and are also published as a downloadable archive on every GitHub release: pyvisco-examples.zip. These files can be loaded directly into the web app, the tutorial notebook, or any of the standalone scripts described below.

Usage

There are three ways to use pyvisco:

  1. Interactive web app (no install required). The LinViscoFit.ipynb notebook provides a graphical interface (upload data → fit → download Prony series) and is hosted as a Voila application on Hugging Face Spaces:

    Hugging Face Space

    The Space tracks the main branch and rebuilds automatically. The first request after a period of inactivity may take ~30s while the container wakes up. The same app can also be run locally with voila LinViscoFit.ipynb after a pip install pyvisco.

  2. Tutorial notebook & scripts. The tutorials/ folder contains a non-interactive walkthrough notebook (tutorial.ipynb) and three standalone Python scripts (freq_master.py, freq_raw.py, time_master.py) mirroring the verification scenarios — suitable for headless / CI / batch use.

  3. As a library. Import pyvisco and call the modules directly. See the API documentation for details.

Verification

The Python implementation is verified against the curve-fitting routine of the commercial package ANSYS APDL 2021 R1. The notebooks and reference material cards live in the verification/ folder and are executed end-to-end on every push.

Citation

If you use pyvisco in your published work, please cite it along with the version number and the specific DOI for that version on Zenodo: DOI.

APA

Springer, Martin (2022). PYVISCO: A Python library for identifying Prony series parameters of linear viscoelastic materials (Version {insert version}) [Computer software]. doi:{insert DOI}

BibTeX

@software{Springer_pyvisco_2022,
  author  = {Springer, Martin},
  doi     = {insert DOI},
  title   = {{PYVISCO: A Python library for identifying Prony series parameters of linear viscoelastic materials}},
  url     = {https://github.com/NatLabRockies/pyvisco},
  version = {insert version},
  year    = {2022}
}

Contributing

Bug reports, questions, and pull requests are welcome. See CONTRIBUTING.md for how to report issues, ask for support, set up a development environment, and submit changes.

License

Released under the BSD 3-Clause license.

Metadata

Release files for pyvisco 2.1.3

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

Source distribution (sdist)

Source distribution for pyvisco 2.1.3
File Size Uploaded
pyvisco-2.1.3.tar.gz 3.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyvisco 2.1.3
File Interpreter ABI Platform
pyvisco-2.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 3.4 MB

Release files / pyvisco-2.1.3.tar.gz

Download URL pyvisco-2.1.3.tar.gz
Size 3.4 MB
Tags Source
SHA-256 checksum
How to use checksums
81a2a8b8945fe5abb8eff5f357a55bd4840417afb58785a19e2b48b1b2bbbbe2
BLAKE2b-256 checksum
How to use checksums
a4b407174ddc74a07375d2ddb5885dad2ae022b9a1497be617fb717719f8c2a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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

Transparency log

Release files / pyvisco-2.1.3-py3-none-any.whl

Download URL pyvisco-2.1.3-py3-none-any.whl
Size 44.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b0e96799d645e570e7291972b679cf97bbb727e510a78cae886b92661ba22316
BLAKE2b-256 checksum
How to use checksums
ccc7faf7754306a6f226d88e97e431341cd29367b6542024e87ed7e2a65fa82d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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

Transparency log

Release history Release notifications | RSS feed

This release

2.1.3 This release

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.4

2 release files

1.0.2

2 release files

1.0.1

2 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