D4.4: Basic Jupyter interface for GAP, PARI/GP, SageMath, Singular #93

Closed
minrk opened this Issue Sep 8, 2015 · 100 comments

Comments

Projects
None yet
@minrk
Contributor

minrk commented Sep 8, 2015

The Jupyter Notebook is a web application that enables the creation and sharing of executable documents which contain live code, equations, visualizations and explanatory text. Thanks to a modular design, Jupyter can be used with any computational system that provides a so-called Jupyter kernel implementing the Jupyter messaging protocol to communicate with the notebook. OpenDreamKit therefore promotes the Jupyter notebook as user interface of choice, in particular since it is particularly suitable for building modular web based Virtual Research Environments.

This deliverable aims at ODK's main computational components all having basic Jupyter kernels implemented and distributed. Full featured Jupyter interfaces will follow up in deliverable D4.7. The SageMath Jupyter kernel is a foundation for D4.5: Sage notebook / Jupyter notebook convergence.

We have implemented basic kernels for:

Meanwhile, the following Jupyter kernel has been implemented by the community, with some help of the ODK participants:

  • SageMath (built on top of Jupyter's Python kernel)
    • see this series of trac tickets
    • Part of the SageMath distribution
    • SageMathCloud integration: native
    • Features: TAB-completion, syntax highlighting, pretty printing, 2D/3D plots, documentation lookup, live manual, code introspection, output history, interruption, timing, debugger.
    • Interactive widgets (IPyWidgets): see D4.5

Finally, the following kernel has been made available within SageMath:

@minrk minrk added this to the D4.4 milestone Sep 8, 2015

@jdemeyer jdemeyer changed the title from D4.4: Basic Jupyter interface for GAP, PARI/GP , Sage , Singular to D4.4: Basic Jupyter interface for GAP, PARI/GP , SageMath, Singular Sep 9, 2015

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Sep 9, 2015

Contributor

For SageMath, a basic implementation is already part of SageMath itself.
Some improvements need review at:

Update: these three tickets were given positive review and were closed
as part of developer release "Sage 6.9.beta7" in 2015-09.
The corresponding functionality exists in public releases of SageMath
since version 6.9, which was released on 2015-10-09.
See changelog at http://www.sagemath.org/changelogs/sage-6.9.txt

Contributor

jdemeyer commented Sep 9, 2015

For SageMath, a basic implementation is already part of SageMath itself.
Some improvements need review at:

Update: these three tickets were given positive review and were closed
as part of developer release "Sage 6.9.beta7" in 2015-09.
The corresponding functionality exists in public releases of SageMath
since version 6.9, which was released on 2015-10-09.
See changelog at http://www.sagemath.org/changelogs/sage-6.9.txt

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Sep 9, 2015

Contributor

Basic PARI/GP Jupyter kernel: https://github.com/jdemeyer/pari_jupyter

Contributor

jdemeyer commented Sep 9, 2015

Basic PARI/GP Jupyter kernel: https://github.com/jdemeyer/pari_jupyter

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
Contributor

jdemeyer commented Feb 23, 2016

@sebasguts

This comment has been minimized.

Show comment
Hide comment
@sebasguts

sebasguts Feb 23, 2016

Contributor

I have started a basic interface to Singular here: https://github.com/sebasguts/jupyter-singular
Currently maybe an early beta. Also, one needs the following python module for the Singular bindings: https://github.com/sebasguts/SingularPython

Contributor

sebasguts commented Feb 23, 2016

I have started a basic interface to Singular here: https://github.com/sebasguts/jupyter-singular
Currently maybe an early beta. Also, one needs the following python module for the Singular bindings: https://github.com/sebasguts/SingularPython

@embray

This comment has been minimized.

Show comment
Hide comment
@embray

embray Feb 23, 2016

Contributor

👍

Contributor

embray commented Feb 23, 2016

👍

@jpflori

This comment has been minimized.

Show comment
Hide comment
@jpflori

jpflori Feb 24, 2016

Contributor

Hi Jeroen,

Can you report on what you plan to bind here?
Is it mainly meant to give an interface similar to Singular interpreter?
Or is it more intricate like Sage library-like (broken) interface?

Best,

2016-02-24 0:16 GMT+09:00 Erik Bray notifications@github.com:

[image: 👍]


Reply to this email directly or view it on GitHub
#93 (comment)
.

Jean-Pierre Flori

Contributor

jpflori commented Feb 24, 2016

Hi Jeroen,

Can you report on what you plan to bind here?
Is it mainly meant to give an interface similar to Singular interpreter?
Or is it more intricate like Sage library-like (broken) interface?

Best,

2016-02-24 0:16 GMT+09:00 Erik Bray notifications@github.com:

[image: 👍]


Reply to this email directly or view it on GitHub
#93 (comment)
.

Jean-Pierre Flori

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 24, 2016

Contributor

Hi Jeroen,

Jeroen? I guess you mean Sebastian .

Contributor

jdemeyer commented Feb 24, 2016

Hi Jeroen,

Jeroen? I guess you mean Sebastian .

@jpflori

This comment has been minimized.

Show comment
Hide comment
@jpflori

jpflori Feb 24, 2016

Contributor

Oh yes!
Sorry about that.
For some mysterious reason I assumed that the same person posted the two
first mails in this thread.

2016-02-24 16:15 GMT+09:00 jdemeyer notifications@github.com:

Hi Jeroen,

Jeroen? I guess you mean Sebastian .


Reply to this email directly or view it on GitHub
#93 (comment)
.

Jean-Pierre Flori

Contributor

jpflori commented Feb 24, 2016

Oh yes!
Sorry about that.
For some mysterious reason I assumed that the same person posted the two
first mails in this thread.

2016-02-24 16:15 GMT+09:00 jdemeyer notifications@github.com:

Hi Jeroen,

Jeroen? I guess you mean Sebastian .


Reply to this email directly or view it on GitHub
#93 (comment)
.

Jean-Pierre Flori

@sebasguts

This comment has been minimized.

Show comment
Hide comment
@sebasguts

sebasguts Feb 24, 2016

Contributor

No worries :).
Current plan is to have an interpreter-like interface, but with some additional features like displaying pictures in the notebook and supporting ipywidgets. What kind of features would you like to see?

Contributor

sebasguts commented Feb 24, 2016

No worries :).
Current plan is to have an interpreter-like interface, but with some additional features like displaying pictures in the notebook and supporting ipywidgets. What kind of features would you like to see?

@nthiery nthiery modified the milestones: Month 12: 2016-08-31, D4.4 Mar 22, 2016

@jdemeyer jdemeyer changed the title from D4.4: Basic Jupyter interface for GAP, PARI/GP , SageMath, Singular to D4.4: Basic Jupyter interface for GAP, PARI/GP, SageMath, Singular May 11, 2016

@markuspf

This comment has been minimized.

Show comment
Hide comment
@markuspf

markuspf Jul 26, 2016

Member

If the GAP Jupyter notebook is supposed to go into sagemath (cloud?), someone will have to tell me how to get it there. It's not obvious to me how that works.

Member

markuspf commented Jul 26, 2016

If the GAP Jupyter notebook is supposed to go into sagemath (cloud?), someone will have to tell me how to get it there. It's not obvious to me how that works.

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Jul 26, 2016

Contributor

On Tue, Jul 26, 2016 at 08:41:24AM -0700, Markus Pfeiffer wrote:

If the GAP Jupyter notebook is supposed to go into sagemath (cloud?),
someone will have to tell me how to get it there. It's not obvious to
me how that works.

I guess this could boil down to something like:

  • Preparing a gap package with everything needed to run the gap kernel
    (if needed)

  • Preparing a Sage package. That is essentially an install shell
    script in /build/pkg/jupyter_kernel_gap/ + some metadata
    files; see:
    http://www.sagemath.org/git-developer-guide/packaging.html.

    The install script would:

    • install the gap package in the gap tree in the Sage distribution:
      /local/gap/latest
    • copy the kernel file in:
      /local/share/jupyter/kernels
  • Creating a ticket to get this as optional and then standard Sage
    package.

We certainly can help for the latter parts!

Cheers,
Nicolas

Contributor

nthiery commented Jul 26, 2016

On Tue, Jul 26, 2016 at 08:41:24AM -0700, Markus Pfeiffer wrote:

If the GAP Jupyter notebook is supposed to go into sagemath (cloud?),
someone will have to tell me how to get it there. It's not obvious to
me how that works.

I guess this could boil down to something like:

  • Preparing a gap package with everything needed to run the gap kernel
    (if needed)

  • Preparing a Sage package. That is essentially an install shell
    script in /build/pkg/jupyter_kernel_gap/ + some metadata
    files; see:
    http://www.sagemath.org/git-developer-guide/packaging.html.

    The install script would:

    • install the gap package in the gap tree in the Sage distribution:
      /local/gap/latest
    • copy the kernel file in:
      /local/share/jupyter/kernels
  • Creating a ticket to get this as optional and then standard Sage
    package.

We certainly can help for the latter parts!

Cheers,
Nicolas

@dimpase

This comment has been minimized.

Show comment
Hide comment
@dimpase

dimpase Jul 27, 2016

Contributor

My understanding that this should happen simultaneously (ideally, at least) with libGAP (a Sage package, a C-library interface to GAP kernel) being replaced with what Markus is going to provide.

And GAP jupyter interface would become another way to launch GAP as a part of "Sage distro". Currently we have "sage --gap" launching GAP in terminal, then we would have as well something like "sage --gap-jupyter". I don't know how this will be packaged in GAP. Is there a (half)working prototype already?

Contributor

dimpase commented Jul 27, 2016

My understanding that this should happen simultaneously (ideally, at least) with libGAP (a Sage package, a C-library interface to GAP kernel) being replaced with what Markus is going to provide.

And GAP jupyter interface would become another way to launch GAP as a part of "Sage distro". Currently we have "sage --gap" launching GAP in terminal, then we would have as well something like "sage --gap-jupyter". I don't know how this will be packaged in GAP. Is there a (half)working prototype already?

@markuspf

This comment has been minimized.

Show comment
Hide comment
@markuspf

markuspf Aug 1, 2016

Member

Thanks @nthiery.

I don't think the Jupyter Kernel is an appropriate GAP Package, since it's a program that wraps around GAP (and can't be loaded in any sensible way).
For the initial implementation as it is available now we only need to have the kernel installed for Jupyter, and make sure that the correct configuration (i.e. the GAP executable) is available.

There might be some merit in distributing this wrapper as part of GAP 4.9.

Is there any way for me to get access to a sage development system without having to install it myself? My operating system is not supported by sage (and it seems a lot of effort to get any development system to run at all).

With the prototype kernel, of course some of the requirements for contributions might be debated by the sage community.

At this point it is important that we provide a deliverable which is not just a link, and I am not sure what that means for a "Basic Jupyter Interface for GAP". The kernel has been available since the kick-off meeting in September last year, and I have worked on improving it since.

The C library is a different beast entirely and in my mind has little to do with this deliverable at this point.

Member

markuspf commented Aug 1, 2016

Thanks @nthiery.

I don't think the Jupyter Kernel is an appropriate GAP Package, since it's a program that wraps around GAP (and can't be loaded in any sensible way).
For the initial implementation as it is available now we only need to have the kernel installed for Jupyter, and make sure that the correct configuration (i.e. the GAP executable) is available.

There might be some merit in distributing this wrapper as part of GAP 4.9.

Is there any way for me to get access to a sage development system without having to install it myself? My operating system is not supported by sage (and it seems a lot of effort to get any development system to run at all).

With the prototype kernel, of course some of the requirements for contributions might be debated by the sage community.

At this point it is important that we provide a deliverable which is not just a link, and I am not sure what that means for a "Basic Jupyter Interface for GAP". The kernel has been available since the kick-off meeting in September last year, and I have worked on improving it since.

The C library is a different beast entirely and in my mind has little to do with this deliverable at this point.

@dimpase

This comment has been minimized.

Show comment
Hide comment
@dimpase

dimpase Aug 1, 2016

Contributor

What kind of OS is this? Do you mean to say there is no binary available, or that it's really unsupported, like it's something like OpenBSD or Hurd?

Contributor

dimpase commented Aug 1, 2016

What kind of OS is this? Do you mean to say there is no binary available, or that it's really unsupported, like it's something like OpenBSD or Hurd?

@dimpase

This comment has been minimized.

Show comment
Hide comment
@dimpase

dimpase Aug 1, 2016

Contributor

If your box supports VMWare or VirtualBox, you can install a supported OS into it and build Sage there.

Contributor

dimpase commented Aug 1, 2016

If your box supports VMWare or VirtualBox, you can install a supported OS into it and build Sage there.

@videlec

This comment has been minimized.

Show comment
Hide comment
@videlec

videlec Aug 1, 2016

Contributor

... or qemu, docker. You can also open an account on https://cloud.sagemath.com where you can do Sage development online (not very handy). - for development you'd most probably need a paid-for upgrade.

Contributor

videlec commented Aug 1, 2016

... or qemu, docker. You can also open an account on https://cloud.sagemath.com where you can do Sage development online (not very handy). - for development you'd most probably need a paid-for upgrade.

@slel

This comment has been minimized.

Show comment
Hide comment
@slel

slel Aug 2, 2016

Contributor

To use SageMathCloud at https://cloud.sagemath.com for Sage development,

  • open an account,
  • create a project,
  • email help@sagemath.com with the project id
    and ask them to upgrade the project for Sage development
  • you can ssh into your project (after starting it from the web interface)
  • a good tool is tmux (or screen) in combination with ssh
  • once your project is upgraded you have network access from it,
    so you can git clone etc.
Contributor

slel commented Aug 2, 2016

To use SageMathCloud at https://cloud.sagemath.com for Sage development,

  • open an account,
  • create a project,
  • email help@sagemath.com with the project id
    and ask them to upgrade the project for Sage development
  • you can ssh into your project (after starting it from the web interface)
  • a good tool is tmux (or screen) in combination with ssh
  • once your project is upgraded you have network access from it,
    so you can git clone etc.
@dimpase

This comment has been minimized.

Show comment
Hide comment
@dimpase

dimpase Aug 2, 2016

Contributor

By the way, it is interesting to hear that it has nothing to do with libGAP or its replacement. I believe that back in Bremen we heard something different, although I might have misunderstood this.

Contributor

dimpase commented Aug 2, 2016

By the way, it is interesting to hear that it has nothing to do with libGAP or its replacement. I believe that back in Bremen we heard something different, although I might have misunderstood this.

@markuspf

This comment has been minimized.

Show comment
Hide comment
@markuspf

markuspf Aug 4, 2016

Member

We just published a Docker container to deploy the basic GAP/Jupyter interface here: https://github.com/gap-system/gap-docker-jupyter, I also wrote a blogpost about it there: http://opendreamkit.org/activities/2016-08-03-gap-docker-jupyter/ (btw, these activities are not very discoverable or visible on the website).

The roadmap for the next iteration of the Jupyter interface for GAP is to export an API from GAP for the purposes of using it as a library in the Jupyter kernel, and to get rid of the REPL wrapping, as its really fragile. Currently work on this is scheduled for September. We also have two project students contributing GUI elements for method selection/availability, subgroup explorer, and hopefully also an interactive Todd-Coxeter, as currently available in xgap.

I hope the CodeMirror GAP syntax highlighting and formatting helper will be ready for merge sooner rather than later, too.

Member

markuspf commented Aug 4, 2016

We just published a Docker container to deploy the basic GAP/Jupyter interface here: https://github.com/gap-system/gap-docker-jupyter, I also wrote a blogpost about it there: http://opendreamkit.org/activities/2016-08-03-gap-docker-jupyter/ (btw, these activities are not very discoverable or visible on the website).

The roadmap for the next iteration of the Jupyter interface for GAP is to export an API from GAP for the purposes of using it as a library in the Jupyter kernel, and to get rid of the REPL wrapping, as its really fragile. Currently work on this is scheduled for September. We also have two project students contributing GUI elements for method selection/availability, subgroup explorer, and hopefully also an interactive Todd-Coxeter, as currently available in xgap.

I hope the CodeMirror GAP syntax highlighting and formatting helper will be ready for merge sooner rather than later, too.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Aug 8, 2016

Contributor

we would have as well something like "sage --gap-jupyter".

No, you just run sage -n jupyter and start a GAP notebook.

Contributor

jdemeyer commented Aug 8, 2016

we would have as well something like "sage --gap-jupyter".

No, you just run sage -n jupyter and start a GAP notebook.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Aug 8, 2016

Contributor

At this point it is important that we provide a deliverable which is not just a link, and I am not sure what that means for a "Basic Jupyter Interface for GAP". The kernel has been available since the kick-off meeting in September last year, and I have worked on improving it since.

I think a basic Jupyter interface means: a way to use GAP within Jupyter that actually works well enough to use in production. It doesn't need to support stuff like TAB-completion or syntax highlighting, but it should correctly run GAP commands.

The github page for https://github.com/gap-packages/jupyter-gap still has the text "Please note that this software is still in the early stages of development and names of kernels, assumptions, and architecture might change on a day-to-day basis without notice."

For me, this reads like "don't use this code yet".

Contributor

jdemeyer commented Aug 8, 2016

At this point it is important that we provide a deliverable which is not just a link, and I am not sure what that means for a "Basic Jupyter Interface for GAP". The kernel has been available since the kick-off meeting in September last year, and I have worked on improving it since.

I think a basic Jupyter interface means: a way to use GAP within Jupyter that actually works well enough to use in production. It doesn't need to support stuff like TAB-completion or syntax highlighting, but it should correctly run GAP commands.

The github page for https://github.com/gap-packages/jupyter-gap still has the text "Please note that this software is still in the early stages of development and names of kernels, assumptions, and architecture might change on a day-to-day basis without notice."

For me, this reads like "don't use this code yet".

@dimpase

This comment has been minimized.

Show comment
Hide comment
@dimpase

dimpase Aug 8, 2016

Contributor

@jdemeyer : "No, you just run sage -n jupyter and start a GAP notebook."
do you mean "choose GAP kernel" in "Kernel" menu?

Contributor

dimpase commented Aug 8, 2016

@jdemeyer : "No, you just run sage -n jupyter and start a GAP notebook."
do you mean "choose GAP kernel" in "Kernel" menu?

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Aug 8, 2016

Contributor

That's one way but I really meant choose "GAP" from the "New" menu.

Contributor

jdemeyer commented Aug 8, 2016

That's one way but I really meant choose "GAP" from the "New" menu.

@bpilorget

This comment has been minimized.

Show comment
Hide comment
@bpilorget

bpilorget Aug 30, 2016

Contributor

Is the report close to an end?

Contributor

bpilorget commented Aug 30, 2016

Is the report close to an end?

@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Aug 30, 2016

Contributor

@nthiery Paris-Sud is the leader on this as well. Let me know if there is anything I can do to help finish this report.

Contributor

minrk commented Aug 30, 2016

@nthiery Paris-Sud is the leader on this as well. Let me know if there is anything I can do to help finish this report.

@bpilorget

This comment has been minimized.

Show comment
Hide comment
@bpilorget

bpilorget Aug 30, 2016

Contributor

The README gives info on how to write deliverables (scroll down): https://github.com/OpenDreamKit/OpenDreamKit

Contributor

bpilorget commented Aug 30, 2016

The README gives info on how to write deliverables (scroll down): https://github.com/OpenDreamKit/OpenDreamKit

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Sep 1, 2016

Contributor

Oops, right, PSud is lead here. Let's gets things moving, and aim for having kernels for Pari, Singular, and GAP installable in Sage as optional packages.

  • @markuspf: I am working on an optional spkg for Sage which basically runs the installation instructions posted on your git repository. The GAP kernel gets properly installed, but there seem to be problem when starting GAP itself. Would you be available at some point tomorrow Friday to work on this? Afternoon is better. Thanks!
  • @sebasguts: what's the status of the Singular kernel? Is it in a state where we could consider including it as an optional package for Sage? Does it requres Singular 3 or 4?
  • @jdemeyer: is there an spkg or pip package for the Pari Kernel? If not, should we make one on Monday?
Contributor

nthiery commented Sep 1, 2016

Oops, right, PSud is lead here. Let's gets things moving, and aim for having kernels for Pari, Singular, and GAP installable in Sage as optional packages.

  • @markuspf: I am working on an optional spkg for Sage which basically runs the installation instructions posted on your git repository. The GAP kernel gets properly installed, but there seem to be problem when starting GAP itself. Would you be available at some point tomorrow Friday to work on this? Afternoon is better. Thanks!
  • @sebasguts: what's the status of the Singular kernel? Is it in a state where we could consider including it as an optional package for Sage? Does it requres Singular 3 or 4?
  • @jdemeyer: is there an spkg or pip package for the Pari Kernel? If not, should we make one on Monday?
@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Sep 1, 2016

Contributor

@markuspf, @dimpase: oh wait, but we don't have io and json installed in Sage's gap, even with the optional gap_packages spkg. That probably explains the failure.

@dimpase: would it be meaningful / easy to add those to gap_packages?

Contributor

nthiery commented Sep 1, 2016

@markuspf, @dimpase: oh wait, but we don't have io and json installed in Sage's gap, even with the optional gap_packages spkg. That probably explains the failure.

@dimpase: would it be meaningful / easy to add those to gap_packages?

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Sep 1, 2016

Contributor

Ok, once io and json installed by hand, this seems to work smoothly. Cool :-)
So I'll write an spkg tomorrow, and then we have to decide how to "package" io and json in Sage (each in it's own spkg, in gap_packages, ...).

Contributor

nthiery commented Sep 1, 2016

Ok, once io and json installed by hand, this seems to work smoothly. Cool :-)
So I'll write an spkg tomorrow, and then we have to decide how to "package" io and json in Sage (each in it's own spkg, in gap_packages, ...).

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Sep 19, 2016

Contributor

@sebasguts, @markuspf, @jdemeyer: ping for the screenshots!

Contributor

nthiery commented Sep 19, 2016

@sebasguts, @markuspf, @jdemeyer: ping for the screenshots!

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Sep 19, 2016

Contributor

Besides, we are missing pip/Sage packages for GAP, Pari (just the pip one) and Singular. Anyone has time to make progress on them? Once the pip package is done, the work for the Sage one is essentially trivial; I could possibly handle it.

Contributor

nthiery commented Sep 19, 2016

Besides, we are missing pip/Sage packages for GAP, Pari (just the pip one) and Singular. Anyone has time to make progress on them? Once the pip package is done, the work for the Sage one is essentially trivial; I could possibly handle it.

@sebasguts

This comment has been minimized.

Show comment
Hide comment
@sebasguts

sebasguts Sep 19, 2016

Contributor

@nthiery: I just pushed a screenshot. I will try to do the pip packages soon.

Contributor

sebasguts commented Sep 19, 2016

@nthiery: I just pushed a screenshot. I will try to do the pip packages soon.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Sep 20, 2016

Contributor

@nthiery: There is a pip package for pari_jupyter (it is even linked from the issue description at the top)

I will have a look at screenshot and demo.

Contributor

jdemeyer commented Sep 20, 2016

@nthiery: There is a pip package for pari_jupyter (it is even linked from the issue description at the top)

I will have a look at screenshot and demo.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Sep 20, 2016

Contributor

Additional instructions: put the screenshots as screenshot-.png files in https://github.com/OpenDreamKit/OpenDreamKit/tree/master/WP4/D4.4. Also save the corresponding notebook as demo-.ipynb there

Done for PARI.

Contributor

jdemeyer commented Sep 20, 2016

Additional instructions: put the screenshots as screenshot-.png files in https://github.com/OpenDreamKit/OpenDreamKit/tree/master/WP4/D4.4. Also save the corresponding notebook as demo-.ipynb there

Done for PARI.

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Sep 20, 2016

Contributor

On Tue, Sep 20, 2016 at 04:29:58AM -0700, jdemeyer wrote:

[1]@nthiery: There is a pip package for pari_jupyter (it is even linked
from the issue description at the top)

Yes, sorry, I just meant GAP / Singular.

Thanks Jeroen and Sebastian for the screenshots!

Contributor

nthiery commented Sep 20, 2016

On Tue, Sep 20, 2016 at 04:29:58AM -0700, jdemeyer wrote:

[1]@nthiery: There is a pip package for pari_jupyter (it is even linked
from the issue description at the top)

Yes, sorry, I just meant GAP / Singular.

Thanks Jeroen and Sebastian for the screenshots!

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Sep 20, 2016

Contributor

Crude preliminary report pushed. Anything to be put there besides the screenshots and the above issue description?

Contributor

nthiery commented Sep 20, 2016

Crude preliminary report pushed. Anything to be put there besides the screenshots and the above issue description?

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Oct 14, 2016

Contributor

What is missing here is actual packaging of the GAP and Singular kernels and uploading them to PyPI. See https://packaging.python.org/distributing/ for general information on packaging and distributing Python projects.

@sebasguts and @markuspf: can you do that or do you need help?

Contributor

jdemeyer commented Oct 14, 2016

What is missing here is actual packaging of the GAP and Singular kernels and uploading them to PyPI. See https://packaging.python.org/distributing/ for general information on packaging and distributing Python projects.

@sebasguts and @markuspf: can you do that or do you need help?

@bpilorget

This comment has been minimized.

Show comment
Hide comment
@bpilorget

bpilorget Oct 24, 2016

Contributor

Deliverables update

@minrk As you know , during the interim review in Bremen, reviewers gave advice to improve deliverables. UPSud tried to follow their advice by updating D5.1 #107
The main critic is that deliverables should be static document. Therefore we went through the #107 report to check if all links were still working and also if the information contained on the links was necessary for the understanding of the report.
As a result when it was necessary annexes were added to the #107 report.

Can you please do the same for this deliverable and add annexes when need be?

Contributor

bpilorget commented Oct 24, 2016

Deliverables update

@minrk As you know , during the interim review in Bremen, reviewers gave advice to improve deliverables. UPSud tried to follow their advice by updating D5.1 #107
The main critic is that deliverables should be static document. Therefore we went through the #107 report to check if all links were still working and also if the information contained on the links was necessary for the understanding of the report.
As a result when it was necessary annexes were added to the #107 report.

Can you please do the same for this deliverable and add annexes when need be?

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Nov 23, 2016

Contributor

Just a crossref since we discussed the topic earlier: dynamic loading with libgap currently does not work at this stage because we compile libgap in Sage with all c functions prefixed to avoid potential name conflicts. There is a preliminary branch by Volker to remove this prefixing and thus reenable dynamic loading in libgap: https://trac.sagemath.org/ticket/19915

Contributor

nthiery commented Nov 23, 2016

Just a crossref since we discussed the topic earlier: dynamic loading with libgap currently does not work at this stage because we compile libgap in Sage with all c functions prefixed to avoid potential name conflicts. There is a preliminary branch by Volker to remove this prefixing and thus reenable dynamic loading in libgap: https://trac.sagemath.org/ticket/19915

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Jan 6, 2017

Contributor

Hi @sebasguts, @markuspf, @jdemeyer,

We will all be attending the Jupyter workshop in two weeks from now. Shall we use the occasion to have a quick sprint together and finalize this ticket? All that remains to do is the pip/sage packaging. Sitting side by side, this should be a breeze.

Contributor

nthiery commented Jan 6, 2017

Hi @sebasguts, @markuspf, @jdemeyer,

We will all be attending the Jupyter workshop in two weeks from now. Shall we use the occasion to have a quick sprint together and finalize this ticket? All that remains to do is the pip/sage packaging. Sitting side by side, this should be a breeze.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Jan 6, 2017

Contributor

+1

Note that I will arrive Tuesday evening in Edinburgh.

Contributor

jdemeyer commented Jan 6, 2017

+1

Note that I will arrive Tuesday evening in Edinburgh.

@sebasguts

This comment has been minimized.

Show comment
Hide comment
@sebasguts

sebasguts Jan 6, 2017

Contributor

Sounds good to me. I will be there the whole week, so plenty of time.

Contributor

sebasguts commented Jan 6, 2017

Sounds good to me. I will be there the whole week, so plenty of time.

@dimpase

This comment has been minimized.

Show comment
Hide comment
@dimpase

dimpase Jan 6, 2017

Contributor

I will be there only for Thursday and Friday, as I must attend to visitors in Oxford.

Contributor

dimpase commented Jan 6, 2017

I will be there only for Thursday and Friday, as I must attend to visitors in Oxford.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Jan 19, 2017

Contributor

I just volunteered to lead this deliverable.

Contributor

jdemeyer commented Jan 19, 2017

I just volunteered to lead this deliverable.

@markuspf

This comment has been minimized.

Show comment
Hide comment
@markuspf

markuspf Jan 20, 2017

Member

The GAP jupyter kernel is now available as a pip package: https://pypi.python.org/pypi/jupyter_gap_wrapper/0.8 (though I am still fiddling with the release process, in particular I'd like to synchronise the sources available from github and from pypi). Also note that I am more actively working on a standalone version using GAP itself (no python in between).

Member

markuspf commented Jan 20, 2017

The GAP jupyter kernel is now available as a pip package: https://pypi.python.org/pypi/jupyter_gap_wrapper/0.8 (though I am still fiddling with the release process, in particular I'd like to synchronise the sources available from github and from pypi). Also note that I am more actively working on a standalone version using GAP itself (no python in between).

@markuspf

This comment has been minimized.

Show comment
Hide comment
@markuspf

markuspf Jan 20, 2017

Member

Right, I renamed the package to jupyter-kernel-gap to be in line with jupyter-kernel-singular: https://pypi.python.org/pypi/jupyter-kernel-gap and I polished it a little bit.

I will get @mcmartins to integrate the syntax highlighting we have into it too (today).

Member

markuspf commented Jan 20, 2017

Right, I renamed the package to jupyter-kernel-gap to be in line with jupyter-kernel-singular: https://pypi.python.org/pypi/jupyter-kernel-gap and I polished it a little bit.

I will get @mcmartins to integrate the syntax highlighting we have into it too (today).

@sebasguts

This comment has been minimized.

Show comment
Hide comment
@sebasguts

sebasguts Jan 26, 2017

Contributor

So, even if everything is already checked in the boxes above, I will give a quick summary on the jupyter kernel for Singular:

  • Kernel is available on PyPI as jupyter_kernel_singular
  • Kernel is integrated into SageMathCloud
  • Fully functional interface to Singular
  • Either interacts directly with the Singular interpreter from Python via the PySingular Python module, available on PyPI, or
    with the REPL via pexpect.
  • IPyWidgets can be used for interactions
  • Images can be created using surf, an external program, and Singular's plot_jupyter.lib
  • Example Notebook
  • Detailed installation instructions
  • Direct link to screenshot
Contributor

sebasguts commented Jan 26, 2017

So, even if everything is already checked in the boxes above, I will give a quick summary on the jupyter kernel for Singular:

  • Kernel is available on PyPI as jupyter_kernel_singular
  • Kernel is integrated into SageMathCloud
  • Fully functional interface to Singular
  • Either interacts directly with the Singular interpreter from Python via the PySingular Python module, available on PyPI, or
    with the REPL via pexpect.
  • IPyWidgets can be used for interactions
  • Images can be created using surf, an external program, and Singular's plot_jupyter.lib
  • Example Notebook
  • Detailed installation instructions
  • Direct link to screenshot
@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Feb 6, 2017

Contributor

Dear M12 deliverable leaders,

Just a reminder that reports are due for mid-february, to buy us some time for proofreading, feedback, and final submission before February 28th. See our README for details on the process.

In practice, I'll be offline February 12-19, and the week right after will be pretty busy. Therefore, it would be helpful if a first draft could be available sometime this week, so that I can have a head start reviewing it.

Thanks in advance!

Contributor

nthiery commented Feb 6, 2017

Dear M12 deliverable leaders,

Just a reminder that reports are due for mid-february, to buy us some time for proofreading, feedback, and final submission before February 28th. See our README for details on the process.

In practice, I'll be offline February 12-19, and the week right after will be pretty busy. Therefore, it would be helpful if a first draft could be available sometime this week, so that I can have a head start reviewing it.

Thanks in advance!

@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Feb 9, 2017

Contributor

@nthiery my understanding is that this report is all complete as of November. Is there anything more to do?

Contributor

minrk commented Feb 9, 2017

@nthiery my understanding is that this report is all complete as of November. Is there anything more to do?

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Feb 10, 2017

Contributor

Hi @minrk,
For the report itself, all that remains to do is fetching the latest github issue description and adding a screenshot for the GAP interface (it currently is a copy of the screenshot for Singular).
Other than this, the more of the remaining items we can tick in the issue description, the better. @jdemeyer?

Contributor

nthiery commented Feb 10, 2017

Hi @minrk,
For the report itself, all that remains to do is fetching the latest github issue description and adding a screenshot for the GAP interface (it currently is a copy of the screenshot for Singular).
Other than this, the more of the remaining items we can tick in the issue description, the better. @jdemeyer?

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 11, 2017

Contributor

I'll have a look at this on monday.

Contributor

jdemeyer commented Feb 11, 2017

I'll have a look at this on monday.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 17, 2017

Contributor

@markuspf : could you provide an example notebook which shows a simple GAP computation? I know essentially nothing of GAP, so it's best if somebody else does that.

Contributor

jdemeyer commented Feb 17, 2017

@markuspf : could you provide an example notebook which shows a simple GAP computation? I know essentially nothing of GAP, so it's best if somebody else does that.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 21, 2017

Contributor

What exactly does "SageMathCloud integration" mean?

Contributor

jdemeyer commented Feb 21, 2017

What exactly does "SageMathCloud integration" mean?

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Feb 21, 2017

Contributor
Contributor

nthiery commented Feb 21, 2017

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 22, 2017

Contributor

I just sent a request to help@sagemath.com for the GAP and PARI/GP Jupyter kernels.

The report is updated with examples of all 4 kernels (thanks to @dimpase for the GAP example).

Note that some Sage tickets are still in needs_review, I hope that is not a problem.

Contributor

jdemeyer commented Feb 22, 2017

I just sent a request to help@sagemath.com for the GAP and PARI/GP Jupyter kernels.

The report is updated with examples of all 4 kernels (thanks to @dimpase for the GAP example).

Note that some Sage tickets are still in needs_review, I hope that is not a problem.

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Feb 22, 2017

Contributor
Contributor

nthiery commented Feb 22, 2017

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 23, 2017

Contributor

They are non controversial

Well, the PARI one might be because I'm adding lots of patches to PARI which are not (yet?) accepted by upstream.

Contributor

jdemeyer commented Feb 23, 2017

They are non controversial

Well, the PARI one might be because I'm adding lots of patches to PARI which are not (yet?) accepted by upstream.

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Feb 23, 2017

Contributor

I just proofread the issue description and report. I made some minor edits (larger screenshots, markdown syntax fixes to not confuse pandoc, fixed our Makefile so that trac references would not get messed up). I believe it's good to go, up to the tick boxes for the SMC integration. Please ping me if there is progress there, and I'll then submit. Otherwise, I'll wait until Monday and submit as is.

Cheers,

Contributor

nthiery commented Feb 23, 2017

I just proofread the issue description and report. I made some minor edits (larger screenshots, markdown syntax fixes to not confuse pandoc, fixed our Makefile so that trac references would not get messed up). I believe it's good to go, up to the tick boxes for the SMC integration. Please ping me if there is progress there, and I'll then submit. Otherwise, I'll wait until Monday and submit as is.

Cheers,

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 27, 2017

Contributor

I made some minor edits to the GitHub issue description. If you regenerate the corresponding TeX, you can submit.

Contributor

jdemeyer commented Feb 27, 2017

I made some minor edits to the GitHub issue description. If you regenerate the corresponding TeX, you can submit.

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Feb 27, 2017

Contributor

Done and submitted!
Thank you @jdemeyer, @markuspf, @sebasguts, @minrk, and all those that contributed to this deliverable. It's great for our users to have Jupyter as unified interface for all our systems.
Now on to the next stage with #96 to get the interfaces even better!

Contributor

nthiery commented Feb 27, 2017

Done and submitted!
Thank you @jdemeyer, @markuspf, @sebasguts, @minrk, and all those that contributed to this deliverable. It's great for our users to have Jupyter as unified interface for all our systems.
Now on to the next stage with #96 to get the interfaces even better!

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Apr 25, 2017

Contributor

I just noticed now that the Sage ticket for the GAP kernel still needs review: https://trac.sagemath.org/ticket/21416

If you didn't know what to do on thursday, please review this ticket!

Contributor

jdemeyer commented Apr 25, 2017

I just noticed now that the Sage ticket for the GAP kernel still needs review: https://trac.sagemath.org/ticket/21416

If you didn't know what to do on thursday, please review this ticket!

@slel

This comment has been minimized.

Show comment
Hide comment
@slel

slel Jul 30, 2017

Contributor

Regarding CoCalc (formerly SageMathCloud) integration of Jupyter kernels:

  • Singular: tested at ODK workshop at ICMS, live in CoCalc since late January 2017
  • GAP: tested at Sage Days 87, live in CoCalc since late July 2017
  • PARI: tested at Sage Days 87, live in CoCalc since late July 2017
Contributor

slel commented Jul 30, 2017

Regarding CoCalc (formerly SageMathCloud) integration of Jupyter kernels:

  • Singular: tested at ODK workshop at ICMS, live in CoCalc since late January 2017
  • GAP: tested at Sage Days 87, live in CoCalc since late July 2017
  • PARI: tested at Sage Days 87, live in CoCalc since late July 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment