Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Require Python >= 3.4 #3225

Closed
wants to merge 2 commits into from
Closed

Require Python >= 3.4 #3225

wants to merge 2 commits into from

Conversation

takluyver
Copy link
Member

We discussed this in a recent dev meeting, and people seemed to agree that it's time to start doing this.

  • We already did the same with IPython 6.0, and there hasn't been too much pushback - partly because of improvements to PyPI and pip ensuring they do the right thing for Py2 users.
  • The upcoming Tornado 5 uses asyncio where available. This means there will be more difference between Python 2 and 3, and it will be easier for us to take advantage of Py3-only features.
  • It will still be possible to run Python 2 code inside notebooks, by installing a Python 2 kernel. This isn't completely orthogonal to what the server runs, because it's easiest to install the server and the kernel on the same version of Python, but we're not leaving Python 2 users in the cold.

Like IPython, I imagine that we will continue to backport some fixes to 5.x and make some releases, but I think we'll probably apply a higher bar for what is backported, since people have the option of running the notebook server on Python 3 and using a Python 2 kernel.

@takluyver takluyver added this to the 6.0 milestone Jan 17, 2018
@rgbkrk
Copy link
Member

rgbkrk commented Jun 13, 2018

Needs a rebase now, I'm happy to merge after that.

@takluyver
Copy link
Member Author

@mpacer is working towards releasing 5.6, so let's save this for after that's done.

If people want to help progress towards 6.0, I'd like to get more eyes on the API and applications of the new modules jupyter_kernel_mgmt and jupyter_protocol. I've recently had a go at updating jupyter_kernel_test to use these, for instance: jupyter/jupyter_kernel_test#41

One specific design question: for request/reply messages, should an 'error' reply be automatically translated into an exception, or returned to let the application code deal with the different reply statuses? The API currently raises an ErrorInKernel exception, but in a couple of places now I've caught the exception to turn it back into a return value, so I wonder if that should be how it works.

@blink1073
Copy link
Contributor

Superseded by #3926, thanks!

@blink1073 blink1073 closed this Sep 25, 2018
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 30, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants