Skip to content

fix(deps): update dependency felupe to v10#87

Open
renovate[bot] wants to merge 2 commits intomainfrom
renovate/felupe-10.x
Open

fix(deps): update dependency felupe to v10#87
renovate[bot] wants to merge 2 commits intomainfrom
renovate/felupe-10.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 13, 2026

This PR contains the following updates:

Package Change Age Confidence
felupe (changelog) >=9,<10>=10,<11 age confidence

Release Notes

adtzlr/felupe (felupe)

v10.1.0

Compare Source

Changed
  • Make Mesh.x, Mesh.y and Mesh.z writable.
  • Use the pseudo-inverse instead of the inverse of the Hessian to calculate dx in ConstitutiveMaterial.optimize().
  • Ignore NaN values in the observed data in ConstitutiveMaterial.optimize().
Fixed
  • Fix the dimension of the top-level field returned from FieldContainer.merge(). Previously, the dimension was taken from the mesh. Now, it is taken from the first field of the first sub-field.

v10.0.0

Compare Source

Added
  • Add MaterialStrain(..., framework="small-strain") to select a framework. Default is "small-strain" (unchanged) but now "total-lagrange" and "co-rotational" are also supported. Note that framework="total-lagrange" will change the linear-elastic material model formulation to the Saint-Venant Kirchhoff material model formulation.
  • Add MaterialStrain(..., symmetry=True) to enforce the returned stress and elasticity tensors to be (minor) symmetric. Default is True. symmetry=False will improve performance if the provided material returns symmetric tensors.
  • Add the Ogden material model formulation also for the JAX-backend constitution.jax.models.hyperelastic.ogden.
  • Add linear_elastic_viscoelastic(), a linear-elastic (deviatoric) viscoelastic material model formulation to be used in MaterialStrain.
Changed
  • Don't enforce the returned elasticity tensor in MaterialStrain to be major-symmetric.
  • Change the default output of the loadcases dof.uniaxial(), dof.shear() and dof.biaxial() to return the dict of boundary conditions, but deprecate this boundaries, loadcase = fem.dof.uniaxial(field, return_loadcase=None) (was boundaries, loadcase = fem.dof.uniaxial(field) before). The additional loadcase dict is now optional, boundaries, loadcase = fem.dof.uniaxial(field, return_loadcase=True) is required.
  • Don't support iteration over a BoundaryDict. Use BoundaryDict.items() or BoundaryDict.values() instead.
  • Change the default label value in Boundary.plot(label="Boundary Condition") (was label=None before). The fall-back to Boundary.name is removed.
Deprecated
  • Deprecate bounds in dof.symmetry(field, bounds=None). Use new equivalent boundaries argument, dof.symmetry(field, boundaries=None).
  • Deprecate boundaries, loadcase = fem.dof.uniaxial(field, return_loadcase=None). Use return_loadcase=True or return_loadcase=False in new code. return_loadcase=False will be the default value in 11.0.0.
Removed
  • Remove deprecated SolidBodyGravity.
  • Remove support for Python 3.9.
  • Remove unused optional name argument in Boundary.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

renovate-approve[bot]
renovate-approve bot previously approved these changes Feb 13, 2026
@liblaf
Copy link
Contributor

liblaf bot commented Feb 13, 2026

⚠️MegaLinter analysis: Success with warnings

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ BASH shellcheck 2 0 0 0.03s
✅ BASH shfmt 2 0 0 0 0.26s
⚠️ COPYPASTE jscpd yes 275 no 7.73s
✅ JSON prettier 7 0 0 0 0.8s
✅ JSON v8r 7 0 0 4.87s
⚠️ PYTHON ruff yes yes 1 no 0.59s
✅ REPOSITORY git_diff yes no no 0.26s
⚠️ SPELL cspell 196 1 0 7.05s
✅ YAML prettier 4 0 0 0 0.66s
✅ YAML v8r 4 0 0 6.31s
✅ YAML yamllint 4 0 0 0.46s

Detailed Issues

⚠️ SPELL / cspell - 1 error
tmp.6NE8UxMvCk/renovate-config.json:28:4      - Unknown word (pyenv)      -- "pyenv": {
	 Suggestions: [peen, pena, pend, peng, penh]
CSpell: Files checked: 196, Issues found: 1 in 1 file.


You can skip this misspellings by defining the following .cspell.json file at the root of your repository
Of course, please correct real typos before :)

