Skip to content

Narrow storage.Client.project to str once in GcsUtils.__init__#665

Draft
kmontemayor2-sc wants to merge 1 commit into
mainfrom
kmontemayor/ty_gcs_project_narrowing
Draft

Narrow storage.Client.project to str once in GcsUtils.__init__#665
kmontemayor2-sc wants to merge 1 commit into
mainfrom
kmontemayor/ty_gcs_project_narrowing

Conversation

@kmontemayor2-sc
Copy link
Copy Markdown
Collaborator

storage.Client.init raises if no project can be determined, so the .project attribute is always a str at the next line. The upstream stub in google-cloud-storage annotates it as Optional[str], forcing a ty ignore at every call site. Narrow once in init with a fail-fast TypeError guard (per CLAUDE.md) and reuse via self.__project: str.

Patches tests/unit/utils/gcs_test.py to set mock_client.project on the two MagicMock(spec=Client) fixtures so the runtime guard accepts them.

Resolves 1 # ty: ignore[invalid-argument-type] at gcs.py:136.

Scope of work done

Where is the documentation for this feature?: N/A

Did you add automated tests or write a test plan?

Updated Changelog.md? NO

Ready for code review?: NO

storage.Client.__init__ raises if no project can be determined, so the
.project attribute is always a str at the next line. The upstream stub
in google-cloud-storage annotates it as Optional[str], forcing a ty
ignore at every call site. Narrow once in __init__ with a fail-fast
TypeError guard (per CLAUDE.md) and reuse via self.__project: str.

Patches tests/unit/utils/gcs_test.py to set mock_client.project on the
two MagicMock(spec=Client) fixtures so the runtime guard accepts them.

Resolves 1 `# ty: ignore[invalid-argument-type]` at gcs.py:136.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@kmontemayor2-sc kmontemayor2-sc force-pushed the kmontemayor/ty_gcs_project_narrowing branch from 8d8c644 to d7d970b Compare June 2, 2026 18:59
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.

2 participants