We are maintaining a decent sized Dash application. We had a relatively smooth 2.18.2 → 3.0.0 upgrade. But when upgrading from 3.0.2 to 3.0.3 we encountered a very large (~250) number of mypy issues. I could not detect anything in the release notes that would indicate a change in (mypy) typing.
See also https://github.com/plotly/dash/issues/3277 for full bug report.
(venv) PS C:\Users\Python\dash-site> poetry show | Select-string "dash"
dash 3.0.2 A Python framework for building...
dash-bootstrap-components 2.0.1 Bootstrap themed components for...
(venv) PS C:\Users\Python\dash-site> mypy
Success: no issues found in 86 source files
(venv) PS C:\Users\Python\dash-site> poetry update
Updating dependencies
Resolving dependencies... (52.5s)
Package operations: 0 installs, 2 updates, 0 removals
- Updating narwhals (1.34.1 -> 1.35.0)
- Updating dash (3.0.2 -> 3.0.3)
Writing lock file
(venv) PS C:\Users\Python\dash-site> poetry show | Select-string "dash"
dash 3.0.3 A Python framework for building...
dash-bootstrap-components 2.0.1 Bootstrap themed components for...
(venv) PS C:\Users\Python\dash-site> mypy
dash\dashboards\utils\design.py:99: error: Argument "options" to "RadioItems" has incompatible type "list[dict[str, str]]"; expected "Sequence[str | SupportsFloat | SupportsInt | SupportsComplex | bool] | dict[Any, Any] | Sequence[Options[Any]] | None" [arg-type]
dash\dashboards\utils\design.py:261: error: Incompatible return value type (got "Div", expected "RangeSlider") [return-value]
dash\dashboards\utils\design.py:264: error: List item 1 has incompatible type "RangeSlider"; expected "str | int | float" [list-item]
dash\dashboards\base.py:433: error: List item 0 has incompatible type "H2"; expected "str | int | float" [list-item]
dash\dashboards\base.py:436: error: List item 1 has incompatible type "Pre"; expected "str | int | float" [list-item]
dash\dashboards\base.py:438: error: List item 3 has incompatible type "Div | Br"; expected "str | int | float" [list-item]
dash\dashboards\base.py:439: error: List item 4 has incompatible type "Div"; expected "str | int | float" [list-item]
dash\wrap_dash.py:60: error: "__init__" of "Graph" gets multiple values for keyword argument "config" [misc]
dash\wrap_dash.py:90: error: Argument 1 to "append" of "list" has incompatible type "Ul"; expected "Link" [arg-type]
dash\wrap_dash.py:92: error: Argument 1 to "append" of "list" has incompatible type "list[Any] | Div"; expected "Link" [arg-type]
dash\wrap_dash.py:195: error: Argument 5 to "Div" has incompatible type "**dict[str, str]"; expected "SupportsFloat | SupportsInt | SupportsComplex | None" [arg-type]
dash\wrap_dash.py:195: error: Argument 5 to "Div" has incompatible type "**dict[str, str]"; expected "bool | None" [arg-type]
dash\wrap_dash.py:195: error: Argument 5 to "Div" has incompatible type "**dict[str, str]"; expected "Literal['hidden', 'HIDDEN'] | bool | None" [arg-type]
dash\wrap_dash.py:209: error: Argument 2 to "Nav" has incompatible type "**dict[str, str]"; expected "SupportsFloat | SupportsInt | SupportsComplex | None" [arg-type]
dash\wrap_dash.py:209: error: Argument 2 to "Nav" has incompatible type "**dict[str, str]"; expected "bool | None" [arg-type]
dash\wrap_dash.py:209: error: Argument 2 to "Nav" has incompatible type "**dict[str, str]"; expected "Literal['hidden', 'HIDDEN'] | bool | None" [arg-type]
dash\wrap_dash.py:224: error: Argument 4 to "Div" has incompatible type "**dict[str, str]"; expected "SupportsFloat | SupportsInt | SupportsComplex | None" [arg-type]
dash\wrap_dash.py:224: error: Argument 4 to "Div" has incompatible type "**dict[str, str]"; expected "bool | None" [arg-type]
dash\wrap_dash.py:224: error: Argument 4 to "Div" has incompatible type "**dict[str, str]"; expected "Literal['hidden', 'HIDDEN'] | bool | None" [arg-type]
dash\wrap_dash.py:290: error: List item 1 has incompatible type "A"; expected "str | int | float" [list-item]
dash\dash_app.py:336: error: List item 1 has incompatible type "Img"; expected "str | int | float" [list-item]
dash\dash_app.py:432: error: List item 1 has incompatible type "Div"; expected "str | int | float" [list-item]
dash\dash_app.py:444: error: Argument 4 to "Div" has incompatible type "**dict[str, str]"; expected "SupportsFloat | SupportsInt | SupportsComplex | None" [arg-type]
dash\dash_app.py:444: error: Argument 4 to "Div" has incompatible type "**dict[str, str]"; expected "bool | None" [arg-type]
dash\dash_app.py:444: error: Argument 4 to "Div" has incompatible type "**dict[str, str]"; expected "Literal['hidden', 'HIDDEN'] | bool | None" [arg-type]
dash\dash_app.py:450: error: Argument 4 to "Div" has incompatible type "**dict[str, str]"; expected "SupportsFloat | SupportsInt | SupportsComplex | None" [arg-type]
dash\dash_app.py:450: error: Argument 4 to "Div" has incompatible type "**dict[str, str]"; expected "bool | None" [arg-type]
dash\dash_app.py:450: error: Argument 4 to "Div" has incompatible type "**dict[str, str]"; expected "Literal['hidden', 'HIDDEN'] | bool | None" [arg-type]
dash\dashboards\data_tasks.py:125: error: Argument 2 to "Td" has incompatible type "**dict[str, str]"; expected "SupportsFloat | SupportsInt | SupportsComplex | None" [arg-type]
dash\dashboards\data_tasks.py:125: error: Argument 2 to "Td" has incompatible type "**dict[str, str]"; expected "bool | None" [arg-type]
dash\dashboards\data_tasks.py:125: error: Argument 2 to "Td" has incompatible type "**dict[str, str]"; expected "Literal['hidden', 'HIDDEN'] | bool | None" [arg-type]
dash\dashboards\data_status.py:121: error: Argument "className" to "Div" has incompatible type "int | str"; expected "str | None" [arg-type]
dash\dashboards\data_status.py:123: error: Argument "title" to "Div" has incompatible type "int | str"; expected "str | None" [arg-type]
⋮
SNIP
⋮
dash\dashboards\ssc.py:643: error: List item 0 has incompatible type "H2"; expected "str | int | float" [list-item]
dash\dashboards\ssc.py:644: error: List item 1 has incompatible type "Loading"; expected "str | int | float" [list-item]
dash\dashboards\ssc.py:645: error: List item 2 has incompatible type "H3"; expected "str | int | float" [list-item]
dash\dashboards\ssc.py:658: error: List item 4 has incompatible type "Div"; expected "str | int | float" [list-item]
dash\dashboards\ssc.py:659: error: Module has no attribute "DataTable" [attr-defined]
dash\dashboards\ssc.py:828: error: List item 0 has incompatible type "H1"; expected "str | int | float" [list-item]
dash\dashboards\ssc.py:831: error: List item 1 has incompatible type "P"; expected "str | int | float" [list-item]
dash\dashboards\tool.py:113: error: List item 0 has incompatible type "H2"; expected "str | int | float" [list-item]
dash\dashboards\tool.py:114: error: List item 1 has incompatible type "H3"; expected "str | int | float" [list-item]
dash\dashboards\tool.py:122: error: List item 0 has incompatible type "Graph"; expected "Div" [list-item]
dash\dashboards\tool.py:123: error: List item 1 has incompatible type "Graph"; expected "Div" [list-item]
dash\dashboards\tool.py:126: error: List item 4 has incompatible type "H3"; expected "str | int | float" [list-item]
dash\dashboards\tool.py:127: error: List item 5 has incompatible type "Loading"; expected "str | int | float" [list-item]
dash\dashboards\tool.py:128: error: List item 6 has incompatible type "H3"; expected "str | int | float" [list-item]
dash\dashboards\tool.py:129: error: List item 7 has incompatible type "Br"; expected "str | int | float" [list-item]
dash\dashboards\tool.py:132: error: List item 0 has incompatible type "Loading"; expected "Div" [list-item]
dash\dashboards\tool.py:133: error: List item 1 has incompatible type "Loading"; expected "Div" [list-item]
dash\dashboards\tool.py:139: error: List item 10 has incompatible type "Loading"; expected "str | int | float" [list-item]
dash\dashboards\tool.py:140: error: List item 11 has incompatible type "H3"; expected "str | int | float" [list-item]
dash\dashboards\tool.py:146: error: List item 13 has incompatible type "Loading"; expected "str | int | float" [list-item]
Found 253 errors in 29 files (checked 86 source files)
(venv) PS C:\Users\Python\dash-site>