chore(handwritten): centralize mypy configuration and update handwritten package noxfiles#17409
chore(handwritten): centralize mypy configuration and update handwritten package noxfiles#17409chalmerlowe wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
Code Review
This pull request consolidates multiple package-specific mypy.ini configuration files into a single, centralized mypy.ini at the root directory, and updates the noxfile.py files across various packages to reference this central configuration. The reviewer pointed out that setting a global python_version = 3.14 in the centralized configuration and overriding it in individual packages can lead to inconsistent configurations, suggesting that shared configurations should be applied consistently.
| @@ -0,0 +1,94 @@ | |||
| [mypy] | |||
| python_version = 3.14 | |||
There was a problem hiding this comment.
Changes to shared configurations, like mypy flags, should be applied consistently across all relevant packages in a dedicated, universal change rather than piecemeal in individual pull requests. Setting a global python_version = 3.14 in the centralized mypy.ini and then overriding it with --python-version in individual package noxfile.py files creates inconsistent configurations. We should avoid these piecemeal overrides and ensure shared configurations are applied consistently.
References
- Changes to shared configurations, like mypy flags, should be applied consistently across all relevant packages in a dedicated, universal change rather than piecemeal in individual pull requests.
3a99b94 to
1afd309
Compare
Note
This is a POC for discussion. It is incomplete and is intended to get buy-in on the general process. It is focused solely on handwritten libraries within the monorepo.
mypy.inifile at the root of the repository to consolidate all shared and package-specific mypy exceptions.mypy.inifiles from the 15 strictly handwritten libraries, establishing the root configuration as the source of truth.noxfile.pyfiles to defineMYPY_CONFIG_FILEdynamically and standardized theirsession.run("mypy", ...)invocations.Note
Work on generated and hybrid libraries is outside the scope of this PR and can be found here: #17408