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

Can this work on Deepnote? #5

Open
nathancarter opened this issue May 22, 2021 · 10 comments
Open

Can this work on Deepnote? #5

nathancarter opened this issue May 22, 2021 · 10 comments

Comments

@nathancarter
Copy link

Deepnote is a cloud Jupyter provider that's much more powerful than Binder and gives free accounts for everyone, plus extra support for educational clients. I've used it a lot in data science classes. They permit you to bring your own Docker container (scroll down that page) to run custom Jupyter kernels. If you do, they have custom launch buttons just like Binder does. It would be great to have this more sophisticated alternative available, if it can be made to work. Features include persistent projects with easy upload/download of all file types, terminal access, PDF export, real-time collaboration with multiple cursors, comments, free notebook publishing, great UI, etc.

@olexandr-konovalov
Copy link
Member

That may be interesting to investigate, thanks - maybe something for @ZachNewbery if you're interested to try?

@ZachNewbery
Copy link

ZachNewbery commented Aug 9, 2021

Hey @nathancarter, I had the chance to play around a bit with Deepnote making use of the gapsystem/gap-docker container. Right now, it seems that the Docker container is too large (~5.12GB) for Deepnote's image limit of 5GB.

I did also find out rather late in my exploration that Deepnote blacklists jupyter as a package (from this):

Blacklisted packages There are 2 blacklisted packages: jupyter and jedi. These are packages that interfere with the way Deepnote works and their installation would break your environment. In init.ipynb , we scan the requirements files for those packages and skip their installation if they are there.

so I don't think it's even possible even if we were to trim down the image size unfortunately, but we will try it anyway and see if it does happen to work.

@olexandr-konovalov
Copy link
Member

So, we would have to provide a custom-built container for Deepnote. First try could be based on https://github.com/gap-system/gap-docker/blob/master/Dockerfile, but don't run full ../bin/BuildPackages.sh - instead, build only packages needed for JupyterKernel.

@nathancarter
Copy link
Author

nathancarter commented Aug 10, 2021 via email

@olexandr-konovalov
Copy link
Member

olexandr-konovalov commented Aug 10, 2021

(oops, accidentally closed - now reopened)

@ZachNewbery
Copy link

After a bit of playing around, I've got what I believe to be a working version of GAP in Deepnote. I've created a repository here which stores all the necessary instructions & config to open a Deepnote session using GAP!

@ZachNewbery
Copy link

I do believe that the changes I make to init.ipynb could possibly be made redundant, as the only changes it has are symlink commands, so am having a look at getting them inserted somewhere in the Dockerfile

@nathancarter
Copy link
Author

Great work!

Is there no way to configure a project so that it remembers the correct container in which the project should be run? That is, can we get to the point where the user can skip the step of opening the environment tab and manually rebuilding the container?

@olexandr-konovalov
Copy link
Member

very nice @ZachNewbery - I've tried to follow your instructions at https://github.com/ZachNewbery/try-gap-in-deepnote and it all worked. Let's continue further discussions in that repository's issue tracker.

@ZachNewbery
Copy link

As a quick update -- have been doing some investigation in a personal repo which has led to the construction of a docker container (hosted on Github's container repo) that can be added as an image to Deepnote for faster access to the GAP kernel here. Atm I'm just writing up some documentation for it, but if you'd like you can use the container using the container address ghcr.io/gap-system/gap-docker-deepnote:main :))

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

No branches or pull requests

3 participants