googleapis / googleapis/google-cloud-python

WriteDisposition derives from object, not Enum

Offen
#15,690 1 Kommentar 0 Reaktionen 1 zugewiesene Person Beansprucht von @chalmerlowe Auf GitHub ansehen
api: bigquery priority: p3 type: bug
Vorherrschende Sprache
Python
Sterne
5.4k
Forks
1.8k
Ø Merge
3 T. 4 Std.
Gemergte PRs (30 T.)
122

Beschreibung

Unlike many of the other enumerations defined in google/cloud/bigquery/enums.py, `WriteDisposition` derives from `object`, not `enum.Enum` and therefore `WriteDisposition` can't easily be used as a type annotation in method args where you want to set a default disposition.

#### Environment details

- OS type and version: macOS 15.7.3
- Python version: 3.13.2
- pip version: 25.3
- `google-cloud-bigquery` version: 3.40.0

#### Steps to reproduce

1. Define a function which simplifies calls to BQ and takes a WriteDisposition as a parameter
2. Set a default value for the WriteDisposition parameter
3. Fail to type check with `ty`

#### Code example

Something like:
```python
def write_to_bq(write_type: WriteDisposition = WriteDisposition.WRITE_APPEND)
```

Results in an [invalid-argument] type checking error from `ty` with a message like:

```
Expected `WriteDisposition`, found `Unknown | Literal["WRITE_APPEND"]`
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.