Ask Your Question

sagews vs jupyter notebook, and choices of kernels

asked 2018-05-22 19:39:58 +0100

Larry Moss gravatar image

I'm making a few notebooks for educational use and I'm looking for guidance as to what I should be using: a sage worksheet running Jupyter, or a Jupyter notebook. For the most part, I want users to be able to run existing Python programs.

(I also want them to run some Haskell programs, and for this, the choice is clearer: I want the Jupyter notebook because I can set the mode to Haskell.)

I don't see anything here that offers comparisons, and so here are some of the issues on my mind.

I find the Jupyter notebook cell system more to my liking than a sagews. I believe that users would also, but I have no real experience with that.

I think there's more documentation here for the sagews (right?), but there's more out there on the Jupyter notebook.

I'd like some support for simple tables containing text and numbers; nothing fancier. Is there a difference there?

A final issue: is there any difference in terms of displaying html, either in the application itself or in separate windows?

And on a related point: what is the difference between a sagews set up to run a Jupyter kernel via

py3 = jupyter("python3")

and one via

a3 = jupyter("anaconda3")

Is this an orthogonal issue, or is it related to my overall question?

edit retag flag offensive close merge delete


I think sagews is a cocalc-only thing. The cocalc software is free and open source and you can run your own, but I don't know how hard it is to do that in practice. Furthermore, the infrastructure is happy to work with jupyter notebooks (if you need that). There is a wider community of user and tools for jupyter notebooks, which might be a benefit. If you're going to need jupyter for Haskell anyway, the choice is pretty clear. Why burden your students with two technologies if they can get by with one? In terms of making kernels available: your choice if you want to install the Haskell kernel in sage's jupyter or if you want to install sage as a kernel (together with Haskell's) into another jupyter.

nbruin gravatar imagenbruin ( 2018-05-22 22:53:40 +0100 )edit

Thanks -- the point about one technology for my students is a good one.

Larry Moss gravatar imageLarry Moss ( 2018-05-25 03:09:45 +0100 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2018-05-24 20:49:33 +0100

William Stein2 gravatar image

I wrote sagews.

I find the Jupyter notebook cell system more to my liking than a sagews. I believe that users would also, but I have no real experience with that.

Some users prefer one (much) more than the other, in each direction. It's a distribution.

My vision for the future of sagews vs jupyter is probably:

  1. Make the sagews file format be compatible with Jupyter's.
  2. Possibly create a sagews kernel, so it's possible to use Jupyter to work with a sagews. This would be necessary, since sagews have a lot of functionality/syntax that is not compatible with or supported by Sage's jupyter kernel.
  3. Make it so the Sagews "single document" view versus the Jupyter "a whole bench of separate cells view" are just different ways of viewing the same notebook, and you can switch back and forth...

We have easy convertors from sagews to jupyter in cocalc, by the way.

  • William
edit flag offensive delete link more



All this looks very promising!

eric_g gravatar imageeric_g ( 2018-05-24 23:46:30 +0100 )edit

answered 2018-05-22 22:22:01 +0100

eric_g gravatar image

The Jupyter notebook is becoming the default notebook for Sage, as you can see by launching Sage in notebook mode via sage --notebook or sage -n. So definitely, I would recommend using Jupyter.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2018-05-22 19:39:58 +0100

Seen: 2,682 times

Last updated: May 24 '18