Opened 10 years ago

Last modified 5 years ago

#12719 closed enhancement

Upgrade to IPython 0.12 — at Version 14

Reported by: kini Owned by: tbd
Priority: critical Milestone: sage-5.7
Component: packages: standard Keywords: sd40.5
Cc: iandrus, vbraun, jason, AlexanderDreyer, robertwb Merged in:
Authors: Mike Hansen Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by jason)

We need to upgrade IPython to the shiny new thing. Well, not really - the shiny new thing was 0.11, and 0.12 is now stable. It's been mostly rewritten and is now a lot more modular, as I understand it. Definitely worth using in Sage.

apply:

  1. trac_12719-scripts.patch
  2. trac_12719.patch
  3. trac_12719-move_to_preparser.patch

Install IPython 0.12 (spkg coming soon...)

Change History (14)

comment:1 Changed 10 years ago by jhpalmieri

See #12167 for a related ticket: how we deal with IPython configuration files.

comment:2 Changed 10 years ago by fbissey

Would be nice but we need some porting, here is what typically happen if you try to use ipython-0.12 with sage (we had several reports in sage-on-gentoo before I pinned down the version used by sage):

$ sage
----------------------------------------------------------------------
| Sage Version 4.7.2, Release Date: 2011-10-29                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/bin/sage-ipython", line 19, in <module>
    from IPython.CrashHandler import CrashHandler
ImportError: No module named CrashHandler

comment:3 Changed 10 years ago by kini

Yes, obviously :) I'm just making this ticket since it is absolutely must be an eventual goal for us and nobody else has made a ticket yet, even though IPython 0.12 has been out for about three months.

comment:4 Changed 10 years ago by fbissey

To be honest Fernando Perez and I talked about it on the mailing list at the time of ipython 0.11 and I said I would tell him what happens when we use ipython 0.11+ with sage because he is interested. For various reason I haven't been able to go back to it. But some sage-on-gentoo users eventually got a taste of it when it finally landed in the portage tree.

So first hurdle: do something about the crash handling.

comment:5 Changed 10 years ago by iandrus

  • Cc iandrus added

comment:6 Changed 10 years ago by mhansen

I'm working on this now, and have made quite a bit of progress. As an added bonus, making the Sage customizations to IPython is quite a bit cleaner. I should hopefully be able to clean out the mess in sage/misc/preparser_ipython.py and sage/misc/interpreter.py .

comment:7 Changed 10 years ago by mhansen

This will fix #4413.

comment:8 Changed 10 years ago by kini

Great, I'm glad you're on the case! :)

comment:9 Changed 10 years ago by vbraun

  • Cc vbraun added

comment:10 Changed 10 years ago by vbraun

What about zmq/pyzmq? It would really add to the functionality and I'm interested in the parallel/cluster support. But, strictly speaking, its not necessary to run ipython. Its also used in the new notebook so maybe its time for it to become a standard package?

comment:11 Changed 10 years ago by kini

  • Cc jason added

CCing Jason as he expressed interest on sage-devel.

comment:12 Changed 10 years ago by jason

mhansen: we'd love to see your work-in-progress if it's available somewhere. I just spent some time reading the IPython docs again and thinking about how we could use it to implement the notebook hub and worker processes.

comment:13 Changed 10 years ago by mhansen

I've posted patches which let Sage work with IPython 0.12 as well as cleaning up some old messy code. These should be in a state where they're ready to review.

I haven't done anything with preparing an spkg yet.

comment:14 Changed 10 years ago by jason

  • Authors set to Mike Hansen
  • Description modified (diff)

I've updated the instructions in the description. Please correct if I messed something up.

Note: See TracTickets for help on using tickets.