Uh oh!
There was an error while loading. Please reload this page.
chore(spanner): centralize mypy config for spanner - #17641
Conversation
There was a problem hiding this comment.
Code Review
This pull request centralizes the mypy configuration by removing the package-specific configuration file in packages/google-cloud-spanner and updating its noxfile.py to reference the root mypy.ini. The root configuration is also updated with various package-specific overrides. However, the override to ignore missing imports for google.iam.* from the deleted configuration was not migrated to the root mypy.ini, which will cause mypy checks to fail for the spanner package.
Uh oh!
There was an error while loading. Please reload this page.
* Relies on 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 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.
Related to: PR #17409 and PR #17641
> [!note]
> all three PRs rely on the same centralized mypy.ini config. So you may
see some minor edits in the main config that are applicable to packages
in one of the other PRs. This will have no effect on those packages
until their noxfiles are updated to begin using the new centralized
config.Uh oh!
There was an error while loading. Please reload this page.
Resolved |
parthea
commented
Jul 15, 2026
We also need to update |
…ten package noxfiles (#17409) * Relies on 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 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] > Due to test failures outside the scope of this PR, neither google-cloud-crc32c nor bigframes are included in this PR. This [issue tracks those packages](#17606) to ensure their eventual completion > [!note] > bigquery and spanner were pulled out and placed in separate PRs due to excessive duration of their tests. PR #17640 and PR #17641 > [!note] > Work on generated libraries is outside the scope of this PR and can be found here: #17408 > [!note] > UPDATE (20260706): This PR is no longer blocked by #17607
mypy.inifile at the root of the repository to consolidate all shared and package-specific mypy exceptions.mypy.inifiles from handwritten libraries, establishing the root configuration as the source of truth.noxfile.pyfiles to defineMYPY_CONFIG_FILEdynamically and standardized theirsession.run("mypy", ...)invocations.Related to: PR #17409 and PR #17640
Note
all three PRs rely on the same centralized mypy.ini config. So you may see some minor edits in the main config that are applicable to packages in one of the other PRs. This will have no effect on those packages until their noxfiles are updated to begin using the new centralized config.
Note
There are minor updates to
_helpers.pyandconftest.pydue to a linting issue, that's it.