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

D4.7: Full featured Jupyter interface for GAP, PARI/GP, Singular #96

Open
minrk opened this Issue Sep 8, 2015 · 48 comments

Comments

@minrk
Contributor

minrk commented Sep 8, 2015

For the basic Jupyter interface, see #93.

@defeo

This comment has been minimized.

Contributor

defeo commented May 11, 2016

Trac ticket 20589 relates to this.

@minrk

This comment has been minimized.

Contributor

minrk commented Jun 29, 2016

Month 14 as the due date for this deliverable is a typo in the proposal, and should be Month 24. This should be formally updated to M24 (@nthiery).

@jdemeyer

This comment has been minimized.

Contributor

jdemeyer commented Jul 14, 2016

Month 14 as the due date for this deliverable is a typo in the proposal, and should be Month 24. This should be formally updated to M24 (@nthiery).

ping (Nicolas?)

@bpilorget

This comment has been minimized.

Contributor

bpilorget commented Jul 15, 2016

Ah yes... Well we will ask the Project Officer to take that into account. If Michael really does change partner we will need to to another amendment anyway...

@bpilorget bpilorget modified the milestones: Month 24: 2017-08-31, Month 14: 2016-10-31 Jan 6, 2017

@jdemeyer jdemeyer changed the title from D4.7: Full featured Jupyter interface for GAP, PARI/GP , Singular to D4.7: Full featured Jupyter interface for GAP, PARI/GP, Singular Jan 6, 2017

@kohlhase kohlhase referenced this issue Jan 10, 2017

Closed

Second grant agreement amendment #193

19 of 19 tasks complete
@jdemeyer

This comment has been minimized.

Contributor

jdemeyer commented Jul 14, 2017

What should be done here? Of course 'full featured' is very ambiguous. The only thing I can immediately think of is syntax highlighting. But I know essentially nothing about Javascript, so I don't think it's a good idea for me to work on that.

@minrk

This comment has been minimized.

Contributor

minrk commented Jul 14, 2017

I would say a full-featured Jupyter kernel means:

  • syntax highlighting
  • supports complete_request (tab completion)
  • supports inspect_request (shift-tab in notebook)
  • provides some rich display of objects and/or plotting, as appropriate
  • is reasonably well documented, installable, etc.

omitting (with reason) any individual item, as appropriate.

@minrk

This comment has been minimized.

Contributor

minrk commented Jul 14, 2017

I think the gist is: D4.4's goal is to show that it's possible and get the basics going, and D4.7 was to develop it the level of being useful, which is dependent on the expectations of the user community of each kernel. Based on the deliverable consolidation discussion, these probably shouldn't have been separate deliverables and I would merge them into "Jupyter kernels for GAP, PARI/GP, Singular" if D4.4 weren't already delivered.

@nthiery

This comment has been minimized.

Contributor

nthiery commented Jul 14, 2017

@videlec

This comment has been minimized.

Contributor

videlec commented Jul 14, 2017

For the others (plausibly those requiring javascript work) we will need to find someone!

Vincent K (engineer at Bordeaux) is mostly done with the gmpy2 and pplpy integration in Sage. That might be a good continuation! I will ask him about working on the Pari kernel (starting with fixing issue 2 and issue 3). And possibly more kernels after that. Is that ok?

@embray

This comment has been minimized.

Collaborator

embray commented Jul 17, 2017

I can help with all of the above if needed, though I know virtually nothing about GAP, PARI/GP, etc. beyond some basics of how they work. So if there are people with specific knowledge of what features would be useful in kernels for them (as in, the ones @minrk listed) I can work with them on the implementation.

@sebasguts

This comment has been minimized.

Contributor

sebasguts commented Jul 31, 2017

Short update on the Singular kernel: Tab-completion is available, as well as documentation. I will give an update of the remaining points during this week.

@bpilorget

This comment has been minimized.

Contributor

bpilorget commented Aug 16, 2017

@minrk @jdemeyer This deliverable is officially due for 31/08/2017. Can you please report on the progress you have achieved?
Thanks in advance

@sebasguts

This comment has been minimized.

Contributor

sebasguts commented Aug 16, 2017

inspect_request will be possible in the Singular kernel in the near future. I am not sure I can make it until end of August, but I will try. Syntax-Highlighting might work until then, too.

There is the possibility to plot images, using surf. Does this count as rich output?

@nthiery

This comment has been minimized.

Contributor

nthiery commented Aug 17, 2017

@jdemeyer

This comment has been minimized.

Contributor

jdemeyer commented Aug 17, 2017

let's use this deliverable as an occasion to look at the feedback from users of each basic kernel

I'm sorry to say this, but I do not know anybody actually using one of these kernels.

@jdemeyer

This comment has been minimized.

Contributor

jdemeyer commented Aug 17, 2017

There is the possibility to plot images, using surf

Well, modulo the installation issues regarding surf. For example, it was refused as optional Sage package because it is too hard to build on OS X.

The problem is that surf-in-Jupyter only needs a small subset of the full surf program, and it's precisely the parts which are not needed for Jupyter that contribute to the build difficulties.

Anyway, I don't know how relevant this is to this deliverable, but I thought that it should be mentioned.

@jdemeyer

This comment has been minimized.

Contributor

jdemeyer commented Jan 27, 2018

Well, it will be cheap to do anyaway

Just saying that it's cheap to do shouldn't be sufficient reason to include it.

Allow me to paste one of my favourite quotes (from Antoine de Saint Exupéry):

Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter,
mais quand il n'y a plus rien à retrancher.
@nthiery

This comment has been minimized.

Contributor

nthiery commented Jan 27, 2018

@sebasguts

This comment has been minimized.

Contributor

sebasguts commented Jan 27, 2018

@jdemeyer Thanks. I added a new singular screen cap with syntax highlight and the full surfer image. Will do a proofread and singular thebelab until the end of next week.

@jdemeyer

This comment has been minimized.

Contributor

jdemeyer commented Jul 13, 2018

Somebody added xeus-cling on this page, but can we really consider that as part of ODK?

@slel

This comment has been minimized.

Contributor

slel commented Jul 13, 2018

I think it's ok, especially since

  • Loïc Gouarin is part of the team behind xeus-cling, and conceivably
    devoted part of his OpenDreamKit funding to work on xeus-cling.

  • I used OpenDreamKit funded time to work on integration in CoCalc.

@nthiery

This comment has been minimized.

Contributor

nthiery commented Jul 13, 2018

@jdemeyer

This comment has been minimized.

Contributor

jdemeyer commented Jul 13, 2018

I just pushed a major update to the report. Should I add the generated PDF also in the git repo? I don't remember how this is supposed to work.

At the XFEL meeting, somebody mentioned the MMT kernel https://github.com/UniFormal/mmt_jupyter_kernel

I really don't know much about MMT or its user interface, so I don't think that I could write something about it.

@nthiery

This comment has been minimized.

Contributor

nthiery commented Jul 13, 2018

Thanks Jeroen! Don't worry about the PDF; we will add it at the last minute.

@florian-rabe: would you get a chance to write a few paragraphs describing the MMT kernel?

@florian-rabe

This comment has been minimized.

Contributor

florian-rabe commented Jul 13, 2018

You can copy-paste from https://github.com/KWARC/OpenDreamKit/tree/master/WP4/D4.11
I wrote that this week.

@jdemeyer

This comment has been minimized.

Contributor

jdemeyer commented Aug 9, 2018

Nicolas, you mentioned that I should add widgets but this is already covered by D4.5. It seems strange to me to add that feature to two deliverables.

@nthiery

This comment has been minimized.

Contributor

nthiery commented Aug 11, 2018

@nthiery

This comment has been minimized.

Contributor

nthiery commented Aug 16, 2018

I added a brief section about MMT (@florian-rabe: you may want to double-check), and double checked that the work was widgets work was indeed referenced as implemented as part of D4.5.
@jdemeyer: do you see anything else you'd like to change, or shall I submit the report as is?

@florian-rabe

This comment has been minimized.

Contributor

florian-rabe commented Aug 20, 2018

I made minor changes to the MMT paragraph. OK otherwise.

@nthiery

This comment has been minimized.

Contributor

nthiery commented Aug 23, 2018

Thanks @florian-rabe!
@jdmeyer: should I submit the report as is?

@jdemeyer

This comment has been minimized.

Contributor

jdemeyer commented Aug 23, 2018

I thought you wanted me to add something about widgets.

@nthiery

This comment has been minimized.

Contributor

nthiery commented Aug 23, 2018

Yeah; in the mean time, I realized that it was already there in Section 4.7; sorry for that noise:

- ...
- Improvements to Jupyter’s widgets and interact functionality to be as feature rich as in
the old Sage Notebook.
The last item was implemented by Jeroen Demeyer under OpenDreamKit funding as part of
D4.5: “Sage notebook / JUPYTER notebook convergence”.

Unless of course you see something more specific to say!

@alex-konovalov

This comment has been minimized.

Member

alex-konovalov commented Aug 24, 2018

I've a collection of the some GAP Jupyter notebooks at https://github.com/alex-konovalov/gap-teaching/ which I used at the GAP tutorial at PGTC 2018. One could also run on binder. Is this interesting for this report?

@nthiery

This comment has been minimized.

Contributor

nthiery commented Aug 27, 2018

@nthiery

This comment has been minimized.

Contributor

nthiery commented Aug 31, 2018

I integrated Alex's suggestion, and submitted.

Jeroen: thank you so much for taking the lead on this deliverable; thanks @sebasguts for contributing!
And of course thanks to all our kernel writers: we now have a pretty wide array of computational math software that are all using the same user interface (plus all the rest that Jupyter brings). Would you have just imagined this five years back in time? That's really really nice!

@nthiery nthiery added the Submitted label Aug 31, 2018

@slel

This comment has been minimized.

Contributor

slel commented Sep 3, 2018

For greater visibility, it would make sense to add binder-enabled examples
of using the GAP, MMT, PARI/GP, SageMath, Singular kernels for Jupyter at
https://github.com/jupyter/jupyter.github.io/blob/master/_data/try.yml
so they can appear at
http://jupyter.org/try

@slel

This comment has been minimized.

Contributor

slel commented Oct 28, 2018

Making everything conda-installable from the conda-forge channel
would also facilitate adoption.

See #278.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment