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

Best hosting? #14

Open
EasyArray opened this issue Feb 13, 2022 · 12 comments
Open

Best hosting? #14

EasyArray opened this issue Feb 13, 2022 · 12 comments
Assignees
Labels
meta Using and providing Phosphorus

Comments

@EasyArray
Copy link
Owner

EasyArray commented Feb 13, 2022

Currently host notebooks on Kaggle:

  • Pros: Easy to get started, students can save their own work, teacher can view their work
  • Cons: Hard to download html/pdf, weird versioning system, no directory structure, long start-up time

Other choices:

  • My Binder: Free, loads any github repo, but times out after 10 minutes, very limited save options
  • Gradient by Paperspace: Small projects free, a bit hard to set up a plain vanilla project instead of their built-ins.
  • CoCalc: $3/student/month , interface a bit kludgy
  • Google Colaboratory: Pretty ideal, you can load from a public google doc, then save to your own google drive, BUT only runs IPython 5 or so (latest version 7). Can upgrade IPython each time you run a notebook, but that's a pain. Also indicative of a lack of support for the project.
  • Saturn Cloud

More Ideas

@EasyArray
Copy link
Owner Author

@havijw : would you be interested in trying to get the LING 516 notebooks running on Gradient?

@havijw
Copy link
Collaborator

havijw commented Feb 13, 2022

Just tried getting things set up in gradient. Honestly it's not a great experience - they're really into setting things up for ML and like you said, it's hard to set up a vanilla project. A bigger problem is that the environment (at least the one I chose) doesn't have graphviz installed. You can install it through pip within the notebook, but that still doesn't work because the non-python version of graphviz needs to be installed on the system. Maybe this fixable by running commands through sys, but that feels a little sketchy and I don't see a ton of upside over Kaggle.

@EasyArray
Copy link
Owner Author

Thanks for trying it out! I've also been experimenting with My Binder a bit. You can actually save your work to the browser, or your hard disk, even after the session times out, as long as you still have the browser tab open. That might actually be a viable option, especially if we packaged the code and the notebooks into a single repository.

@EasyArray
Copy link
Owner Author

@havijw
Copy link
Collaborator

havijw commented Feb 15, 2022

Nice, looks great! Basically JupyterLab online. Much easier to download as html and maybe there's a way to have it install LaTeX to export directly to pdf? The only thing that would concern me is that saving to browser storage isn't ideal — when I did it in Chrome, quit Chrome, and then opened it again, the file wasn't saved any more. Is there a better way to handle saving/sharing?

@havijw havijw added the meta Using and providing Phosphorus label Feb 23, 2022
@EasyArray
Copy link
Owner Author

I posted online about the issue saving notebooks on mybinder.org and someone suggested this JupyterLab extension, which allows you to integrate with a GitHub repo:
https://github.com/jupyterlab/jupyterlab-git

I wonder what the absolute minimum each student would need to do each time a new Binder instance spun in order to make this work...

@havijw
Copy link
Collaborator

havijw commented Feb 25, 2022

Interesting! I would imagine you'd have to reconnect to the repo every time you open a new instance though, unless Binder can remember which repo it's coming from. But if it knows which repo to look at then it should just be a pull with each new instance.

@EasyArray
Copy link
Owner Author

EasyArray commented Mar 16, 2022

Here is another interesting option: JupyterLab completely in the browser: https://github.com/jupyterlite/jupyterlite

Could potentially combine with the jupyterlab-github extension to be exactly what we need! (Or people can just always use the same browser to work on a single homework.)
https://github.com/jupyterlab/jupyterlab-github

@EasyArray
Copy link
Owner Author

@havijw Could be a good standalone project for you: getting phosphorus running on a static site serving jupyterlite + jupyterlab-github

@havijw
Copy link
Collaborator

havijw commented Mar 18, 2022

I'd be happy to set this up! Just so I'm clear, what purpose is jupyterlab-github serving? Is the idea that people can use it to save their files? Or to make sure the latest version of phosphorus is installed?

@EasyArray
Copy link
Owner Author

The idea would be to have people connect to somewhere (github is just one possibility) to save their work to be able to access it from multiple computers.

@EasyArray
Copy link
Owner Author

Here is an even better option (google drive) but I've heard it's not that reliable. Worth a shot though: https://github.com/jupyterlab/jupyterlab-google-drive .

@havijw havijw self-assigned this Mar 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Using and providing Phosphorus
Projects
None yet
Development

No branches or pull requests

2 participants