{
    "version": "0.2",
    "language": "en",
    "ignorePaths": [
        "**/node_modules/**",
        "**/vscode-extension/**",
        "**/.git/**",
        "**/.pnpm-lock.json",
        ".vscode",
        "package-lock.json",
        "megalinter-reports"
    ],
    "words": [
        "pyenv"
    ]
}


You can also copy-paste megalinter-reports/LINTER_DEFAULT at the root of your repository
⚠️ COPYPASTE / jscpd - 275 errors
Clone found (python):
 - exp/2025/07/30/dynamics/collision/collision-bunny-bunny/main.py [1:1 - 14:5] (13 lines, 115 tokens)
   exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [1:1 - 14:4]

Clone found (python):
 - exp/2025/07/30/dynamics/collision/collision-bunny-bunny/main.py [22:5 - 84:78] (62 lines, 768 tokens)
   exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [22:5 - 84:8]

Clone found (python):
 - exp/2025/07/30/dynamics/collision/collision-bunny-bunny/main.py [87:5 - 114:2] (27 lines, 319 tokens)
   exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [84:4 - 111:2]

Clone found (python):
 - exp/2025/07/30/dynamics/collision/collision-bunny/main.py [21:5 - 35:7] (14 lines, 116 tokens)
   exp/2025/07/30/dynamics/collision/collision-bunny-bunny/main.py [17:5 - 31:4]

Clone found (python):
 - exp/2025/07/30/dynamics/collision/collision-bunny/main.py [58:1 - 67:4] (9 lines, 151 tokens)
   exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [31:1 - 40:3]

Clone found (python):
 - exp/2025/07/30/dynamics/collision/collision-bunny/main.py [67:3 - 77:9] (10 lines, 124 tokens)
   exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [40:3 - 49:6]

Clone found (python):
 - exp/2025/07/30/dynamics/collision/collision-bunny/main.py [81:9 - 88:5] (7 lines, 101 tokens)
   exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [52:9 - 59:7]

Clone found (python):
 - exp/2025/07/30/dynamics/collision/collision-bunny/main.py [90:4 - 100:5] (10 lines, 128 tokens)
   exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [58:2 - 68:4]

Clone found (python):
 - exp/2025/07/30/dynamics/collision/collision-bunny/main.py [100:2 - 116:4] (16 lines, 181 tokens)
   exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [68:2 - 84:10]

Clone found (python):
 - exp/2025/07/30/dynamics/collision/collision-bunny/main.py [116:6 - 132:5] (16 lines, 200 tokens)
   exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [87:5 - 103:13]

Clone found (python):
 - exp/2025/07/30/dynamics/collision/collision-box/main.py [1:1 - 50:5] (49 lines, 490 tokens)
   exp/2025/07/30/dynamics/collision/collision-bunny/main.py [1:1 - 50:3]

Clone found (python):
 - exp/2025/07/30/dynamics/collision/collision-box/main.py [52:9 - 79:28] (27 lines, 359 tokens)
   exp/2025/07/30/dynamics/collision/collision-bunny/main.py [54:2 - 81:3]

Clone found (python):
 - exp/2025/07/30/dynamics/collision/collision-box/main.py [78:9 - 96:75] (18 lines, 224 tokens)
   exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [49:10 - 96:8]

Clone found (python):
 - exp/2025/07/30/dynamics/collision/collision-box/main.py [104:5 - 142:10] (38 lines, 481 tokens)
   exp/2025/07/30/dynamics/collision/collision-bunny/main.py [97:8 - 105:12]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [50:6 - 60:2] (10 lines, 99 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [24:1 - 34:7]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [64:5 - 73:8] (9 lines, 160 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [41:5 - 50:8]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [77:3 - 83:8] (6 lines, 75 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [28:2 - 34:7]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [86:5 - 95:8] (9 lines, 160 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [41:5 - 50:8]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [95:8 - 105:8] (10 lines, 116 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [50:8 - 34:7]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [108:5 - 117:12] (9 lines, 158 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [41:5 - 50:4]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [141:3 - 150:13] (9 lines, 90 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [130:3 - 139:13]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [99:8 - 109:22] (10 lines, 97 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [76:8 - 86:13]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [109:22 - 120:6] (11 lines, 182 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [86:13 - 97:5]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [120:6 - 125:2] (5 lines, 93 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [97:5 - 104:2]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [68:5 - 73:13] (5 lines, 65 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [81:5 - 86:13]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [74:5 - 85:11] (11 lines, 208 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [88:5 - 99:11]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [85:8 - 94:22] (9 lines, 83 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [64:8 - 86:13]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [94:22 - 106:11] (12 lines, 211 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [73:13 - 122:11]

Clone found (python):
 - tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [104:6 - 109:2] (5 lines, 80 tokens)
   tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [83:5 - 89:2]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_vol_preserve_det.py [24:53 - 34:60] (10 lines, 100 tokens)
   src/liblaf/apple/warp/energies/elastic/_vol_preserve_det_func.py [18:52 - 28:59]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_vol_preserve_det.py [34:60 - 45:48] (11 lines, 106 tokens)
   src/liblaf/apple/warp/energies/elastic/_vol_preserve_det_func.py [28:59 - 39:47]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_vol_preserve_det.py [45:48 - 65:48] (20 lines, 193 tokens)
   src/liblaf/apple/warp/energies/elastic/_vol_preserve_det_func.py [39:47 - 59:47]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_vol_preserve_det.py [65:48 - 86:48] (21 lines, 206 tokens)
   src/liblaf/apple/warp/energies/elastic/_vol_preserve_det_func.py [59:47 - 80:47]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_vol_preserve_det.py [86:48 - 102:8] (16 lines, 194 tokens)
   src/liblaf/apple/warp/energies/elastic/_vol_preserve_det_func.py [80:47 - 96:8]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_phace_v2.py [207:5 - 214:11] (7 lines, 115 tokens)
   src/liblaf/apple/warp/energies/elastic/_vol_preserve_det_func.py [89:5 - 96:7]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_phace_v2.py [265:27 - 272:5] (7 lines, 100 tokens)
   src/liblaf/apple/warp/energies/elastic/_phace_v2.py [254:20 - 261:7]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_phace_v2.py [276:15 - 286:77] (10 lines, 112 tokens)
   src/liblaf/apple/warp/energies/elastic/_phace_v2.py [254:20 - 275:17]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_phace_v2.py [293:4 - 302:41] (9 lines, 102 tokens)
   src/liblaf/apple/warp/energies/elastic/_phace_v2.py [256:4 - 264:12]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_phace_v2.py [331:9 - 338:7] (7 lines, 75 tokens)
   src/liblaf/apple/warp/energies/elastic/_phace_v2.py [223:1 - 231:6]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_base.py [245:6 - 252:2] (7 lines, 88 tokens)
   src/liblaf/apple/warp/energies/elastic/_base.py [222:7 - 229:7]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_base.py [270:8 - 277:4] (7 lines, 92 tokens)
   src/liblaf/apple/warp/energies/elastic/_base.py [222:8 - 229:7]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_base.py [289:12 - 295:5] (6 lines, 75 tokens)
   src/liblaf/apple/warp/energies/elastic/_base.py [264:11 - 270:7]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_base.py [361:2 - 369:5] (8 lines, 109 tokens)
   src/liblaf/apple/warp/energies/elastic/_base.py [325:2 - 333:14]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_base.py [401:9 - 408:7] (7 lines, 101 tokens)
   src/liblaf/apple/warp/energies/elastic/_base.py [367:9 - 374:7]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_arap_muscle_func.py [89:5 - 97:7] (8 lines, 150 tokens)
   src/liblaf/apple/warp/energies/elastic/_phace_v2.py [194:5 - 202:19]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [25:33 - 37:40] (12 lines, 130 tokens)
   src/liblaf/apple/warp/energies/elastic/_arap_muscle_func.py [18:32 - 30:39]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [37:40 - 49:28] (12 lines, 127 tokens)
   src/liblaf/apple/warp/energies/elastic/_arap_muscle_func.py [30:39 - 42:27]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [49:28 - 65:28] (16 lines, 221 tokens)
   src/liblaf/apple/warp/energies/elastic/_arap_muscle_func.py [42:27 - 58:27]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [65:28 - 87:28] (22 lines, 240 tokens)
   src/liblaf/apple/warp/energies/elastic/_arap_muscle_func.py [58:27 - 80:27]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [87:28 - 104:8] (17 lines, 228 tokens)
   src/liblaf/apple/warp/energies/elastic/_arap_muscle_func.py [80:27 - 97:8]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [125:5 - 151:2] (26 lines, 200 tokens)
   src/liblaf/apple/warp/energies/elastic/_vol_preserve_det.py [120:5 - 146:10]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_arap_func.py [75:5 - 80:7] (5 lines, 105 tokens)
   src/liblaf/apple/warp/energies/elastic/_phace_v2.py [184:5 - 189:12]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_arap.py [25:26 - 33:33] (8 lines, 95 tokens)
   src/liblaf/apple/warp/energies/elastic/_arap_func.py [18:25 - 26:32]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_arap.py [33:33 - 43:21] (10 lines, 86 tokens)
   src/liblaf/apple/warp/energies/elastic/_arap_func.py [26:32 - 34:20]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_arap.py [45:6 - 51:8] (6 lines, 119 tokens)
   src/liblaf/apple/warp/energies/elastic/_arap_func.py [36:6 - 42:8]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_arap.py [56:21 - 75:21] (19 lines, 195 tokens)
   src/liblaf/apple/warp/energies/elastic/_arap_func.py [47:20 - 66:20]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_arap.py [75:21 - 89:8] (14 lines, 183 tokens)
   src/liblaf/apple/warp/energies/elastic/_arap_func.py [66:20 - 80:8]

Clone found (python):
 - src/liblaf/apple/warp/energies/elastic/_arap.py [104:21 - 134:18] (30 lines, 243 tokens)
   src/liblaf/apple/warp/energies/elastic/_vol_preserve_det.py [120:5 - 150:43]

Clone found (python):
 - exp/2026/01/28/smas/src/20-forward-phace.py [32:5 - 49:7] (17 lines, 173 tokens)
   exp/2026/01/28/smas/src/21-forward-whole.py [44:5 - 61:6]

Clone found (python):
 - exp/2025/12/31/inverse-toy/src/20-forward-prestrain.py [1:1 - 11:2] (10 lines, 96 tokens)
   exp/2025/12/31/inverse-toy/src/20-forward.py [1:1 - 11:11]

Clone found (python):
 - exp/2025/12/31/inverse-toy/src/20-forward-prestrain.py [40:8 - 49:5] (9 lines, 81 tokens)
   exp/2025/12/31/inverse-toy/src/20-forward.py [34:13 - 43:5]

Clone found (python):
 - exp/2025/12/31/inverse-toy/src/20-forward-prestrain.py [74:5 - 86:38] (12 lines, 132 tokens)
   exp/2025/12/31/inverse-toy/src/20-forward.py [59:8 - 70:2]

Clone found (python):
 - exp/2025/12/31/inverse-toy/src/20-forward-prestrain.py [88:3 - 98:3] (10 lines, 96 tokens)
   exp/2025/12/31/inverse-toy/src/20-forward.py [72:3 - 82:32]

Clone found (python):
 - exp/2025/12/31/inverse-toy/src/20-forward-prestrain.py [101:5 - 115:35] (14 lines, 120 tokens)
   exp/2025/12/31/inverse-toy/src/20-forward.py [101:5 - 115:25]

Clone found (python):
 - exp/2025/12/31/inverse-toy/src/20-forward-newton.py [31:5 - 45:2] (14 lines, 189 tokens)
   exp/2025/12/31/inverse-toy/src/20-forward.py [61:6 - 90:2]

Clone found (python):
 - exp/2025/12/31/inverse-toy/src/10-gen-grid.py [25:2 - 35:9] (10 lines, 79 tokens)
   exp/2025/12/31/inverse-toy/src/10-gen.py [27:4 - 37:5]

Clone found (python):
 - exp/2025/12/31/inverse-toy/src/10-gen-grid.py [48:5 - 57:16] (9 lines, 131 tokens)
   exp/2025/12/31/inverse-toy/src/10-gen.py [52:8 - 61:18]

Clone found (python):
 - exp/2025/12/31/inverse-toy/src/10-gen-grid.py [61:16 - 66:16] (5 lines, 110 tokens)
   exp/2025/12/31/inverse-toy/src/10-gen.py [65:17 - 70:17]

Clone found (python):

(Truncated to 13333 characters out of 51945)
⚠️ PYTHON / ruff - 1 error
ARG003 Unused class method argument: `clamp_hess_diag`
   --> src/liblaf/apple/warp/energies/elastic/_base.py:319:9
    |
317 |         module: str | None = None,
318 |         *,
319 |         clamp_hess_diag: bool = True,
    |         ^^^^^^^^^^^^^^^
320 |     ) -> wp.Kernel:
321 |         # @wp.kernel
    |

Found 1 error.

See detailed reports in MegaLinter artifacts

MegaLinter is graciously provided by OX Security

@renovate renovate bot requested a review from liblaf February 13, 2026 14:07
@renovate renovate bot force-pushed the renovate/felupe-10.x branch from 155f559 to b17dca1 Compare February 26, 2026 18:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant