pyMechT

pyMechT: A Python package for mechanics of soft tissues - Published in JOSS (2025)

https://github.com/ankushaggarwal/pymecht

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    3 of 5 committers (60.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Mathematics Computer Science - 88% confidence
Last synced: 4 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: ankushaggarwal
  • License: mit
  • Language: Python
  • Default Branch: master
  • Size: 1.63 MB
Statistics
  • Stars: 5
  • Watchers: 2
  • Forks: 5
  • Open Issues: 2
  • Releases: 10
Created over 4 years ago · Last pushed 11 months ago
Metadata Files
Readme Contributing License Citation

README.md

PyPI - Version Build Status Documentation Status Python versions GitHub status

pyMechT

pyMechT is a Python package for simulating the mechanical response of soft biological tissues. The ethos of pyMechT is to create simplified virtual experimental setups, rather than finite element analyses. Thus, varying parameters and running simulations is much faster, making it feasible to perform Bayesian inference and Markov Chain Monte Carlo analyses. A short overview is provided in the video below.

pyMechT overview

Documentation

Find the full documentation at https://pymecht.readthedocs.io/en/latest/.

Structure

pyMechT is a collection of modules for:

  • MatModel: defining material models
  • SampleExperiment: simulating experiments, such as uniaxial extension, biaxial extension, and inflation-extension. Simulations can be either disp_controlled or force_controlled
  • ParamDict: a custom dictionary class of a datastructure called Param, which facilitates storing/varying/fitting parameters
  • ParamFitter: fitting parameters to experimental data
  • RandomParameters and MCMC: Bayesian inference by running Monte Carlo (MC) and Markov chain Monte Carlo (MCMC) simulations

Structure of pyMechT{{caption=Structure of pyMechT}

This package is developed and maintained by the Computational Biomechanics Research Group at the University of Glasgow.

Required dependencies are: * matplotlib * numpy * pandas * pyDOE * scipy * torch * sympy * tqdm

Installation

Step 1 (optional): Create a virtual environment

To create an environment in Anaconda, execute: sh conda create -n pymecht python=3.9 ipykernel Python3.9 is suggested, although any of the currently-supported versions of Python will also work.

To activate this virtual environment, execute: sh conda activate pymecht This is an optional, but recommended, step. There are other options for creating and managing environments (such as venv or virtualenv)

Step 2: Install via pip

User pyMechT can be installed directly from PyPI via pip by using: ```sh pip install pymecht ```
Developer To install as a devloper, it is recommended to fork from the repo and clone this fork locally. ### *Step 2.1 Fork from ankushaggarwal/pymecht* To fork a branch, head to the [Github repository](https://github.com/ankushaggarwal/pymecht) and click the fork button in the top right-hand corner. ### *Step 2.2 Clone the forked repo* To clone this repo locally, use the ```sh git clone ``` where `` can be replaced by either the https or ssh addresses of the forked repo. ### *Step 2.3 Install developer version of pyMechT* To install a developer version of pyMechT, navigate to the locally cloned repo and execute: ```sh pip install -e . ``` An editable version of pyMechT is now installed. All local changes to the cloned source code files will be reflected when pyMechT is imported.

Step 3: Check installation

Ensure that pyMechT has been installed by executing: sh pip list The package and version should be visible in the resulting list.

Contributing to pyMechT

See the contributing guidelines CONTRIBUTING.md for information on submitting issues and pull requests.

Owner

  • Login: ankushaggarwal
  • Kind: user

JOSS Publication

pyMechT: A Python package for mechanics of soft tissues
Published
February 12, 2025
Volume 10, Issue 106, Page 7490
Authors
Ankush Aggarwal ORCID
Glasgow Computational Engineering Centre (GCEC), University of Glasgow, G12 8LT, United Kingdom, James Watt School of Engineering, University of Glasgow, G12 8LT, United Kingdom
Ross Williams ORCID
Glasgow Computational Engineering Centre (GCEC), University of Glasgow, G12 8LT, United Kingdom, James Watt School of Engineering, University of Glasgow, G12 8LT, United Kingdom
Claire Rosnel ORCID
Glasgow Computational Engineering Centre (GCEC), University of Glasgow, G12 8LT, United Kingdom, James Watt School of Engineering, University of Glasgow, G12 8LT, United Kingdom
Silvia Renon ORCID
Glasgow Computational Engineering Centre (GCEC), University of Glasgow, G12 8LT, United Kingdom, James Watt School of Engineering, University of Glasgow, G12 8LT, United Kingdom
Jude M. Hussain
Glasgow Computational Engineering Centre (GCEC), University of Glasgow, G12 8LT, United Kingdom, James Watt School of Engineering, University of Glasgow, G12 8LT, United Kingdom
André F. Schmidt
Glasgow Computational Engineering Centre (GCEC), University of Glasgow, G12 8LT, United Kingdom, James Watt School of Engineering, University of Glasgow, G12 8LT, United Kingdom
Shiting Huang ORCID
Glasgow Computational Engineering Centre (GCEC), University of Glasgow, G12 8LT, United Kingdom, James Watt School of Engineering, University of Glasgow, G12 8LT, United Kingdom
Sean McGinty ORCID
Glasgow Computational Engineering Centre (GCEC), University of Glasgow, G12 8LT, United Kingdom, James Watt School of Engineering, University of Glasgow, G12 8LT, United Kingdom
Andrew McBride ORCID
Glasgow Computational Engineering Centre (GCEC), University of Glasgow, G12 8LT, United Kingdom, James Watt School of Engineering, University of Glasgow, G12 8LT, United Kingdom
Editor
Kevin M. Moerman ORCID
Tags
mechanics large deformation hyperelasticity soft tissues biomechanics ex-vivo testing parameter estimation Bayesian inference

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Aggarwal
  given-names: Ankush
  orcid: "https://orcid.org/0000-0002-1755-8807"
- family-names: Williams
  given-names: Ross
  orcid: "https://orcid.org/0000-0002-5433-4933"
- family-names: Rosnel
  given-names: Claire
  orcid: "https://orcid.org/0009-0000-0038-4321"
- family-names: Renon
  given-names: Silvia
  orcid: "https://orcid.org/0000-0002-2325-8771"
- family-names: Hussain
  given-names: Jude M.
- family-names: Schmidt
  given-names: André F.
- family-names: Huang
  given-names: Shiting
  orcid: "https://orcid.org/0009-0007-5020-9020"
- family-names: McGinty
  given-names: Sean
  orcid: "https://orcid.org/0000-0002-2428-2669"
- family-names: McBride
  given-names: Andrew
  orcid: "https://orcid.org/0000-0001-7153-3777"
doi: 10.5281/zenodo.14823425
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Aggarwal
    given-names: Ankush
    orcid: "https://orcid.org/0000-0002-1755-8807"
  - family-names: Williams
    given-names: Ross
    orcid: "https://orcid.org/0000-0002-5433-4933"
  - family-names: Rosnel
    given-names: Claire
    orcid: "https://orcid.org/0009-0000-0038-4321"
  - family-names: Renon
    given-names: Silvia
    orcid: "https://orcid.org/0000-0002-2325-8771"
  - family-names: Hussain
    given-names: Jude M.
  - family-names: Schmidt
    given-names: André F.
  - family-names: Huang
    given-names: Shiting
    orcid: "https://orcid.org/0009-0007-5020-9020"
  - family-names: McGinty
    given-names: Sean
    orcid: "https://orcid.org/0000-0002-2428-2669"
  - family-names: McBride
    given-names: Andrew
    orcid: "https://orcid.org/0000-0001-7153-3777"
  date-published: 2025-02-12
  doi: 10.21105/joss.07490
  issn: 2475-9066
  issue: 106
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 7490
  title: "pyMechT: A Python package for mechanics of soft tissues"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.07490"
  volume: 10
title: "pyMechT: A Python package for mechanics of soft tissues"

GitHub Events

Total
  • Create event: 6
  • Release event: 1
  • Issues event: 2
  • Watch event: 3
  • Delete event: 2
  • Issue comment event: 5
  • Push event: 17
  • Pull request review event: 6
  • Pull request event: 12
  • Fork event: 3
Last Year
  • Create event: 6
  • Release event: 1
  • Issues event: 2
  • Watch event: 3
  • Delete event: 2
  • Issue comment event: 5
  • Push event: 17
  • Pull request review event: 6
  • Pull request event: 12
  • Fork event: 3

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 319
  • Total Committers: 5
  • Avg Commits per committer: 63.8
  • Development Distribution Score (DDS): 0.235
Past Year
  • Commits: 65
  • Committers: 4
  • Avg Commits per committer: 16.25
  • Development Distribution Score (DDS): 0.4
Top Committers
Name Email Commits
Ankush Aggarwal a****2@y****m 244
Ross Williams r****2@r****k 63
rosnelclaire 2****r@s****k 8
Shiting_Huang 2****H@s****k 3
Ross Williams 4****2 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 6
  • Total pull requests: 43
  • Average time to close issues: 9 months
  • Average time to close pull requests: 23 days
  • Total issue authors: 4
  • Total pull request authors: 4
  • Average comments per issue: 1.33
  • Average comments per pull request: 0.98
  • Merged pull requests: 41
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 13
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 days
  • Issue authors: 1
  • Pull request authors: 4
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.54
  • Merged pull requests: 13
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • r-williams-2 (2)
  • rosnelclaire (2)
  • ankushaggarwal (1)
Pull Request Authors
  • ankushaggarwal (37)
  • r-williams-2 (11)
  • ShitingHuang-1 (4)
  • rosnelclaire (3)
Top Labels
Issue Labels
bug (1)
Pull Request Labels
documentation (2) enhancement (2) bug (1) good first issue (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 13 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 9
  • Total maintainers: 1
pypi.org: pymecht

This is PYthon-based repository is for MECHanics of Tissue mechanics. The focus is on flexibility of adding new constitutive models and varying their parameters.

  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 13 Last month
Rankings
Dependent packages count: 7.5%
Average: 38.6%
Dependent repos count: 69.8%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/ci-tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v1 composite
pyproject.toml pypi
  • matplotlib >= 3.4.1
  • numpy >= 1.22.2
  • pyDOE >= 0.3.8
  • scipy >= 1.8.0
  • sympy >= 1.10.1
  • torch >= 1.10.1
  • tqdm >= 4.61.0
setup.py pypi