Skip to content

WriteDisposition derives from object, not Enum #2413

@joshuagl

Description

@joshuagl

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:

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

Metadata

Metadata

Assignees

Labels

api: bigqueryIssues related to the googleapis/python-bigquery API.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions