googleapis / googleapis/google-cloud-python

WriteDisposition derives from object, not Enum

未关闭
#15,690 1 条评论 0 个 reaction 已指派 1 人 已被 @chalmerlowe 认领 在 GitHub 查看
api: bigquery priority: p3 type: bug
主要语言
Python
星标
5.4k
派生
1.8k
平均合并
3 天 4 小时
30 天内合并 PR
122

描述

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"]`
```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。