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
Comments
Trac ticket 20589 relates to this. |
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?) |
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... |
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. |
I would say a full-featured Jupyter kernel means:
omitting (with reason) any individual item, as appropriate. |
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. |
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.
+1
I would add: distribution of the kernel with Sage (preferably as a
standard package) and installation on CoCalc (possibly as a side
effect of the former). It could be reasonable for the kernel to be
included as well in the distribution of the relevant component itself.
Possibly also some of the items at the end of the description of:
#94
@jdemeyer: which of the above would be willing to handle? For the
others (plausibly those requiring javascript work) we will need to
find someone!
Cheers,
Nicolas
|
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? |
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. |
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. |
There is the possibility to plot images, using surf. Does this count as rich output? |
Dear Jupyter kernel writers,
Of course it's always good to look over each other shoulders for
inspiration of what could be useful features. Yet each component
(GAP/Singular/...) is different in its use cases. Rather than trying
to tick boxes from a uniform list of should-have features, let's use
this deliverable as an occasion to look at the feedback from users of
each basic kernel, and devote some time to implement the most
requested features. If this requires a couple more weeks, that's ok.
By the way: it would be good to include in the report some
quantitative and/or qualitative metrics of actual use of each kernel.
Example of good qualitative metric: a brief mention of Wolfram's use
of Jupyter for teaching Singular at AIMS, with a link to a blog post
on the topic.
|
I'm sorry to say this, but I do not know anybody actually using one of these kernels. |
Well, modulo the installation issues regarding The problem is that surf-in-Jupyter only needs a small subset of the full Anyway, I don't know how relevant this is to this deliverable, but I thought that it should be mentioned. |
Somebody added xeus-cling on this page, but can we really consider that as part of ODK? |
I think it's ok, especially since
|
Somebody added xeus-cling on this page, but can we really consider that
as part of ODK?
ODK indeed did not initiate it, but Loïc Gouarin made heavy
contributions, and I contributed by early adoption (beta testing, bug
reports, feature requests, ...).
|
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. |
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? |
You can copy-paste from https://github.com/KWARC/OpenDreamKit/tree/master/WP4/D4.11 |
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. |
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, especially in the same reporting period.
Ah, right, good point. Nevertheless, it's still worthwhile mentioning
with a cross-reference "implemented as part of D4.5", to give a bit of
the big picture to the reader.
Btw: on #94 the item for interacts/widgets is not checked; any reason? Otherwise go ahead an check it.
|
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. |
I made minor changes to the MMT paragraph. OK otherwise. |
Thanks @florian-rabe! |
I thought you wanted me to add something about widgets. |
Yeah; in the mean time, I realized that it was already there in Section 4.7; sorry for that noise:
Unless of course you see something more specific to say! |
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? |
I've a collection of the some GAP Jupyter notebooks at
[1]https://github.com/alex-konovalov/gap-teaching/ which I used at the
GAP tutorial at [2]PGTC 2018. One could also run on binder. Is this
interesting for this report?
Thanks for the suggestion Alex! Could you add a few lines about it around:
https://github.com/OpenDreamKit/OpenDreamKit/blob/master/WP4/D4.7/report.tex#L111
We should also have a use case around authoring interactive course
notes on our web page, with links to instances including the above:
https://opendreamkit.org/tag/use-case
Volunteers welcome :-)
|
I integrated Alex's suggestion, and submitted. Jeroen: thank you so much for taking the lead on this deliverable; thanks @sebasguts for contributing! |
For greater visibility, it would make sense to add binder-enabled examples |
Making everything conda-installable from the conda-forge channel See #278. |
Accepted by the EU on December 5th. |
For the basic Jupyter interface, see #93.
The text was updated successfully, but these errors were encountered: