Release 6.1.13 breaks compatibility with Python 3.5
Hi, the latest release of jupyter_ciient breaks compatibility with Python 3.5. Here is the traceback we are seeing on our CI:
/usr/local/lib/python3.5/site-packages/ipykernel/__init__.py:2: in <module>
from .connect import *
/usr/local/lib/python3.5/site-packages/ipykernel/connect.py:16: in <module>
import jupyter_client
/usr/local/lib/python3.5/site-packages/jupyter_client/__init__.py:6: in <module>
from .asynchronous import AsyncKernelClient # noqa
/usr/local/lib/python3.5/site-packages/jupyter_client/asynchronous/__init__.py:1: in <module>
from .client import AsyncKernelClient # noqa
/usr/local/lib/python3.5/site-packages/jupyter_client/asynchronous/client.py:6: in <module>
from jupyter_client.channels import HBChannel
E File "/usr/local/lib/python3.5/site-packages/jupyter_client/channels.py", line 47
E time_to_dead: float = 1.0
It's not a big issue on our side, we can work-around it, but the packaging metadata needs to be updated if the breakage was intentional:
- https://github.com/jupyter/jupyter_client/blob/master/setup.py#L79
- https://github.com/jupyter/jupyter_client/blob/master/setup.py#L66
I would also recommend yanking the release 6.1.13 and doing a new release 6.1.14 with the correct packaging metadata to minimize the risk of people getting an invalid version on Python 3.5.
The conda-forge recipe likely needs to be updated as well https://github.com/conda-forge/jupyter_client-feedstock/blob/master/recipe/meta.yaml
Yes, we are seeing the same issue with an app using qtconsole, as the Python 3.5 CI tests are failing with the same issue : https://github.com/mu-editor/mu/issues/1444
Personally I'd prefer if 3.5 was still supported, as is the default Python3 in Debian Stretch (eol is in July), but as this Python version is no longer supported it is still understandable if you'd drop it. Pip should still be able to automatically pick 6.1.12 with Python 3.5 once 6.1.13 is fixed or yanked.
Thanks for reporting, the issue seems to be related to Python 3.5 not supporting type annotations, so we will drop it and support Python >= 3.6 from now on. I am taking care of marking the package as broken on conda-forge, but can someone who has management rights on PyPI yank v6.1.13, maybe @MSeal ?
If the package requires >= 3.5:
https://github.com/jupyter/jupyter_client/blob/6.1.13/setup.py#L79
Why isn't that part of the test matrix?
https://github.com/jupyter/jupyter_client/blob/6.1.13/.github/workflows/main.yml#L41
I know, there was something not clear about Python 3.5.
I know, there was something not clear about Python 3.5.
Maybe not available with ubuntu_latest?
I don't know, to be honest. Maybe we just forgot to test Python 3.5 in the CI.
Hi all. I was about to file an issue and saw this thread. My issue is not related to Python 3.5 but is related to the latest release. Should I wait for now before creating another issue?
Hi @kai-tub, please go ahead and file an issue.
For those in user-space, downgrading to jupyter-client==6.0.0 should be fine while this gets sorted.
6.1.12 should be fine as well.
Yes, I would advise 3.5 clients to only downgrade to 6.1.12 as there is considerable functionality (used by downstream applications) present between 6.0.0 and 6.1.12. Release 6.1.13 has been yanked from PyPi and resolutions for the surfaced issues will be delivered in a 6.2.0 release that supports Python 3.6+. 3.5 clients would also be advised to pin to 6.1.x.