Conversation
4d58cb0 to
37eb3c2
Compare
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|
| ✅ BASH | shellcheck | 2 | 0 | 0 | 0.02s | |
| ✅ BASH | shfmt | 2 | 0 | 0 | 0 | 0.19s |
| jscpd | yes | 313 | no | 7.89s | ||
| ✅ JSON | prettier | 7 | 0 | 0 | 0 | 0.75s |
| ✅ JSON | v8r | 7 | 0 | 0 | 4.07s | |
| ruff | yes | yes | 1 | no | 0.46s | |
| ✅ REPOSITORY | git_diff | yes | no | no | 0.18s | |
| cspell | 221 | 3 | 0 | 6.7s | ||
| ✅ YAML | prettier | 4 | 0 | 0 | 0 | 0.55s |
| ✅ YAML | v8r | 4 | 0 | 0 | 5.59s | |
| ✅ YAML | yamllint | 4 | 0 | 0 | 0.52s |
Detailed Issues
⚠️ SPELL / cspell - 3 errors
src/liblaf/apple/inverse/_inverse.py:12:5 - Unknown word (Cupy) -- CupyMinRes,
Suggestions: [cuyp, Cuyp, Copy, Cups, Cuppy]
src/liblaf/apple/inverse/_inverse.py:93:13 - Unknown word (Cupy) -- CupyMinRes(tol=1e-6),
Suggestions: [cuyp, Cuyp, Copy, Cups, Cuppy]
tmp.6NE8UxMvCk/renovate-config.json:28:4 - Unknown word (pyenv) -- "pyenv": {
Suggestions: [peen, pena, pend, peng, penh]
CSpell: Files checked: 221, Issues found: 3 in 2 files.
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": [
"Cupy",
"pyenv"
]
}
You can also copy-paste megalinter-reports/LINTER_DEFAULT at the root of your repository
⚠️ COPYPASTE / jscpd - 313 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/_base.py [233:6 - 240:2] (7 lines, 88 tokens)
src/liblaf/apple/warp/energies/elastic/_base.py [211:7 - 218:7]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_base.py [257:8 - 264:4] (7 lines, 92 tokens)
src/liblaf/apple/warp/energies/elastic/_base.py [211:8 - 218:7]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_base.py [275:12 - 281:5] (6 lines, 75 tokens)
src/liblaf/apple/warp/energies/elastic/_base.py [251:11 - 257:7]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_base.py [281:5 - 289:10] (8 lines, 106 tokens)
src/liblaf/apple/warp/energies/elastic/_base.py [211:7 - 241:7]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_base.py [314:9 - 320:7] (6 lines, 84 tokens)
src/liblaf/apple/warp/energies/elastic/_base.py [212:9 - 218:7]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_base.py [340:2 - 350:7] (10 lines, 138 tokens)
src/liblaf/apple/warp/energies/elastic/_base.py [308:2 - 318:10]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_base.py [379:9 - 386:7] (7 lines, 101 tokens)
src/liblaf/apple/warp/energies/elastic/_base.py [346:9 - 353:7]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [9:1 - 25:33] (16 lines, 99 tokens)
src/liblaf/apple/warp/energies/elastic/_vol_preserve_det.py [7:1 - 23:53]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [122:5 - 148:2] (26 lines, 200 tokens)
src/liblaf/apple/warp/energies/elastic/_vol_preserve_det.py [119:5 - 145:10]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [1:1 - 31:2] (30 lines, 241 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [1:1 - 31:2]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [33:2 - 44:2] (11 lines, 91 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [32:2 - 43:2]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [40:6 - 46:9] (6 lines, 82 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [27:7 - 33:2]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [46:2 - 57:2] (11 lines, 119 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [44:2 - 55:2]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [61:7 - 80:2] (19 lines, 170 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [57:5 - 76:2]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [76:6 - 83:8] (7 lines, 96 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [53:6 - 60:8]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [84:7 - 103:2] (19 lines, 170 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [78:5 - 97:2]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [99:7 - 106:8] (7 lines, 96 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [53:6 - 60:8]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [113:15 - 169:10] (56 lines, 508 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [105:18 - 161:10]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap.py [4:1 - 25:26] (21 lines, 136 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [4:1 - 23:53]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap.py [71:2 - 79:21] (8 lines, 84 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [77:2 - 85:28]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap.py [91:2 - 98:9] (7 lines, 82 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [98:2 - 105:18]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap.py [109:21 - 139:18] (30 lines, 243 tokens)
src/liblaf/apple/warp/energies/elastic/_vol_preserve_det.py [119:5 - 149:43]
Clone found (python):
- exp/2026/03/11/test-inverse/src/30-inverse.py [122:2 - 133:6] (11 lines, 121 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [106:2 - 117:7]
Clone found (python):
- exp/2026/03/11/test-inverse/src/20-forward.py [36:5 - 49:5] (13 lines, 89 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [56:5 - 69:14]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [1:1 - 15:2] (14 lines, 136 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [1:1 - 16:5]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [24:1 - 43:7] (19 lines, 196 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [20:1 - 39:6]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [86:5 - 97:12] (11 lines, 110 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [60:5 - 71:7]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [109:5 - 122:7] (13 lines, 123 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [81:5 - 94:6]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [123:15 - 128:2] (5 lines, 73 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [94:12 - 98:24]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [128:32 - 140:7] (12 lines, 126 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [98:24 - 109:5]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [146:7 - 156:7] (10 lines, 104 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [115:5 - 125:5]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [153:2 - 164:6] (11 lines, 121 tokens)
exp/2026/01/28/smas/src/30-inverse.py [137:2 - 148:7]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-unreachable.py [21:1 - 48:30] (27 lines, 266 tokens)
exp/2026/01/28/smas/src/30-inverse.py [16:1 - 43:29]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-unreachable.py [51:1 - 65:61] (14 lines, 165 tokens)
exp/2026/01/28/smas/src/30-inverse.py [46:1 - 60:5]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-unreachable.py [70:5 - 106:5] (36 lines, 370 tokens)
exp/2026/01/28/smas/src/30-inverse.py [65:5 - 101:59]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-unreachable.py [108:5 - 121:2] (13 lines, 113 tokens)
exp/2026/01/28/smas/src/30-inverse.py [103:5 - 116:10]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-unreachable.py [125:7 - 131:44] (6 lines, 85 tokens)
exp/2026/01/28/smas/src/30-inverse.py [122:2 - 128:32]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-unreachable.py [140:13 - 166:2] (26 lines, 298 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [107:13 - 133:17]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-test.py [1:1 - 15:2] (14 lines, 129 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [1:1 - 15:11]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-test.py [23:1 - 49:34] (26 lines, 248 tokens)
exp/2026/01/28/smas/src/30-inverse.py [17:1 - 43:29]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-test.py [52:1 - 69:5] (17 lines, 224 tokens)
exp/2026/01/28/smas/src/30-inverse.py [46:1 - 63:63]
Clone
(Truncated to 13333 characters out of 58060)
⚠️ PYTHON / ruff - 1 error
RUF059 Unpacked variable `sigma` is never used
--> test_svd.py:9:8
|
7 | @wp.func
8 | def svd_rv(F: wp.mat33):
9 | U, sigma, V = wp.svd3(F)
| ^^^^^
10 | return U @ wp.transpose(V)
|
help: Prefix it with an underscore or any other dummy variable pattern
Found 1 error.
No fixes available (1 hidden fix can be enabled with the `--unsafe-fixes` option).
See detailed reports in MegaLinter artifacts
❌ 12 Tests Failed:
View the full list of 12 ❄️ flaky test(s)
To view more test analytics, go to the Test Analytics Dashboard |
4847e06 to
adc82bd
Compare
e7b1ac5 to
c38867f
Compare
643b3fc to
840c1e5
Compare
3952ba7 to
717eb2a
Compare
717eb2a to
039d17e
Compare
039d17e to
6c12c98
Compare
76944ef to
3e574ab
Compare
563dc2e to
37f6bdf
Compare
37f6bdf to
ac87101
Compare
85dc62c to
eefa862
Compare
8907bba to
6dbee2f
Compare
d98fbf6 to
b656941
Compare
b656941 to
cbf3f57
Compare
for more information, see https://pre-commit.ci

🤖 I have created a release beep boop
0.8.0 (2026-03-31)
⚠ BREAKING CHANGES
✨ Features
🐛 Bug Fixes
📝 Documentation
This PR was generated with Release Please. See documentation.