FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

fix(firestore): add generic typing for DocumentSnapshot by daniel-sanche · Pull Request #18587 · googleapis/google-cloud-python · GitHub

Repository navigation

fix(firestore): add generic typing for DocumentSnapshot - #18587

Merged
daniel-sanche merged 2 commits into
mainfrom
fix_firestore_snapshot_typing
Oct 7, 2026
Merged

daniel-sanche merged 2 commits into
mainfrom
fix_firestore_snapshot_typing

Conversation

Copy link
Copy Markdown
Contributor

DocumentSnapshot can be used with sync or async document reference types, which can result in confusing or incorrect type annotations upstream

This PR makes DocumentSnapshot into a Generic, so it can specify what type of reference it holds.

Fixes #15367

daniel-sanche requested a review from a team as a code owner October 7, 2026 00:02

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.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Code Review

This pull request introduces generic typing to DocumentSnapshot to specify the associated document reference type (DocumentReference or AsyncDocumentReference) across various Firestore client, query, and transaction modules. Feedback highlights a compatibility issue where using a string literal as a TypeVar bound (bound="BaseDocumentReference") will raise a TypeError at runtime in Python versions prior to 3.12. It is recommended to define DocRefType after BaseDocumentReference is fully defined so the actual class object can be used as the bound.

daniel-sanche merged commit 947949b into main Oct 7, 2026
52 checks passed
daniel-sanche deleted the fix_firestore_snapshot_typing branch October 7, 2026 21:20
release-please Bot mentioned this pull request Oct 7, 2026
noahdietz pushed a commit that referenced this pull request Oct 8, 2026
🤖 I have created a release *beep* *boop*
---


<details><summary>gapic-generator: 1.43.0</summary>

##
[1.43.0](gapic-generator-v1.42.0...gapic-generator-v1.43.0)
(2026-10-08)


### Features

* **gapic-generator:** generate code samples for resumable upload RPCs
([#18501](#18501))
([c8926ab](c8926ab))
* generate client, transport, and unit test templates for resumable
uploads
([#18495](#18495))
([3f8d00b](3f8d00b))
* **observability:** implement universal 4-path OpenTelemetry tracing
([#18433](#18433))
([7d18b25](7d18b25))
</details>

<details><summary>google-ads-admanager: 0.10.7</summary>

##
[0.10.7](google-ads-admanager-v0.10.6...google-ads-admanager-v0.10.7)
(2026-10-08)


### Features

* update API sources and regenerate
([#18593](#18593))
([d0505e8](d0505e8))
</details>

<details><summary>google-api-core: 2.42.0</summary>

##
[2.42.0](google-api-core-v2.41.0...google-api-core-v2.42.0)
(2026-10-08)


### Features

* **observability:** implement universal 4-path OpenTelemetry tracing
([#18433](#18433))
([7d18b25](7d18b25))
</details>

<details><summary>google-cloud-apphub: 0.5.2</summary>

##
[0.5.2](google-cloud-apphub-v0.5.1...google-cloud-apphub-v0.5.2)
(2026-10-08)


### Features

* update API sources and regenerate
([#18593](#18593))
([d0505e8](d0505e8))
</details>

<details><summary>google-cloud-beyondcorp-appconnections:
0.8.2</summary>

##
[0.8.2](google-cloud-beyondcorp-appconnections-v0.8.1...google-cloud-beyondcorp-appconnections-v0.8.2)
(2026-10-08)


### Features

* update API sources and regenerate
([#18593](#18593))
([d0505e8](d0505e8))
</details>

<details><summary>google-cloud-beyondcorp-appconnectors: 0.8.2</summary>

##
[0.8.2](google-cloud-beyondcorp-appconnectors-v0.8.1...google-cloud-beyondcorp-appconnectors-v0.8.2)
(2026-10-08)


### Features

* update API sources and regenerate
([#18593](#18593))
([d0505e8](d0505e8))
</details>

<details><summary>google-cloud-beyondcorp-appgateways: 0.8.2</summary>

##
[0.8.2](google-cloud-beyondcorp-appgateways-v0.8.1...google-cloud-beyondcorp-appgateways-v0.8.2)
(2026-10-08)


### Features

* update API sources and regenerate
([#18593](#18593))
([d0505e8](d0505e8))
</details>

<details><summary>google-cloud-bigtable: 2.50.0</summary>

##
[2.50.0](google-cloud-bigtable-v2.49.0...google-cloud-bigtable-v2.50.0)
(2026-10-08)


### Features

* update API sources and regenerate
([#18593](#18593))
([d0505e8](d0505e8))
</details>

<details><summary>google-cloud-compute-v1beta: 0.12.8</summary>

##
[0.12.8](google-cloud-compute-v1beta-v0.12.7...google-cloud-compute-v1beta-v0.12.8)
(2026-10-08)


### Features

* update API sources and regenerate
([#18593](#18593))
([d0505e8](d0505e8))
</details>

<details><summary>google-cloud-dialogflow: 2.53.0</summary>

##
[2.53.0](google-cloud-dialogflow-v2.52.0...google-cloud-dialogflow-v2.53.0)
(2026-10-08)


### Features

* update API sources and regenerate
([#18593](#18593))
([d0505e8](d0505e8))
</details>

<details><summary>google-cloud-dialogflow-cx: 2.9.0</summary>

##
[2.9.0](google-cloud-dialogflow-cx-v2.8.0...google-cloud-dialogflow-cx-v2.9.0)
(2026-10-08)


### Features

* update API sources and regenerate
([#18593](#18593))
([d0505e8](d0505e8))
</details>

<details><summary>google-cloud-firestore: 2.34.1</summary>

##
[2.34.1](google-cloud-firestore-v2.34.0...google-cloud-firestore-v2.34.1)
(2026-10-08)


### Bug Fixes

* **firestore:** add generic typing for DocumentSnapshot
([#18587](#18587))
([947949b](947949b))
</details>

<details><summary>google-cloud-netapp: 0.10.3</summary>

##
[0.10.3](google-cloud-netapp-v0.10.2...google-cloud-netapp-v0.10.3)
(2026-10-08)


### Features

* update API sources and regenerate
([#18593](#18593))
([d0505e8](d0505e8))
</details>

<details><summary>google-cloud-redis-cluster: 0.5.4</summary>

##
[0.5.4](google-cloud-redis-cluster-v0.5.3...google-cloud-redis-cluster-v0.5.4)
(2026-10-08)


### Features

* update API sources and regenerate
([#18593](#18593))
([d0505e8](d0505e8))
</details>

<details><summary>google-cloud-storage: 3.17.0</summary>

##
[3.17.0](google-cloud-storage-v3.16.0...google-cloud-storage-v3.17.0)
(2026-10-08)


### Features

* **storage:** add OpenTelemetry metrics gating and configuration module
([#18407](#18407))
([654e768](654e768))
</details>

<details><summary>google-developer-knowledge: 0.1.4</summary>

##
[0.1.4](google-developer-knowledge-v0.1.3...google-developer-knowledge-v0.1.4)
(2026-10-08)


### Features

* update API sources and regenerate
([#18593](#18593))
([d0505e8](d0505e8))
</details>

<details><summary>google-devicesandservices-health: 0.1.4</summary>

##
[0.1.4](google-devicesandservices-health-v0.1.3...google-devicesandservices-health-v0.1.4)
(2026-10-08)


### Features

* **google-devicesandservices-health:** add v4beta
([#18597](#18597))
([d28458c](d28458c))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Type Mismatch DocumentSnapshot of AsyncCollectionReference

2 participants


Back | FazBrowse Home | New Git URL