ipykernel
ipykernel copied to clipboard
IPython Kernel for Jupyter
One test in nbclient [fails randomly](https://github.com/jupyter/nbclient/issues/189#issuecomment-1013762525) while executing a cell with: ```python while True: pass ``` And interrupting the execution. Instead of having the following output: ``` [{ 'ename': 'KeyboardInterrupt',...
Reopening this issue with 6.6.1. Traceback (most recent call last): File "/usr/local/lib/python3.8/dist-packages/ipykernel/kernelbase.py", line 353, in dispatch_shell await result File "/usr/local/lib/python3.8/dist-packages/ipykernel/kernelbase.py", line 648, in execute_request reply_content = await reply_content File "/usr/local/lib/python3.8/dist-packages/ipykernel/ipkernel.py",...
It looks like sending a `shutdown_request` with `content`: ```json { "restart": true } ``` doesn't restart the kernel, although it is specified in [the kernel protocol](https://jupyter-client.readthedocs.io/en/stable/messaging.html#kernel-shutdown).
That would be in line with https://numpy.org/neps/nep-0029-deprecation_policy.html, and 3.7 is the things that poses problem with importlib-metadata and co. IPython 8 is also 3.8+ Thoughts ?
The msg_types would deserve some Enum https://github.com/ipython/ipykernel/blob/c9e2917ebfd167430e78229668f437219afc978b/ipykernel/kernelbase.py#L197-L207 This has been spotted by @Carreau while reviewing https://github.com/ipython/ipykernel/pull/805 in this comment https://github.com/ipython/ipykernel/pull/805#discussion_r779404198
`ipykernel` v6.3.0, I believe 470145ca7d103bdf6081bcfde09933ab81a56a5b specifically, introduced an indirect import on the `pkg_resources` module, via `debugpy.server.api`. During this import, `debugpy` imports `pkg_resources` ([here](https://github.com/microsoft/debugpy/blob/b1ad4d66f1db9e2efac7d3df6a5fbb922d1435de/src/debugpy/_vendored/pydevd/pydevd_plugins/__init__.py#L5)). The `pkg_resources` module has some [import-time side-effects](https://setuptools.pypa.io/en/latest/pkg_resources.html#workingset-objects)...
Anyone who has the repository already cloned will likely need to update it. These are the commands Github suggests: ``` git branch -m master main git fetch origin git branch...
because control_channel shouldn't publish execution_state
The ``QTimer`` and ``QSocketNotifier`` helper objects, created by the ``_notify_stream_qt()`` function as child objects of the global ``QApplication``, need to be discarded after use when leaving the Qt event loop....
Addresses #775