On Wed, Dec 14, 2011 at 11:37 AM, Jason Grout
<jason-s...@creativetrax.com> wrote:
> That sounds like a great idea.  One of the last things we wanted to do
> before releasing the big 1.0 version is to write more tests and
> documentation about the protocol.  Things have been on hold for the last
> little while (school has been busy), but with the end of the semester, I
> hope that we can finish things up over the holiday break.
>
> We tried to follow pretty closely the ipython messaging spec (or a subset of
> it, anyway, with a few of our own extensions like session_end).  The ipython
> messaging spec is here:
> http://ipython.org/ipython-doc/dev/development/messaging.html
>
> The hope is that when we switch to ipython 0.12, a lot of the work we are
> doing manually now will be automatic for us, and our front ends will still
> just work.

Ideally, we could have such a test suite be reusable across
implementations, so that we can stick it into ipython itself.  Having
the test suite live inside ipython will ensure that over time, we
don't accidentally drift from the spec in ways that could break
downstream users.  At this point we have a spec in the document you
pointed to, but precious little in the way of independent compliance
testing, so there's a real danger of the actual implementation
diverging from the specification simply by accident.

BTW, 0.12 is more or less ready to ship, and it has stabilized a lot
of all the new stuff that arrived in 0.11 (along with a ton of new
code, obviously).  So if you guys start porting sage to 0.12, by all
means report on our tracker
(https://github.com/ipython/ipython/issues) anything that you see
causing a problem.  I'm sure you'll find little things here and there
we broke that you were using, since Sage uses IPython fairly deeply,
but hopefully all should be fixable without too much work.

I'm not sure exactly how Sage initializes IPython, but it would be
great if in the port to 0.12, you were able to do everything needed
for the Sage terminal application as a profile.  The profile machinery
is much more robust now, and lets you configure just about anything in
ipython.  If this can be made to work, the command-line version of
sage would amount to calling

ipython --profile sage

The advantage of this is that it would be possible then to launch a
'sage kernel' with

ipython kernel --profile sage

or to connect to Sage with any of our frontends:

ipython console --profile sage
ipython qtconsole --profile sage
ipython notebook --profile sage

Just some ideas for those in the sage-dev team who decide to tackle
this one.  Let us know on the ipython-dev list how it goes; I try to
keep an eye on this list but if I'm swamped I may ignore long
stretches completely and can easily miss a message.

Cheers,

f

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to