chore(handwritten): centralize mypy configuration and update handwritten package noxfiles#17409
Draft
chalmerlowe wants to merge 5 commits into
Draft
chore(handwritten): centralize mypy configuration and update handwritten package noxfiles#17409chalmerlowe wants to merge 5 commits into
chalmerlowe wants to merge 5 commits into
Conversation
Contributor
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.
3a99b94 to
1afd309
Compare
chalmerlowe
added a commit
that referenced
this pull request
Jun 16, 2026
…-cloud-datastore POC (#17408) > [!note] > This is step one of a multi-step process. The work done here is outlined below. Additional steps (to be completed in other PRs) include: > * generate the remaining **generated packages** > * generate and/or post process **hybrid packages** This work: * Adds a centralized `mypy.ini` file at the root of the repository. * Updates GAPIC generator templates to omit local `mypy.ini` and dynamically resolve the root config via a `MYPY_CONFIG_FILE` constant. * Removes `mypy.ini` replacements from `datastore-integration.yaml` post-processing. * Regenerates `google-cloud-datastore` using the updated generator configurations to serve as a proof of concept. > [!note] > Work on strictly handwritten libraries is outside the scope of this PR and can be found here: #17409
3a08f78 to
4854f7e
Compare
chalmerlowe
commented
Jun 23, 2026
Contributor
Author
There was a problem hiding this comment.
The bigquery-magics package does not support type-hinting, so there is no change to the noxfile at this time.
chalmerlowe
added a commit
that referenced
this pull request
Jun 23, 2026
> [!note] > This is step one of a multi-step process. The work done here is outlined below. Additional steps (to be completed in other PRs) include: > * generate the **generated packages** > * generate and/or post process **hybrid packages** This work: * Adds a centralized `mypy.ini` file at the root of the repository. * Updates GAPIC generator templates to omit local `mypy.ini` and dynamically resolve the root config via a `MYPY_CONFIG_FILE` constant. > [!note] > Work on strictly handwritten libraries is outside the scope of this PR and can be found here: #17409 Partially resolves: #17322 🦕
4b18dbc to
8e35192
Compare
chalmerlowe
added a commit
that referenced
this pull request
Jun 25, 2026
…-cloud-datastore POC (#17408) > [!note] > This is step one of a multi-step process. The work done here is outlined below. Additional steps (to be completed in other PRs) include: > * generate the remaining **generated packages** > * generate and/or post process **hybrid packages** This work: * Adds a centralized `mypy.ini` file at the root of the repository. * Updates GAPIC generator templates to omit local `mypy.ini` and dynamically resolve the root config via a `MYPY_CONFIG_FILE` constant. * Removes `mypy.ini` replacements from `datastore-integration.yaml` post-processing. * Regenerates `google-cloud-datastore` using the updated generator configurations to serve as a proof of concept. > [!note] > Work on strictly handwritten libraries is outside the scope of this PR and can be found here: #17409
chalmerlowe
added a commit
that referenced
this pull request
Jun 25, 2026
> [!note] > This is step one of a multi-step process. The work done here is outlined below. Additional steps (to be completed in other PRs) include: > * generate the **generated packages** > * generate and/or post process **hybrid packages** This work: * Adds a centralized `mypy.ini` file at the root of the repository. * Updates GAPIC generator templates to omit local `mypy.ini` and dynamically resolve the root config via a `MYPY_CONFIG_FILE` constant. > [!note] > Work on strictly handwritten libraries is outside the scope of this PR and can be found here: #17409 Partially resolves: #17322 🦕
8e35192 to
1598b24
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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