Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on May 7, 2026. It is now read-only.

Commit 2017cc2

Browse filesBrowse files
authored
feat: remove redundant "started." messages from progress output (#2440)
Follow-up to #2419 Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery-dataframes/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) Context: b/479944983 🦕
1 parent 1274167 commit 2017cc2
Copy full SHA for 2017cc2

2 files changed

+436-51Lines changed: 436 additions & 51 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎bigframes/formatting_helpers.py‎

Copy file name to clipboardExpand all lines: bigframes/formatting_helpers.py
+30-51Lines changed: 30 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
import humanize
2828

2929
if TYPE_CHECKING:
30-
from IPython import display
31-
3230
import bigframes.core.events
3331

3432
GenericJob = Union[
@@ -134,16 +132,14 @@ def repr_query_job_html(query_job: Optional[bigquery.QueryJob]):
134132
return res
135133

136134

137-
current_display: Optional[display.HTML] = None
138135
current_display_id: Optional[str] = None
139-
previous_display_html: str = ""
140136

141137

142138
def progress_callback(
143139
event: bigframes.core.events.Event,
144140
):
145141
"""Displays a progress bar while the query is running"""
146-
global current_display, current_display_id, previous_display_html
142+
global current_display_id
147143

148144
try:
149145
import bigframes._config
@@ -162,59 +158,44 @@ def progress_callback(
162158
if progress_bar == "notebook":
163159
import IPython.display as display
164160

165-
if (
166-
isinstance(event, bigframes.core.events.ExecutionStarted)
167-
or current_display is None
168-
or current_display_id is None
169-
):
170-
previous_display_html = ""
171-
current_display_id = str(random.random())
172-
current_display = display.HTML("Starting.")
173-
display.display(
174-
current_display,
175-
display_id=current_display_id,
176-
)
161+
display_html = None
162+
163+
if isinstance(event, bigframes.core.events.ExecutionStarted):
164+
# Start a new context for progress output.
165+
current_display_id = None
166+
167+
elif isinstance(event, bigframes.core.events.BigQuerySentEvent):
168+
display_html = render_bqquery_sent_event_html(event)
177169

178-
if isinstance(event, bigframes.core.events.BigQuerySentEvent):
179-
previous_display_html = render_bqquery_sent_event_html(event)
180-
display.update_display(
181-
display.HTML(previous_display_html),
182-
display_id=current_display_id,
183-
)
184170
elif isinstance(event, bigframes.core.events.BigQueryRetryEvent):
185-
previous_display_html = render_bqquery_retry_event_html(event)
186-
display.update_display(
187-
display.HTML(previous_display_html),
188-
display_id=current_display_id,
189-
)
171+
display_html = render_bqquery_retry_event_html(event)
172+
190173
elif isinstance(event, bigframes.core.events.BigQueryReceivedEvent):
191-
previous_display_html = render_bqquery_received_event_html(event)
192-
display.update_display(
193-
display.HTML(previous_display_html),
194-
display_id=current_display_id,
195-
)
174+
display_html = render_bqquery_received_event_html(event)
175+
196176
elif isinstance(event, bigframes.core.events.BigQueryFinishedEvent):
197-
previous_display_html = render_bqquery_finished_event_html(event)
198-
display.update_display(
199-
display.HTML(previous_display_html),
200-
display_id=current_display_id,
201-
)
202-
elif isinstance(event, bigframes.core.events.ExecutionFinished):
203-
if previous_display_html:
177+
display_html = render_bqquery_finished_event_html(event)
178+
179+
elif isinstance(event, bigframes.core.events.SessionClosed):
180+
display_html = f"Session {event.session_id} closed."
181+
182+
if display_html:
183+
if current_display_id:
204184
display.update_display(
205-
display.HTML(f"✅ Completed. {previous_display_html}"),
185+
display.HTML(display_html),
186+
display_id=current_display_id,
187+
)
188+
else:
189+
current_display_id = str(random.random())
190+
display.display(
191+
display.HTML(display_html),
206192
display_id=current_display_id,
207193
)
208194

209-
elif isinstance(event, bigframes.core.events.SessionClosed):
210-
display.update_display(
211-
display.HTML(f"Session {event.session_id} closed."),
212-
display_id=current_display_id,
213-
)
214195
elif progress_bar == "terminal":
215-
if isinstance(event, bigframes.core.events.ExecutionStarted):
216-
print("Starting execution.")
217-
elif isinstance(event, bigframes.core.events.BigQuerySentEvent):
196+
message = None
197+
198+
if isinstance(event, bigframes.core.events.BigQuerySentEvent):
218199
message = render_bqquery_sent_event_plaintext(event)
219200
print(message)
220201
elif isinstance(event, bigframes.core.events.BigQueryRetryEvent):
@@ -226,8 +207,6 @@ def progress_callback(
226207
elif isinstance(event, bigframes.core.events.BigQueryFinishedEvent):
227208
message = render_bqquery_finished_event_plaintext(event)
228209
print(message)
229-
elif isinstance(event, bigframes.core.events.ExecutionFinished):
230-
print("Execution done.")
231210

232211

233212
def wait_for_job(job: GenericJob, progress_bar: Optional[str] = None):

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.