Uh oh!
There was an error while loading. Please reload this page.
chore(handwritten): centralize mypy configuration and update handwritten package noxfiles - #17409
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.
Uh oh!
There was an error while loading. Please reload this page.
3a99b94 to
1afd309Compare…-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
4854f7eCompareThere 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.
Uh oh!
There was an error while loading. Please reload this page.
> [!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
8e35192Compare…-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
> [!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
1598b24Compare3ac9c56 to
9214a56Compare* 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.
…… (#17602) This reverts PR: googleapis/google-cloud-python#17409 Fixes #<issue_number_goes_here> 🦕 GitOrigin-RevId: 1f93a2b881bce80222ea71bb38adca94195fb0ae Change-Id: I2716ba7cfdc0bbd67ebce348ad98002659eda4e7
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.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 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