Skip to content

chore(handwritten): centralize mypy configuration and update handwritten package noxfiles#17409

Draft
chalmerlowe wants to merge 3 commits into
mainfrom
feat/centralize-mypy-handwritten
Draft

chore(handwritten): centralize mypy configuration and update handwritten package noxfiles#17409
chalmerlowe wants to merge 3 commits into
mainfrom
feat/centralize-mypy-handwritten

Conversation

@chalmerlowe

@chalmerlowe chalmerlowe commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

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.

  • Adds a centralized mypy.ini file at the root of the repository to consolidate all shared and package-specific mypy exceptions.
  • Deletes the individual mypy.ini files from the 15 strictly handwritten libraries, establishing the root configuration as the source of truth.
  • Refactored their noxfile.py files to define MYPY_CONFIG_FILE dynamically and standardized their session.run("mypy", ...) invocations.

Note

Work on generated and hybrid libraries is outside the scope of this PR and can be found here: #17408

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread mypy.ini Outdated
@@ -0,0 +1,94 @@
[mypy]
python_version = 3.14

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

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
  1. 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.

@chalmerlowe chalmerlowe force-pushed the feat/centralize-mypy-handwritten branch from 3a99b94 to 1afd309 Compare June 9, 2026 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant