Skip to content
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

Closed
15 of 22 tasks
minrk opened this issue Sep 8, 2015 · 49 comments
Closed
15 of 22 tasks

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

minrk opened this issue Sep 8, 2015 · 49 comments
Assignees
Labels

Comments

@minrk
Copy link
Contributor

minrk commented Sep 8, 2015

For the basic Jupyter interface, see #93.

@defeo
Copy link
Contributor

defeo commented May 11, 2016

Trac ticket 20589 relates to this.

@minrk
Copy link
Contributor Author

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
Copy link
Contributor

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
Copy link
Contributor

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 D4.7: Full featured Jupyter interface for GAP, PARI/GP , Singular D4.7: Full featured Jupyter interface for GAP, PARI/GP, Singular Jan 6, 2017
@jdemeyer
Copy link
Contributor

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
Copy link
Contributor Author

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
Copy link
Contributor Author

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
Copy link
Contributor

nthiery commented Jul 14, 2017 via email

@videlec
Copy link
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
Copy link
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
Copy link
Member

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
Copy link
Contributor

@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
Copy link
Member

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
Copy link
Contributor

nthiery commented Aug 17, 2017 via email

@jdemeyer
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Contributor

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

@slel
Copy link
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
Copy link
Contributor

nthiery commented Jul 13, 2018 via email

@jdemeyer
Copy link
Contributor

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
Copy link
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
Copy link
Contributor

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

@jdemeyer
Copy link
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
Copy link
Contributor

nthiery commented Aug 11, 2018 via email

@nthiery
Copy link
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
Copy link
Contributor

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

@nthiery
Copy link
Contributor

nthiery commented Aug 23, 2018

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

@jdemeyer
Copy link
Contributor

I thought you wanted me to add something about widgets.

@nthiery
Copy link
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!

@olexandr-konovalov
Copy link
Member

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
Copy link
Contributor

nthiery commented Aug 27, 2018 via email

@nthiery
Copy link
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!

@slel
Copy link
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
Copy link
Contributor

slel commented Oct 28, 2018

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

See #278.

@IzabelaFaguet IzabelaFaguet added FormatCheck Checked the format of the issue description delivered and removed Submitted labels Dec 7, 2018
@IzabelaFaguet
Copy link
Contributor

Accepted by the EU on December 5th.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests