1818import datetime
1919import threading
2020import uuid
21- from typing import Any , Callable , Optional , Set
21+ from typing import Any , Callable , Literal , Set
2222
2323import google .cloud .bigquery ._job_helpers
2424import google .cloud .bigquery .job .query
2525import google .cloud .bigquery .table
26- from google .cloud .bigquery .job .query import QueryPlanEntry
2726
2827import bigframes .session .executor
2928
3029_DEFAULT = "default"
3130
3231
3332class Subscriber :
34- def __init__ (self , callback : Callable [[Event ], None ], * , publisher : Publisher ): # noqa: E501
33+ def __init__ (
34+ self , callback : Callable [[Event ], None ], * , publisher : Publisher
35+ ): # noqa: E501
3536 self ._publisher = publisher
3637 self ._callback = callback
3738 self ._subscriber_id = uuid .uuid4 ()
@@ -109,7 +110,7 @@ class ExecutionRunning(Event):
109110
110111@dataclasses .dataclass (frozen = True )
111112class ExecutionFinished (Event ):
112- result : Optional [ bigframes .session .executor .ExecuteResult ] = None
113+ result : bigframes .session .executor .ExecuteResult | None = None
113114
114115
115116@dataclasses .dataclass (frozen = True )
@@ -124,17 +125,18 @@ class BigQuerySentEvent(ExecutionRunning):
124125 """Query sent to BigQuery."""
125126
126127 query : str
127- billing_project : Optional [ str ] = None
128- location : Optional [ str ] = None
129- job_id : Optional [ str ] = None
130- request_id : Optional [ str ] = None
131- progress_bar : Optional [ str ] = _DEFAULT
128+ billing_project : str | None = None
129+ location : str | None = None
130+ job_id : str | None = None
131+ request_id : str | None = None
132+ progress_bar : Literal [ "default" , "auto" , "notebook" , "terminal" ] | None = _DEFAULT
132133
133134 @classmethod
134135 def from_bqclient (
135136 cls ,
136137 event : google .cloud .bigquery ._job_helpers .QuerySentEvent ,
137- progress_bar : Optional [str ] = _DEFAULT ,
138+ progress_bar : Literal ["default" , "auto" , "notebook" , "terminal" ]
139+ | None = _DEFAULT ,
138140 ):
139141 return cls (
140142 query = event .query ,
@@ -151,17 +153,18 @@ class BigQueryRetryEvent(ExecutionRunning):
151153 """Query sent another time because the previous attempt failed."""
152154
153155 query : str
154- billing_project : Optional [ str ] = None
155- location : Optional [ str ] = None
156- job_id : Optional [ str ] = None
157- request_id : Optional [ str ] = None
158- progress_bar : Optional [ str ] = _DEFAULT
156+ billing_project : str | None = None
157+ location : str | None = None
158+ job_id : str | None = None
159+ request_id : str | None = None
160+ progress_bar : Literal [ "default" , "auto" , "notebook" , "terminal" ] | None = _DEFAULT
159161
160162 @classmethod
161163 def from_bqclient (
162164 cls ,
163165 event : google .cloud .bigquery ._job_helpers .QueryRetryEvent ,
164- progress_bar : Optional [str ] = _DEFAULT ,
166+ progress_bar : Literal ["default" , "auto" , "notebook" , "terminal" ]
167+ | None = _DEFAULT ,
165168 ):
166169 return cls (
167170 query = event .query ,
@@ -177,22 +180,23 @@ def from_bqclient(
177180class BigQueryReceivedEvent (ExecutionRunning ):
178181 """Query received and acknowledged by the BigQuery API."""
179182
180- billing_project : Optional [ str ] = None
181- location : Optional [ str ] = None
182- job_id : Optional [ str ] = None
183- statement_type : Optional [ str ] = None
184- state : Optional [ str ] = None
185- query_plan : Optional [ list [QueryPlanEntry ]] = None
186- created : Optional [ datetime .datetime ] = None
187- started : Optional [ datetime .datetime ] = None
188- ended : Optional [ datetime .datetime ] = None
189- progress_bar : Optional [ str ] = _DEFAULT
183+ billing_project : str | None = None
184+ location : str | None = None
185+ job_id : str | None = None
186+ statement_type : str | None = None
187+ state : str | None = None
188+ query_plan : list [google . cloud . bigquery . job . query . QueryPlanEntry ] | None = None
189+ created : datetime .datetime | None = None
190+ started : datetime .datetime | None = None
191+ ended : datetime .datetime | None = None
192+ progress_bar : Literal [ "default" , "auto" , "notebook" , "terminal" ] | None = _DEFAULT
190193
191194 @classmethod
192195 def from_bqclient (
193196 cls ,
194197 event : google .cloud .bigquery ._job_helpers .QueryReceivedEvent ,
195- progress_bar : Optional [str ] = _DEFAULT ,
198+ progress_bar : Literal ["default" , "auto" , "notebook" , "terminal" ]
199+ | None = _DEFAULT ,
196200 ):
197201 return cls (
198202 billing_project = event .billing_project ,
@@ -212,24 +216,25 @@ def from_bqclient(
212216class BigQueryFinishedEvent (ExecutionRunning ):
213217 """Query finished successfully."""
214218
215- billing_project : Optional [ str ] = None
216- location : Optional [ str ] = None
217- query_id : Optional [ str ] = None
218- job_id : Optional [ str ] = None
219- destination : Optional [ google .cloud .bigquery .table .TableReference ] = None
220- total_rows : Optional [ int ] = None
221- total_bytes_processed : Optional [ int ] = None
222- slot_millis : Optional [ int ] = None
223- created : Optional [ datetime .datetime ] = None
224- started : Optional [ datetime .datetime ] = None
225- ended : Optional [ datetime .datetime ] = None
226- progress_bar : Optional [ str ] = _DEFAULT
219+ billing_project : str | None = None
220+ location : str | None = None
221+ query_id : str | None = None
222+ job_id : str | None = None
223+ destination : google .cloud .bigquery .table .TableReference | None = None
224+ total_rows : int | None = None
225+ total_bytes_processed : int | None = None
226+ slot_millis : int | None = None
227+ created : datetime .datetime | None = None
228+ started : datetime .datetime | None = None
229+ ended : datetime .datetime | None = None
230+ progress_bar : Literal [ "default" , "auto" , "notebook" , "terminal" ] | None = _DEFAULT
227231
228232 @classmethod
229233 def from_bqclient (
230234 cls ,
231235 event : google .cloud .bigquery ._job_helpers .QueryFinishedEvent ,
232- progress_bar : Optional [str ] = _DEFAULT ,
236+ progress_bar : Literal ["default" , "auto" , "notebook" , "terminal" ]
237+ | None = _DEFAULT ,
233238 ):
234239 return cls (
235240 billing_project = event .billing_project ,
0 commit comments