Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

Commit 01c10fe

Browse files
committed
Enable dev tools.
1 parent b09e829 commit 01c10fe

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

jupyter_dash/jupyter_app.py

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -257,11 +257,7 @@ def run(
257257
)
258258

259259
# Default the global "debug" flag to True
260-
debug = kwargs.get('debug', True)
261-
262-
# Disable debug flag when calling superclass because it doesn't work
263-
# in notebook
264-
kwargs['debug'] = False
260+
debug = kwargs.pop('debug', True)
265261

266262
# Enable supported dev tools
267263
if debug:
@@ -284,15 +280,33 @@ def run(
284280
# there is no active kernel.
285281
kwargs['dev_tools_hot_reload'] = mode == "external"
286282

287-
# suppress warning banner printed to standard out
288-
flask.cli.show_server_banner = lambda *args, **kwargs: None
289-
290283
# Set up custom callback exception handling
291284
self._config_callback_exception_handling(
292285
dev_tools_prune_errors=kwargs.get('dev_tools_prune_errors', True),
293286
inline_exceptions=inline_exceptions,
294287
)
295288

289+
dev_tools_args = dict(
290+
debug=debug,
291+
dev_tools_ui=kwargs.pop("dev_tools_ui", None),
292+
dev_tools_props_check=kwargs.pop("dev_tools_props_check", None),
293+
dev_tools_serve_dev_bundles=kwargs.pop("dev_tools_serve_dev_bundles", None),
294+
dev_tools_hot_reload=kwargs.pop("dev_tools_hot_reload", None),
295+
dev_tools_hot_reload_interval=kwargs.pop("dev_tools_hot_reload_interval", None),
296+
dev_tools_hot_reload_watch_interval=kwargs.pop("dev_tools_hot_reload_watch_interval", None),
297+
dev_tools_hot_reload_max_retry=kwargs.pop("dev_tools_hot_reload_max_retry", None),
298+
dev_tools_silence_routes_logging=kwargs.pop("dev_tools_silence_routes_logging", None),
299+
dev_tools_prune_errors=kwargs.pop("dev_tools_prune_errors", None),
300+
)
301+
302+
if len(kwargs):
303+
raise Exception(f"Invalid keyword argument: {list(kwargs.keys())}")
304+
305+
self.enable_dev_tools(**dev_tools_args)
306+
307+
# suppress warning banner printed to standard out
308+
flask.cli.show_server_banner = lambda *args, **kw: None
309+
296310
# prevent partial import of orjson when it's installed and mode=jupyterlab
297311
# TODO: why do we need this? Why only in this mode? Importing here in
298312
# all modes anyway, in case there's a way it can pop up in another mode

0 commit comments

Comments
 (0)