check-lifecycle is a dedicated Pro+ quality test (lifecycle_scan). It finds AST leak patterns at file:line. It does not measure RSS or OS threads — that stays Gist Factor.
Key points
- CLI: On Windows the examples use the recommended
py -3.12 -m <module> ...form (for examplepy -3.12 -m manifestguard ...). On Linux/macOS this usually maps topython3.12 -m .... - Community can read this guide and
manifestguard list-tests. Running the scan requires Trial/Pro or higher. - Detectors: list bloat, sync I/O, context managers,
Threadwithout join,Timerwithout cancel, loggeraddHandlerwithout a handlers guard, optional PyQt/PySideQThread. - Not part of
check --extended. Addcheck-lifecycleas its own CI gate when you want it. - Default confidence is high.
--min-confidence mediumincludes QThread.--all-findingsshows weak LIST_BLOAT collectors.
Recommended mgpy workflow
py -3.12 -m manifestguard check-lifecycle- Join/track Thread teardown, cancel Timer on stop, guard
addHandlerwithif not logger.handlers. - For PyQt/PySide, call
quit()/wait()in the same class asQThread.start. - Keep quality CI on
check --extended --refactor --verboseas a separate command.
Quick start
py -3.12 -m manifestguard list-tests
py -3.12 -m manifestguard check-lifecycle
py -3.12 -m manifestguard check-lifecycle --min-confidence medium
py -3.12 -m manifestguard check --extended --refactor --verbose