From 67bd40a45bdca53e418958fcda9cc754d2d3532e Mon Sep 17 00:00:00 2001 From: Dave Borowitz Date: Mon, 19 Oct 2026 15:06:32 -0700 Subject: [PATCH] fix(deps): lower ipython requirement to >=7.34.0 for Colab Enterprise Colab and Colab Enterprise runtimes pre-install ipython==7.34.0 (the final 7.x release) to satisfy google-colab's kernel integration constraints. Requiring ipython>=8.0 in extras_require["interactive"] forced pip to upgrade IPython on Colab Enterprise runtimes when installing google-cloud-spark-connect[interactive], conflicting with google-colab's pinned dependencies and risking kernel incompatibility across restarts. Nothing in google.cloud.managed_spark_connect or google.cloud.managed_spark_magics depends on IPython 8+ features: - Interactive shell integration (_ipython.py, session.py, environment.py) and the %%sparksql / %load_spark_connect_session magics only use long-stable APIs available in IPython 7.34.0 (get_ipython, IPython.display, Magics decorators, extension_manager, magics_manager, post_run_cell events, _showtraceback, and traitlets.config.Configurable). - All sibling [interactive] dependencies (anywidget, colabsqlviz, ipywidgets, jupyter_DynamicPip, sqlparse) already support IPython 7.34.0. Lower the floor in setup.py to ipython>=7.34.0 so installing the [interactive] extra on Colab Enterprise preserves the runtime's existing IPython 7.34.0 installation. --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 5e39920..c54a1a6 100644 --- a/setup.py +++ b/setup.py @@ -54,7 +54,7 @@ # Imported directly by managed_spark_connect._ipython and # managed_spark_magics; previously these only arrived transitively # via google-colabsqlviz. - "ipython>=8.0", + "ipython>=7.34.0", # Statement splitting and parameter detection in %%sparksql. "sqlparse>=0.5.0", "traitlets>=5.1",