The CI quality-checks mypy step runs with continue-on-error: true ("Don't fail build on type errors initially"). A full mypy metpo/ --ignore-missing-imports --no-strict-optional reports 223 errors across 43 files. This issue tracks clearing them so the step can become blocking.
Breakdown by error code:
- 76
var-annotated (missing annotations, mostly mechanical)
- 38
attr-defined (includes real bugs, e.g. a dict used where a Counter was intended → .most_common)
- 28
operator, 26 arg-type, 24 index, 10 assignment, 7 call-overload, 6 return-value, 5 misc, 4 str, 2 valid-type, 1 dict-item
Plan: fix in batches (by file or error class) across small PRs, prioritizing the attr-defined real bugs first, then the mechanical var-annotated set, then the rest. Avoid blanket # type: ignore; add real annotations. Final step: drop continue-on-error from the mypy step in .github/workflows/python-quality.yml.
Out of scope here: the CodeQL/edit-owl findings (PR #453) and the metpo_sheet.tsv content findings (handled via the Google Sheet, with the branced upstream value and cross-ontology correction-note comments retained by design).
The CI
quality-checksmypy step runs withcontinue-on-error: true("Don't fail build on type errors initially"). A fullmypy metpo/ --ignore-missing-imports --no-strict-optionalreports 223 errors across 43 files. This issue tracks clearing them so the step can become blocking.Breakdown by error code:
var-annotated(missing annotations, mostly mechanical)attr-defined(includes real bugs, e.g. adictused where aCounterwas intended →.most_common)operator, 26arg-type, 24index, 10assignment, 7call-overload, 6return-value, 5misc, 4str, 2valid-type, 1dict-itemPlan: fix in batches (by file or error class) across small PRs, prioritizing the
attr-definedreal bugs first, then the mechanicalvar-annotatedset, then the rest. Avoid blanket# type: ignore; add real annotations. Final step: dropcontinue-on-errorfrom the mypy step in.github/workflows/python-quality.yml.Out of scope here: the CodeQL/edit-owl findings (PR #453) and the
metpo_sheet.tsvcontent findings (handled via the Google Sheet, with thebrancedupstream value and cross-ontology correction-note comments retained by design).