Macaulay2 and GAP in Jupyter

I’m running Anaconda on my laptop and was wondering Would it be possible to include a distribution of Macaulay2 and GAP with Jupyter? How difficult would this be to include?

Installing a Jupyter package generally only provides its own dependencies, and usually won’t bring along domain-specific packages.

As for getting them installed by other means:


It appears this is available from conda-forge.

This could be captured in an environment.yml that would work on binder or locally:

  - conda-forge
  - gap

Or installed directly:

mamba install -c conda-forge gap


This is not on conda-forge (or any other channel on You could request it on the staged-recipes repo.

Then using in jupyter:

It sort of seems like both of those are domain-specific languages: it might be possible to write a wrapper kernel. Basing it on ipykernel has a lot of advantages, as it is possible to reuse most of the machinery, and for now, is basically guaranteed to be installed on any Jupyter system. A more direct approach might be a xeus implementation, which would be more direct at the C level.

Alternately, one could run them through more established kernels, just by shelling out.