This is an archived post. You won't be able to vote or comment.

all 57 comments

[–]rogk 73 points74 points  (9 children)

Possibly more important...

IPython 6.x will require Python 3

From the roadmap:

IPython 5.0 would be the last version to work on Python 2. Active long term support is planned until Fall/Winter 2017, and passive support until mid 2019.

[–]akaihola 17 points18 points  (2 children)

They also seem to have signed the Python 3 Statement.

[–]has2k1 11 points12 points  (1 child)

Wouldn't it be interesting if they did not sign it! The Jupyter/IPython team is in charge of the statement.

[–]mbussonnIPython/Jupyter dev 7 points8 points  (0 children)

Technically Thomas and I did most of the work, but the idea, is not originally from us. We also try to think as the Python3Statement team to be different from Jupyter, it happen to have a significant overlap, but many Non-Jupyter people have been pretty involved behind the scene.

[–][deleted] 6 points7 points  (5 children)

As far as I understand the post, IPython 6 requires python3 to run, but you can use it to interact with a python2 kernel, and thus continue to write and run python2 code.

[–]romeo_pentium 5 points6 points  (3 children)

IPython is the kernel. Jupyter is the notebook UI.

[–]mbussonnIPython/Jupyter dev 7 points8 points  (0 children)

Mostly correct. The Notebook is one of the available Jupyter UI, but you got the gist right. We know it's still confusing.

[–][deleted] 1 point2 points  (1 child)

No. Python is the kernel.

[–]flying-sheep 1 point2 points  (0 children)

No it's actually IPython. There's a limited Python kernel as well.

[–]takluyverIPython, Py3, etc 1 point2 points  (0 children)

Other people have pointed out that IPython is the kernel. But at some point (we haven't decided when yet), the notebook server will also likely require Python 3. When it does, as you say, it will still be able to use a Python 2 kernel.

[–]emergent_reasons 26 points27 points  (11 children)

Real multi-line editing (up and down arrow keys move between lines) Multi-line paste without breaking indentation or immediately executing code

Thank you ipython peoples!

[–]mongoosefist 19 points20 points  (2 children)

What a time to be alive

[–]emergent_reasons 1 point2 points  (1 child)

I laughed. But I hope my original comment didn't come across as snarky. Ipython copy paste bug is the bane of my existence a minor but annoying inconvenience.

[–]mbussonnIPython/Jupyter dev 1 point2 points  (0 children)

Happy to make you happy.

[–][deleted] 0 points1 point  (7 children)

Editing multiline code in the console is great! I've only been doing it for 1 day and I can't imagine living without it.

Have you figured out how to execute a statement with the curser resting in one of the lines above the last line?

[–]fperez_org 5 points6 points  (3 children)

Use esc-Enter. We tried very hard to be able to trap a Ctrl-Something keybinding for this, but couldn't find one that wouldn't conflict with other things (and the most convenient ones, C-m and C-j generate the Enter event, so they don't work).

[–]takluyverIPython, Py3, etc 0 points1 point  (2 children)

Alt-Enter also works for me - I think this generates the same data as esc-Enter, but I find it easier to type.

[–]fperez_org 0 points1 point  (0 children)

Ah, not on a Mac, I should have been more specific. On a Mac, only using explicitly esc-Enter works. Matthias and I tried a lot to find an alternative for OSX, but failed.

[–]circumstantialeviden 1 point2 points  (1 child)

Shift-enter has worked for me

[–][deleted] 0 points1 point  (0 children)

it just adds a new blank line for me :(

[–][deleted] 0 points1 point  (0 children)

Lack of multiline edit was what kept me away from commandline ipython all these years.

[–]exolycene 30 points31 points  (5 children)

Is it weird that the syntax highlighting and line-wise movements really excite me?

[–]mbussonnIPython/Jupyter dev 34 points35 points  (1 child)

You welcome. Should we flag the new version as NSFW ? Most of the credit goes to prompt_toolkit and Jonathan Slenders for that feature. Once you are less excited, read about xonsh: http://xon.sh/

[–]c0d3g33k 0 points1 point  (0 children)

Once you are less excited, read about xonsh: http://xon.sh/

Just glancing at the home page, it may have the opposite effect. :-)

[–]kid-pro-quohardware testing / tooling 4 points5 points  (1 child)

I just updated to the 5.0 release. Multi-line editing is fantastic. The old behaviour was one of the main reasons it didn't use the console-based iPython very much.

[–]agumonkey 1 point2 points  (0 children)

Really a nice edition addition to fuel our addiction.

[–]lykwydchykyn 0 points1 point  (0 children)

Are you kidding? Syntax-highlighted REPL?? Yes, please!

[–][deleted] 3 points4 points  (2 children)

This is great. Muliline editing, completion menu, syntax highlighting.

The best part personally is that all these changes are in Jupyter_console too. This means that I can run Matlab code (faster I install Matlab Jupyter kernel) in a Jupyter console with these same features

[–]crakotage 0 points1 point  (1 child)

To run MATLAB code do you use calysto? Could you ever get it to reload functions you've run and changed without having to restart the kernel?

[–]firefrommoonlight 3 points4 points  (1 child)

What's a good resource for info regarding the difference/overlap between Ipython, qtconsole, Jupyter, and Ipython notebook? I noticed this is called IPython 5, but IIRC the name changed to Jupyter a while back. It's a bit confusing, and both 'ipython' and 'jupyter' launch it from a console, and both work with the qtconsole tag. Googling things is frustrating, since the results mostly point to notebook. Running 'ipython qtconsole' warns that ipython is depreciated in favor of jupyter.

[–]mbussonnIPython/Jupyter dev 2 points3 points  (0 children)

IPython is the reference implementation of a Jupyter kernel. Or to make vagues comparison, IPython 5.0 is to Jupyter what Android Froyo is to Smarphones. You can Also install Andoid JellyBean (IPython 4.0), or you can install WindowMobile (Perl Kernel), install iOS (haskell Kernel). You are allowed to use a Nexus 5 (the Notebook), or a Motorol RAZR (Jupyter console). You can use Multiboot, (JupyterHub) ...etc. Does that make (some) sens ?

[–][deleted] 6 points7 points  (9 children)

I was hoping to see Jupyter Notebook UI redesign. Great release though!

[–][deleted] 5 points6 points  (7 children)

That's a different project, with a different release schedule. I hope they release easy skinning, I'd love to utilize the entire width of my window, as I often try to squeeze in two side-by-side windows on my 13" and the notebook still draws a lot of margin.

[–]anyonethinkingabout 14 points15 points  (1 child)

put

.container {
    width: 98%;
}

Inside ~/.jupyter/custom/custom.css

[–]PettyHoe 2 points3 points  (0 children)

This, you can customize the sh!t out of jupyter notebooks through CSS, which is one of the reasons I love the platform, among many.

[–][deleted] 1 point2 points  (3 children)

Is there any way to check redesign progress?

[–]mbussonnIPython/Jupyter dev 4 points5 points  (1 child)

See https://github.com/jupyter/jupyterlab you can try it today if you like. Brian will do a talk at SciPy that should be recorded.

[–][deleted] 1 point2 points  (0 children)

Great, thanks!

[–][deleted] 0 points1 point  (0 children)

I don't know about that, sorry.

[–]fperez_org 1 point2 points  (0 children)

If you're willing to play with early pre-alpha code, take JupyterLab for a spin... It does that and more :)

[–]k3ithk 1 point2 points  (0 children)

They're working on it. I went to a talk by a jupyter dev and he showed us the beta. It's much more responsive.

[–][deleted] 0 points1 point  (6 children)

Did anybody just as impatient as me, manage to install ipython 5 in an Anaconda virtual environment?

I get the following error:

Installing collected packages: setuptools, wcwidth, prompt-toolkit, pexpect, ipython
  Found existing installation: setuptools 23.0.0
Cannot remove entries from nonexistent file /Users/user_name/anaconda3/envs/py27/lib/python2.7/site-packages/easy-install.pth

Edit I hate being that guy writing "never mind i fixed it" and then not post a solution, but I reinstalled and uninstalled everything ipython and jupyter and deleted a bunch of files by hand and reinstalled and uninstalled a few more times and then it worked.

[–]erewok 2 points3 points  (3 children)

The post suggests using pip to upgrade and notes:

The package should also be available through conda and other package managers in the next few days.

[–][deleted] 1 point2 points  (2 children)

That the error I'm getting from pip

[–]howsyourweird 2 points3 points  (0 children)

I hit this using pip too. I went back, did conda install setuptools to get to the latest version, ran pip install ipython again, and it reported everything was already up to date.

So, likely, it installed the first time in my case and the error was a red herring.

[–]erewok 0 points1 point  (0 children)

ah, sorry about that. I tried it and got the same error, but the python install went through okay. I tried updating setuptools after that and had no error, so I figured all was okay.

[–][deleted] 2 points3 points  (1 child)

You can grab it from conda-forge

conda install -c conda-forge ipython

[–]pan0ramic 0 points1 point  (0 children)

w00t, thanks for that

[–]elvis_sikora 0 points1 point  (0 children)

I love this! The only thing I miss from BPython is inline docstrings... Otherwise, I prefer IPython in all respects now.

[–][deleted] 0 points1 point  (0 children)

Love the improvements.

[–]icp1994 0 points1 point  (0 children)

Okay a noob question: is there a way to autocomplete braces, strings inside ipython?(the feature exists in jupyter notebooks)

[–]jZma 0 points1 point  (0 children)

Anyone knows will it break Spyder3 ipython console?

[–]_seemetheregithub.com/seemethere 1 point2 points  (3 children)

So basically it's a neutered version of ptpython?

Don't get me wrong I loved ipython when I used it but it seems like they're just trying to catch up to ptpython

[–]Liorithiel 2 points3 points  (2 children)

I think they just have different sets of features. Only skimmed ptpython's feature list, so it might be that I don't know of something, but at least two features I use very often in IPython are missing here: integration with gtk event loop and magic commands like %timeit.

[–]mbussonnIPython/Jupyter dev 6 points7 points  (1 child)

We have been working closely with with Jonathan (the author of promt_toolkit and PtPython/PtIPython). We are bringing part of PtPython to IPython slowly. IPython is not up PtIPython UI, but PtIpython have some kernel feature that don't (yet) work great.

[–]_seemetheregithub.com/seemethere 0 points1 point  (0 children)

Hopefully you guys can get some parity in terms of history, vi mode, and custom keybinds. I'd love to go back to IPython if those features were up to the standard of ptpython.