Running uv run mypy circe --show-error-codes --no-color-output on branch features/ibis-new-design-develop at commit aca1f1a reports:
- 618 errors
- 87 files
- 168 source files checked
Largest error buckets:
- 132
no-untyped-def
- 97
attr-defined
- 21
import-untyped
- 20
misc
- 18
unreachable
- 16
return-value
- 13
no-any-return
Largest areas:
circe/check: 298 errors
circe/cohortdefinition: 135 errors
circe/execution: 120 errors
circe/extensions: 35 errors
circe/vocabulary: 9 errors
Main hotspots:
circe/check/checkers/range_checker_factory.py
circe/check/checkers/concept_set_criteria_check.py
circe/check/utils/criteria_name_helper.py
circe/check/checkers/duplicates_criteria_check.py
circe/cohortdefinition/cohort_expression_query_builder.py
circe/execution/ibis/standardize.py
circe/execution/ibis/compile_steps.py
The main categories are:
- missing annotations across older modules
- dynamic/shared-model typing problems in
cohortdefinition
- checker/factory abstractions in
circe/check that type poorly
- untyped
ibis imports in the execution layer
- a few stale optional-integration issues in
chat and extensions
Suggested next steps:
- Decide what the supported mypy scope should be in the short term.
- Stop advertising a fully green mypy workflow until that is actually true.
- Tackle the biggest structural areas first:
circe/check
circe/cohortdefinition
- execution-layer
ibis typing strategy
- Handle optional integrations (
chat, extensions) explicitly instead of letting them pollute the baseline.
This issue is meant to make the current status explicit and give us a place to track a realistic path to a green mypy baseline.
Running
uv run mypy circe --show-error-codes --no-color-outputon branchfeatures/ibis-new-design-developat commitaca1f1areports:Largest error buckets:
no-untyped-defattr-definedimport-untypedmiscunreachablereturn-valueno-any-returnLargest areas:
circe/check: 298 errorscirce/cohortdefinition: 135 errorscirce/execution: 120 errorscirce/extensions: 35 errorscirce/vocabulary: 9 errorsMain hotspots:
circe/check/checkers/range_checker_factory.pycirce/check/checkers/concept_set_criteria_check.pycirce/check/utils/criteria_name_helper.pycirce/check/checkers/duplicates_criteria_check.pycirce/cohortdefinition/cohort_expression_query_builder.pycirce/execution/ibis/standardize.pycirce/execution/ibis/compile_steps.pyThe main categories are:
cohortdefinitioncirce/checkthat type poorlyibisimports in the execution layerchatandextensionsSuggested next steps:
circe/checkcirce/cohortdefinitionibistyping strategychat,extensions) explicitly instead of letting them pollute the baseline.This issue is meant to make the current status explicit and give us a place to track a realistic path to a green mypy baseline.