Repository navigation
chore(release): v0.8.0 - #104
Open
liblaf-release-please[bot] wants to merge 1 commit into
Open
liblaf-release-please[bot] wants to merge 1 commit into
liblaf-release-please[bot] wants to merge 1 commit into
Conversation
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Max errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|---|
| ✅ BASH | shellcheck | 2 | 0 | 0 | 0.06s | ||
| ✅ BASH | shfmt | 2 | 0 | 0 | 0 | 0.65s | |
| jscpd | yes | 4047 | no | 22.29s | |||
| ✅ JSON | jsonlint | 57 | 0 | 0 | 0.43s | ||
| ✅ JSON | prettier | 57 | 19 | 0 | 0 | 3.55s | |
| ✅ JSON | v8r | 57 | 0 | 0 | 12.29s | ||
| rumdl | 477 | 9 | 1 | 0 | 1.8s | ||
| ruff | yes | yes | 1324 | no | 7.88s | ||
| ✅ PYTHON | ruff-format | yes | yes | no | no | 1.13s | |
| ✅ REPOSITORY | git_diff | yes | no | no | 1.92s | ||
| cspell | 1867 | 6594 | 0 | 140.76s |
Detailed Issues
⚠️ SPELL / cspell - 6594 errors
wing .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": [
"ACTIV",
"AREF",
"ATOLS",
"Ainv",
"Ajou",
"Ambrosi",
"Angrigiani",
"Annaidh",
"Aplus",
"Aref",
"Armijo",
"Armijo's",
"Arti",
"Atrue",
"BIII",
"BLAS",
"Badin",
"Barbarino",
"Behav",
"Bettega",
"Bhat",
"Bhojanapalli",
"Blemker",
"Bodner",
"Bruyere",
"Bucinator",
"CMAP",
"CUDSS",
"Choi",
"Cudss",
"Cupy",
"DGXS",
"DMCFC",
"Dongguk",
"Dphi",
"D\u2098\u1d40F\u1d40",
"ECDF",
"Efat",
"Eigenpair",
"Eigenproblems",
"Eigensolvers",
"Emin",
"Epicranial",
"Eskes",
"Esmas",
"Exponentiating",
"FROBENIUS",
"FXAA",
"Fedkiw",
"Fels",
"Freudenthal",
"Frobenius",
"Frontalis",
"GIPC",
"Giantesio",
"Gosain",
"Gouraud",
"Groleau",
"Hdiag",
"Higham",
"IHDR",
"IOXML",
"ISFIXED",
"Jabareen",
"Jmin",
"Jold",
"KOITER",
"Koiter",
"Krylov",
"Kyrillidis",
"LANCZOS",
"LAPACK",
"LDLT",
"LIBGL",
"LNCS",
"Lam\u00e9",
"Lanczos",
"Lartizien",
"Lgrad",
"Linf",
"Loewner",
"Lpos",
"Lres",
"MTYPE",
"MVIEW",
"Mapelli",
"Marquardt",
"Mazza",
"Musesti",
"NPIVOTS",
"NUMEXPR",
"NVML",
"Nasolabial",
"Nazari",
"Nelder",
"Neverov",
"Nyquist",
"OFAT",
"OPENBLAS",
"ORCID",
"Optimisation",
"Ottenio",
"O\u00f1ate",
"PGTOL",
"PMID",
"PSNR",
"PVBATCH",
"PYTHONDONTWRITEBYTECODE",
"PYTHONUNBUFFERED",
"Paluch",
"Parameterizations",
"Paratera",
"Payan",
"Pessa",
"Pezzuto",
"Popen",
"QREF",
"Qhat",
"Qmax",
"Qref",
"REFACTORIZATION",
"RGBA",
"Rei\u00df",
"Reorthogonalize",
"Retarget",
"Riccobelli",
"Riesz",
"Rochette",
"Rodrigues",
"SLSQP",
"Segoe",
"Sifakis",
"Stavness",
"Taberner",
"Temporoparietalis",
"Teran",
"Tereshenko",
"Ternifi",
"Tikhonov",
"Trzewik",
"UNCONVERGED",
"UNORIENTED",
"Uncheckpointed",
"Unconverged",
"Undeformed",
"Unreachability",
"Unregularized",
"Unshifted",
"VTKHDF",
"Viridis",
"Vmuscle",
"Weickenmeier",
"Yeoh",
"ZYGO",
"Zenodo",
"advected",
"aguli",
"ainv",
"amax",
"amsgrad",
"arities",
"armijo",
"artisynth",
"asarray",
"asfortranarray",
"asnumpy",
"atol",
"atols",
"axhline",
"axisymmetric",
"axvline",
"axvspan",
"azero",
"azim",
"badinjaw",
"bary",
"barycentrics",
"bijective",
"bmat",
"bmatrix",
"brentq",
"capturable",
"cellid",
"cividis",
"ckij",
"clim",
"cmap",
"cmass",
"cmdline",
"cofactors",
"corrcoef",
"counterfactuals",
"covector",
"covectors",
"cran",
"csgraph",
"cudss",
"cupy",
"cupyx",
"darea",
"dcof",
"ddda",
"dejavu",
"deta",
"detf",
"detg",
"deviatoric",
"dhdx",
"differenced",
"dpsi",
"dtheta",
"dtype",
"dtypes",
"edof",
"efat",
"eigen",
"eigenaxis",
"eigendata",
"eigendecomposition",
"eigendecompositions",
"eigenmode",
"eigenmodes",
"eigenpair",
"eigenpairs",
"eigensolver",
"eigenspace",
"eigenstrain",
"eigensystem",
"eigensystems",
"eigenvisualization",
"eigmin",
"eigval",
"eigvec",
"elastography",
"eminus",
"epicranial",
"eplus",
"evals",
"exponentials",
"fatol",
"fdeg",
"feab",
"feia",
"femtometre",
"ffprobe",
"fftfreq",
"finalizer",
"frameon",
"frobenius",
"frontalis",
"ftol",
"f\u1d62f\u1d62\u1d40",
"genfromtxt",
"gfit",
"gltf",
"gminus",
"gname",
"gouraud",
"gplus",
"gsmooth",
"gtheta",
"gtol",
"halvings",
"hanning",
"hhat",
"hlines",
"hnorm",
"homotopy",
"hpfd",
"hreceipt",
"hspace",
"iinfo",
"imread",
"imshow",
"indptr",
"ineq",
"ineqlin",
"infty",
"injective",
"interp",
"intp",
"intraop",
"invariances",
"invertibility",
"isface",
"isfinite",
"isfixed",
"issubdtype",
"jbiomech",
"jmbbm",
"journalctl",
"jsonable",
"jvalue",
"koiter",
"kron",
"lanczos",
"ldlt",
"lede",
"lerp",
"libc",
"libcudss",
"libx",
"linearization",
"linf",
"linkify",
"lipschitz",
"lstsq",
"mand",
"mathbb",
"mathbf",
"mathrm",
"mathsf",
"matvecs",
"maxe",
"maxls",
"maxrss",
"max\u2096",
"mechanobiology",
"mhat",
"millimetre",
"movflags",
"mplot",
"nanometres",
"nasolabial",
"nasolabialis",
"nbins",
"ncol",
"ndimage",
"neighbour",
"neighbouring",
"newq",
"nfev",
"nfree",
"nmant",
"nminus",
"nnls",
"noheader",
"nolegend",
"nonmand",
"noopener",
"nosmooth",
"nplus",
"npoints",
"npyio",
"nskin",
"nvml",
"onchange",
"orcid",
"parameterizations",
"paratera",
"parotideomasseteric",
"pdist",
"pfull",
"philtrum",
"pidfd",
"pids",
"pmatrix",
"pngs",
"pointid",
"poroelastic",
"ppid",
"pstep",
"pvbatch",
"pvpython",
"pyipctk",
"pyproject",
"qhat",
"qreceipt",
"qref",
"qstep",
"qvalue",
"qzero",
"randn",
"rcond",
"recoloured",
"recomputations",
"reequilibrated",
"reequilibration",
"reequilibrium",
"refactorization",
"refactorize",
"regularised",
"regularizers",
"remesh",
"remeshed",
"remeshing",
"reorthogonalization",
"rerasterized",
"retinacula",
"rfft",
"rfftfreq",
"riesz",
"rois",
"rotvec",
"rprecondition",
"scalings",
"sharey",
"signum",
"slugification",
"splu",
"spmv",
"spsolve",
"ssaa",
"stationarity",
"supxlabel",
"tcij",
"tetrahedralization",
"tetrahedralize",
"toarray",
"tobytes",
"tocoo",
"tocsc",
"tocsr",
"tofile",
"tolist",
"tridiagonal",
"tril",
"tris",
"twinx",
"unactivated",
"unadmitted",
"uncheckpointed",
"unclipped",
"uncomposited",
"uncontended",
"unconverged",
"undeformed",
"unfloored",
"uninverted",
"unlaunched",
"unoriented",
"unphysical",
"unprojected",
"unreachability",
"unreaped",
"unregularized",
"unrelaxed",
"unreproduced",
"unrun",
"unshifted",
"unsmoothed",
"unstarred",
"untimed",
"unvalidated",
"vecs",
"vermillion",
"vhat",
"viridis",
"viscoelastic",
"viscoelasticity",
"viscoplastic",
"vlines",
"vmax",
"vmin",
"vtkhdf",
"vtkmodules",
"vtus",
"v\u1d40Hv",
"wspace",
"xatol",
"xhat",
"xlim",
"xscale",
"xtick",
"xticklabels",
"xticks",
"xtol",
"xytext",
"xyxy",
"ydata",
"yerr",
"ylim",
"yscale",
"ytick",
"yticklabels",
"yticks",
"zanatomy",
"zaxis",
"zenodo",
"zlabel",
"zlim",
"zorder",
"zticks",
"z\u2096n\u2096n\u2096\u1d40",
"\u0394fit",
"\u0394motion",
"\u03a3cells",
"\u03a3edges",
"\u03bb\u2098\u2090\u2093",
"\u03c3max"
]
}
You can also copy-paste megalinter-reports/LINTER_DEFAULT at the root of your repository
(Truncated to last 10000 characters out of 1331993)
⚠️ COPYPASTE / jscpd - 4047 errors
09/30/stage3-mouthopen-smile-contact-comparison/src/20-run-stage3-transition.py [623:48 - 637:14] (15 lines, 75 tokens)
exp/2026/09/30/stage3-mouthopen-smile-contact-comparison/src/20-run-stage3-transition.py [667:53 - 681:14]
Clone found (python)
- exp/2026/09/30/stage3-mouthopen-smile-contact-comparison/src/20-run-stage3-transition.py [639:57 - 664:25] (26 lines, 144 tokens)
exp/2026/09/30/stage3-mouthopen-smile-contact-comparison/src/21-resume-stage3-transition.py [661:57 - 686:25]
Clone found (python)
- src/liblaf/apple/solvers/linalg/cupy/_base.py [88:42 - 96:60] (9 lines, 55 tokens)
src/liblaf/apple/solvers/linalg/cupy/_base.py [112:48 - 120:60]
Clone found (python)
- src/liblaf/apple/solvers/linalg/cupy/_cg.py [1:1 - 16:6] (16 lines, 62 tokens)
src/liblaf/apple/solvers/linalg/cupy/_minres.py [1:1 - 16:6]
Clone found (python)
- src/liblaf/apple/warp/fem/_arap.py [7:33 - 21:74] (15 lines, 63 tokens)
src/liblaf/apple/warp/fem/_neo_hookean.py [7:41 - 21:74]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [166:40 - 172:70] (7 lines, 56 tokens)
src/liblaf/apple/warp/fem/_base.py [189:37 - 195:70]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [166:31 - 172:70] (7 lines, 58 tokens)
src/liblaf/apple/warp/fem/_base.py [211:31 - 217:70]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [166:40 - 173:54] (8 lines, 67 tokens)
src/liblaf/apple/warp/fem/_base.py [235:36 - 242:71]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [167:9 - 172:70] (6 lines, 54 tokens)
src/liblaf/apple/warp/fem/_base.py [266:9 - 271:70]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [191:13 - 197:19] (7 lines, 60 tokens)
src/liblaf/apple/warp/fem/_base.py [237:13 - 243:22]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [262:14 - 269:67] (8 lines, 67 tokens)
src/liblaf/apple/warp/fem/_base.py [292:14 - 299:67]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [296:9 - 302:70] (7 lines, 65 tokens)
src/liblaf/apple/warp/fem/_base.py [327:9 - 333:70]
Clone found (python)
- src/liblaf/apple/warp/fem/_koiter.py [154:21 - 159:6] (6 lines, 65 tokens)
src/liblaf/apple/warp/fem/_koiter.py [202:21 - 207:6]
Clone found (python)
- src/liblaf/apple/warp/fem/_koiter.py [204:53 - 209:11] (6 lines, 64 tokens)
src/liblaf/apple/warp/fem/_koiter.py [248:25 - 253:7]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [1:1 - 28:15] (28 lines, 152 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean.py [1:1 - 28:15]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [29:51 - 39:15] (11 lines, 66 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean.py [29:58 - 39:15]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [39:44 - 60:15] (22 lines, 114 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean.py [39:47 - 60:15]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [53:1 - 62:70] (10 lines, 96 tokens)
src/liblaf/apple/warp/fem/_neo_hookean.py [74:78 - 83:70]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [53:11 - 62:70] (10 lines, 92 tokens)
src/liblaf/apple/warp/fem/_neo_hookean.py [93:14 - 102:70]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [62:63 - 83:21] (22 lines, 150 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean.py [62:22 - 83:29]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [65:32 - 74:89] (10 lines, 59 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [73:34 - 82:89]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [83:63 - 102:21] (20 lines, 152 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean.py [83:22 - 102:29]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [85:35 - 93:15] (9 lines, 58 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [94:37 - 102:15]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [102:63 - 110:6] (9 lines, 55 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean.py [102:22 - 110:6]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [110:17 - 150:6] (41 lines, 256 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean.py [110:23 - 150:6]
Clone found (python)
- src/liblaf/apple/warp/fem/_stable_neo_hookean.py [24:19 - 36:20] (13 lines, 105 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [29:19 - 40:70]
Clone found (python)
- src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [60:1 - 69:29] (10 lines, 89 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [82:78 - 91:29]
Clone found (python)
- src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [60:11 - 71:26] (12 lines, 91 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [102:14 - 112:35]
Clone found (python)
- src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [86:13 - 93:12] (8 lines, 55 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [106:13 - 113:12]
Clone found (python)
- src/liblaf/apple/warp/potential/_fiber_spring.py [110:17 - 123:15] (14 lines, 93 tokens)
src/liblaf/apple/warp/potential/_fiber_spring.py [136:22 - 149:15]
Clone found (python)
- src/liblaf/apple/warp/potential/_fiber_spring.py [111:6 - 123:15] (13 lines, 91 tokens)
src/liblaf/apple/warp/potential/_fiber_spring.py [164:6 - 176:15]
Clone found (python)
- src/liblaf/apple/warp/potential/_fiber_spring.py [115:28 - 131:36] (17 lines, 107 tokens)
src/liblaf/apple/warp/potential/_fiber_spring.py [197:32 - 214:26]
Clone found (python)
- tests/experiments/test_fit_l2_unrestricted.py [6:1 - 19:5] (14 lines, 61 tokens)
tests/experiments/test_stress_acceptance.py [7:1 - 20:5]
Clone found (python)
- tests/experiments/test_stress_runtime.py [313:54 - 348:6] (36 lines, 113 tokens)
tests/forward/test_static_simulation.py [13:67 - 48:6]
Clone found (python)
- tests/solvers/test_cupy.py [45:5 - 51:4] (7 lines, 63 tokens)
tests/solvers/test_cupy.py [62:5 - 66:10]
Clone found (python)
- tests/warp/test_fiber_spring.py [9:1 - 40:37] (32 lines, 253 tokens)
tests/warp/test_koiter.py [88:1 - 118:48]
Clone found (python)
- tests/warp/test_fiber_spring.py [11:62 - 19:26] (9 lines, 60 tokens)
tests/warp/test_stable_neo_hookean_active.py [54:82 - 62:26]
Clone found (python)
- tests/warp/test_fiber_spring.py [19:30 - 55:25] (37 lines, 223 tokens)
tests/warp/test_stable_neo_hookean_active.py [62:27 - 92:26]
Clone found (python)
- tests/warp/test_fiber_spring.py [247:21 - 252:32] (6 lines, 63 tokens)
tests/warp/test_stable_neo_hookean_active.py [356:20 - 361:32]
Clone found (python)
- tests/warp/test_fiber_spring.py [279:5 - 286:6] (8 lines, 74 tokens)
tests/warp/test_fiber_spring.py [308:5 - 315:6]
Clone found (python)
- tests/warp/test_koiter.py [325:56 - 333:52] (9 lines, 58 tokens)
tests/warp/test_koiter.py [397:57 - 405:52]
Clone found (python)
- tests/warp/test_koiter.py [333:74 - 342:6] (10 lines, 54 tokens)
tests/warp/test_koiter.py [378:71 - 387:10]
Clone found (python)
- tests/warp/test_koiter.py [333:74 - 342:6] (10 lines, 54 tokens)
tests/warp/test_koiter.py [405:86 - 414:6]
Clone found (python)
- tests/warp/test_koiter.py [333:74 - 342:6] (10 lines, 54 tokens)
tests/warp/test_koiter.py [439:63 - 449:6]
Clone found (python)
- tests/warp/test_koiter.py [343:7 - 351:6] (9 lines, 51 tokens)
tests/warp/test_koiter.py [470:15 - 478:6]
Clone found (python)
- tests/warp/test_koiter.py [350:28 - 355:76] (6 lines, 62 tokens)
tests/warp/test_koiter.py [422:41 - 426:76]
Clone found (python)
- tests/warp/test_koiter.py [405:11 - 421:11] (17 lines, 130 tokens)
tests/warp/test_koiter.py [508:15 - 528:6]
Clone found (python)
- tests/warp/test_stable_neo_hookean_active.py [167:26 - 176:6] (10 lines, 52 tokens)
tests/warp/test_stable_neo_hookean_active.py [296:49 - 305:6]
Clone found (python)
- tests/warp/test_stable_neo_hookean_active.py [167:26 - 176:6] (10 lines, 52 tokens)
tests/warp/test_stable_neo_hookean_active.py [322:5 - 331:6]
┌────────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐
│ Format │ Files analyzed │ Total lines │ Total tokens │ Clones found │ Duplicated lines │ Duplicated tokens │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ bash │ 1 │ 38 │ 74 │ 0 │ 0 (0.00%) │ 0 (0.00%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ css │ 2 │ 186 │ 2316 │ 2 │ 104 (55.91%) │ 1242 (53.63%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ javascript │ 4 │ 558 │ 4358 │ 2 │ 277 (49.64%) │ 2179 (50.00%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ python │ 1256 │ 475001 │ 3188532 │ 4043 │ 115215 (24.26%) │ 811061 (25.44%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ toml │ 5 │ 619 │ 2473 │ 0 │ 0 (0.00%) │ 0 (0.00%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total: │ 1268 │ 476402 │ 3197753 │ 4047 │ 115596 (24.26%) │ 814482 (25.47%) │
└────────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘
Found 4047 clones.
HTML report saved to megalinter-reports/copy-paste/jscpd-report.html
ERROR: jscpd found too many duplicates (24.3%) over threshold (0.0%)
time: 12.03s
(Truncated to last 10000 characters out of 915099)
⚠️ PYTHON / ruff - 1324 errors
otice at top of file
--> src/liblaf/apple/solvers/optim/base/_optimizer.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/base/_protocols.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/base/_types.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/_direction.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/_hess_damping.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/_line_search.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/_pncg.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/_terminate.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/_types.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/utils/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/utils/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/utils/_implemented.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/element/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/element/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/element/_element.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/element/_tetra.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/geometry/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/geometry/_geometry.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/geometry/_tetra.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/geometry/_triangle.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/quadrature/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/quadrature/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/quadrature/_scheme.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/quadrature/_tetra.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/region/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/region/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/region/_region.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/utils/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/utils/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/utils/_decorator.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_arap.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_base.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_koiter.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_neo_hookean.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_stable_neo_hookean.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_deformation.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_gradient.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_hess_diag.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_hess_prod.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_hess_quad.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_identity.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_misc.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/utils/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/utils/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/utils/_material.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/math/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/math/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/math/_misc.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/math/_rotation.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/_adapter.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/_material.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/_model.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/_potential.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/potential/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/potential/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/potential/_ext_force.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/potential/_fiber_spring.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/utils/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/utils/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/utils/_dtype.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/utils/_struct.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/common/test_moduli.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/experiments/test_activation_scene.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/experiments/test_fit_l2_unrestricted.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/experiments/test_joint_isfixed_boundary.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/experiments/test_mouthopen_block_optimizer.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/experiments/test_mouthopen_convergence.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/experiments/test_mouthopen_optimizer_continuation.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/experiments/test_mouthopen_pose_projection.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/experiments/test_mouthopen_tet_policy.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/experiments/test_strain_physics.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/experiments/test_stress_acceptance.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/experiments/test_stress_activation.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/experiments/test_stress_chains.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/experiments/test_stress_regularization.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/forward/test_collision_hess_quad.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/forward/test_fiber_spring.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/forward/test_gpu_contact_hessian.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/forward/test_gpu_sparse_hessian.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/forward/test_static_simulation.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/inverse/test_diff_forward.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/solvers/test_cupy.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/solvers/test_pncg.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/warp/test_fiber_spring.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/warp/test_koiter.py:1:1
Found 1324 errors.
No fixes available (61 hidden fixes can be enabled with the `--unsafe-fixes` option).
(Truncated to last 10000 characters out of 210335)
⚠️ MARKDOWN / rumdl - 1 error
cs/203-collision-on-expression-pair-final.md:52:19: [MD057] Relative link '../data/remote-smile-recovery-006/inverse-smile-coupled-006/summary.json' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:52:105: [MD057] Relative link '../data/remote-smile-recovery-006/inverse-smile-coupled-006/protocol.json' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:52:196: [MD057] Relative link '../data/remote-smile-recovery-006/inverse-smile-coupled-006/endpoint.npz' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:53:32: [MD057] Relative link '../data/remote-smile-recovery-006/inverse-smile-coupled-006/independent-audit.json' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:53:150: [MD057] Relative link '../data/remote-smile-recovery-006/remote-smile-control-006/job.json' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:54:24: [MD057] Relative link '../data/remote-smile-recovery-006/sync-manifest.json' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:54:117: [MD057] Relative link '../data/recovery006-lineage-final.json' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:55:51: [MD057] Relative link '../data/review-smile-coupled-006-final/' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:55:129: [MD057] Relative link '../data/review-smile-coupled-006-final/target-vs-fit-front.png' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:55:217: [MD057] Relative link '../data/review-smile-coupled-006-final/fit-error-force-curves.png' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:55:312: [MD057] Relative link '../data/review-smile-coupled-006-final/objective-components-curves.png' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:83:19: [MD057] Relative link '../data/inverse-mouthopen-coupled-018/summary.json' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:83:83: [MD057] Relative link '../data/inverse-mouthopen-coupled-018/protocol.json' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:83:148: [MD057] Relative link '../data/inverse-mouthopen-coupled-018/endpoint.npz' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:83:225: [MD057] Relative link '../data/inverse-mouthopen-coupled-018/independent-audit.json' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:84:29: [MD057] Relative link '../data/inverse-mouthopen-coupled-018/completion-verification.json' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:84:138: [MD057] Relative link '../data/inverse-mouthopen-coupled-018/independent-final-cpu-verification.json' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:85:55: [MD057] Relative link '../data/review-mouthopen-coupled-018-published/' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:85:141: [MD057] Relative link '../data/review-mouthopen-coupled-018-published/target-vs-fit-front.png' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:85:237: [MD057] Relative link '../data/review-mouthopen-coupled-018-published/fit-error-force-curves.png' does not exist
exp/2026/09/23/new-neutral/docs/203-collision-on-expression-pair-final.md:85:340: [MD057] Relative link '../data/review-mouthopen-coupled-018-published/objective-components-curves.png' does not exist
exp/2026/09/23/new-neutral/docs/71-force-curve.md:23:47: [MD057] Relative link '../data/review-repaired-reference-005/force/' does not exist
exp/2026/09/23/new-neutral/docs/71-force-curve.md:47:21: [MD057] Relative link '../data/http-verification-force-005.json' does not exist
exp/2026/09/23/new-neutral/docs/45-initial-force-audit.md:56:21: [MD057] Relative link '../data/initial-force-audit-001/force-components.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:28:26: [MD057] Relative link '../data/forward-active-strain-001/active-strain-fields.npz' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:44:19: [MD057] Relative link '../data/forward-active-strain-001/active-strain-mapping.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:81:48: [MD057] Relative link '../data/forward-active-strain-001/active-strain-check.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:85:38: [MD057] Relative link '../data/forward-active-strain-001/independent-audit.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:87:44: [MD057] Relative link '../data/review-active-strain-001/index.html' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:109:13: [MD057] Relative link '../data/forward-active-strain-001/summary.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:110:14: [MD057] Relative link '../data/forward-active-strain-001/protocol.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:111:11: [MD057] Relative link '../data/forward-active-strain-001/trace.jsonl' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:112:12: [MD057] Relative link '../data/forward-active-strain-001/timing.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:113:14: [MD057] Relative link '../data/forward-active-strain-001/endpoint.npz' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:114:32: [MD057] Relative link '../data/forward-active-strain-001/active-strain-source-provenance.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:115:28: [MD057] Relative link '../data/forward-active-strain-001/provenance.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:116:19: [MD057] Relative link '../data/forward-active-strain-001/forward-only-guard.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:117:19: [MD057] Relative link '../data/forward-active-strain-001/forward.log' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:144:21: [MD057] Relative link '../data/http-verification-active-strain.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:145:19: [MD057] Relative link '../data/serve-active-strain.json' does not exist
exp/2026/09/28/activation-smoothness-continuation/docs/20-results.md:9:1: [MD057] Relative link '../data/30-comparison/smoothness-comparison-preview.png' does not exist
exp/2026/09/28/activation-smoothness-continuation/docs/20-results.md:11:45: [MD057] Relative link '../data/30-comparison/smoothness-comparison-16x9.png' does not exist
exp/2026/09/28/activation-smoothness-continuation/docs/20-results.md:61:1: [MD057] Relative link '../data/20-analysis/relative-trajectories.png' does not exist
exp/2026/09/23/new-neutral/docs/62-forward-continuation-result.md:82:21: [MD057] Relative link '../data/forward-repaired-reference-005/summary.json' does not exist
exp/2026/09/23/new-neutral/docs/62-forward-continuation-result.md:83:23: [MD057] Relative link '../data/forward-repaired-reference-005/independent-audit.json' does not exist
exp/2026/09/23/new-neutral/docs/62-forward-continuation-result.md:84:14: [MD057] Relative link '../data/forward-repaired-reference-005/endpoint.npz' does not exist
exp/2026/09/23/new-neutral/docs/62-forward-continuation-result.md:85:13: [MD057] Relative link '../data/forward-repaired-reference-005/forward.log' does not exist
exp/2026/09/23/new-neutral/docs/62-forward-continuation-result.md:88:18: [MD057] Relative link '../data/review-repaired-reference-005/index.html' does not exist
exp/2026/09/23/new-neutral/docs/62-forward-continuation-result.md:95:19: [MD057] Relative link '../data/serve-continuation-005.json' does not exist
exp/2026/09/23/new-neutral/docs/62-forward-continuation-result.md:96:21: [MD057] Relative link '../data/http-verification-continuation-005.json' does not exist
exp/2026/09/23/new-neutral/docs/90-blendshape-transfer.md:20:40: [MD057] Relative link '../data/blendshapes-005/' does not exist
exp/2026/09/23/new-neutral/docs/90-blendshape-transfer.md:99:21: [MD057] Relative link '../data/http-verification-blendshapes-005.json' does not exist
exp/2026/09/23/new-neutral/docs/90-blendshape-transfer.md:100:19: [MD057] Relative link '../data/serve-blendshapes-005.json' does not exist
exp/2026/09/23/new-neutral/docs/60-repaired-reference-result.md:82:33: [MD057] Relative link '../data/reference-clearance-002/independent-audit.json' does not exist
exp/2026/09/23/new-neutral/docs/60-repaired-reference-result.md:83:31: [MD057] Relative link '../data/forward-repaired-reference-001/reference-rebase.json' does not exist
exp/2026/09/23/new-neutral/docs/60-repaired-reference-result.md:84:21: [MD057] Relative link '../data/forward-repaired-reference-001/summary.json' does not exist
exp/2026/09/23/new-neutral/docs/60-repaired-reference-result.md:85:31: [MD057] Relative link '../data/forward-repaired-reference-001/independent-audit.json' does not exist
exp/2026/09/23/new-neutral/docs/60-repaired-reference-result.md:86:18: [MD057] Relative link '../data/review-repaired-reference-001/index.html' does not exist
exp/2026/09/23/new-neutral/docs/60-repaired-reference-result.md:137:46: [MD057] Relative link '../data/serve-repaired.json' does not exist
exp/2026/09/23/new-neutral/docs/60-repaired-reference-result.md:138:21: [MD057] Relative link '../data/http-verification-repaired.json' does not exist
Fixed: Fixed 78/1765 issues in 9 files (901ms)
(Truncated to last 10000 characters out of 296670)
Notices
GIT. See Removed linters to find their replacements.
See detailed reports in MegaLinter artifacts

Show us your support by starring ⭐ the repository
liblaf-release-please
Bot
force-pushed
the
release-please/main
branch
from
August 6, 2026 01:05
24bc449 to
3ac0568
Compare
liblaf-release-please
Bot
dismissed
liblaf-approve[bot]’s stale review
via
August 20, 2026 13:55
cda3df6
liblaf-release-please
Bot
force-pushed
the
release-please/main
branch
from
August 20, 2026 13:55
dda45e0 to
cda3df6
Compare
liblaf-release-please
Bot
dismissed
liblaf-approve[bot]’s stale review
via
August 23, 2026 12:03
bdd392b
liblaf-release-please
Bot
force-pushed
the
release-please/main
branch
from
August 23, 2026 12:03
f9a4ede to
bdd392b
Compare
liblaf-release-please
Bot
dismissed
liblaf-approve[bot]’s stale review
via
August 31, 2026 12:47
796e574
liblaf-release-please
Bot
force-pushed
the
release-please/main
branch
2 times, most recently
from
September 2, 2026 07:07
5ebd38b to
e55baed
Compare
liblaf-release-please
Bot
dismissed
liblaf-approve[bot]’s stale review
via
September 6, 2026 08:00
16dfce1
liblaf-release-please
Bot
force-pushed
the
release-please/main
branch
from
September 6, 2026 08:00
e55baed to
16dfce1
Compare
liblaf-release-please
Bot
dismissed
liblaf-approve[bot]’s stale review
via
October 2, 2026 13:54
e6c044c
liblaf-release-please
Bot
force-pushed
the
release-please/main
branch
from
October 2, 2026 13:54
16dfce1 to
e6c044c
Compare
liblaf-release-please
Bot
force-pushed
the
release-please/main
branch
from
October 2, 2026 14:32
e6c044c to
25f6a5e
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v0.8.0 - 2026-10-02
💥 BREAKING CHANGES
✨ Features
🐛 Bug Fixes
📝 Documentation
🎨 Styles
♻️ Code Refactoring
❤️ Contributors