datacarpentry / python-ecology-lesson

Data Analysis and Visualization in Python for Ecologists
https://datacarpentry.org/python-ecology-lesson
Other
160 stars 307 forks source link

Web based notebook for people with install issues #20

Closed tracykteal closed 2 years ago

tracykteal commented 8 years ago

It would be nice to have a web-based solution for IPython notebooks as a back up if people have install issues. What are the available options for this? Once we know what they are, we can make a note to instructors in this lesson.

tracykteal commented 8 years ago

@cmacdonell suggested JuliaBox (https://juliabox.org) It is there for Julia, but you can start a new notebook in Python 2.0 as well as Julia. It seems to work really well, with the caveat that it's Python 2.0 and we're now teaching 3.0.

cmacdonell commented 8 years ago

Hi, there are two additional things I really like about Juliabox. In the tabs at the top there is a console and a file upload. In particular with the console, pip and git are installed. With a quick test, I was able to install pandas via pip, upload the surveys.csv data file (from python-ecology) and complete the summary challenge of 01-starting-with-data from python-ecology. matplotlib seems to already be installed (which makes sense for Julia).

In addition to the notebook, the console could easily be used to complete shell lessons. Python 3 would be nice, but I think a learner could get through any shell, git and jupyter notebook lessons with this site.

image

cmacdonell commented 8 years ago

JuliaBox is open source, based on docker.

https://github.com/JuliaLang/JuliaBox

I'll see if I can get it running. From there, Python 3 should be fairly straightforward.

qjcg commented 8 years ago

Just seeing this discussion now, and thought I'd mention Binder.

100% open source, works with Jupyter (formerly IPython) notebooks, both Python 2 and 3, and very easy to use:

Click Make, wait a few seconds and you'll have a notebook usable from your browser.

To see it in action, go to the sample project below and click on the black/pink "launch binder" button:

(You can browse many more examples here).

From my point of view this is the best option for Python at the moment.

tracykteal commented 7 years ago

There are now other options for this, like

Try Juypter: https://try.jupyter.org Azure Notebooks: https://notebooks.azure.com

I think there's one more too.

It would be good to add to the instructor notes these options. Also, we would need to check how people can load data into these online notebooks.

willingc commented 7 years ago

One could also use: Sage Math Cloud.

remram44 commented 6 years ago

Google is also slowly rolling out their own, integrated with Google Drive: https://colab.research.google.com/ (currently appears in beta, need to request access)

Azure Notebooks is a very good option that is easy to start using immediately 👍

anthonysuen commented 6 years ago

Would like to say that Binder is probably the best solution to get a Jupyter notebook running with one click.

Here is a version of the lesson I created: https://mybinder.org/v2/gh/anthonysuen/datacarpentry/master

wrightaprilm commented 6 years ago

I wanted to return to this conversation, because of @katrintirok's email to discuss. Perhaps @fmichonneau would have some ideas about this. Binder is great, but learners can't save their notes in the notebook and stuff and come back to it later (can save notes and download). JupyterHubs, on the other hand, are very easy to spin up and get rolling pretty quickly. I use the littlest jupyterhub in my class this semester. You can get the whole thing running in ~7 minutes, and distribute data easily.

So I'm wondering if there's a way we could have instructors just spin up an instance to have in their proverbial back pocket in case of emergency. Digital Ocean is awesome, and cheap; perhaps each workshop could get a couple bucks for cloud computing. I'm at 10 bucks for the first month of my course. Or maybe the Carpentries could have an educational allocation on JetStream for emergencies.

Edit for excessive parentheticals.

remram44 commented 6 years ago

I have to agree, Binder offers no persistence, which means that your notebook will disappear if you stop looking at it for long enough (you will also lose your notebook from the first to the second day of lessons, unless you explicitly export and import it). It is a great service for playing with data and code, but not so much as a working environment for a longer period such as two-day workshop.

A JupyterHub from the institution or organizer, or failing that Google or Azure's hosted options, are probably better choices, if a notebook is sufficient.

Otherwise, there are those "web IDE" things that will offer more of an editor environment (that space has been moving fast, but CodeAnywhere and CodeEnvy are the popular ones now I think?). Those require the creation of a free account (and so do Google Collab and Azure Notebooks), and offer code editor + terminal [edit: but apparently not notebooks].

yipcma commented 5 years ago

Regarding online coding environment I have three thoughts:

  1. Google Collab would be a useful environment especially tied to google drive it would make it easy for gmail users to manage their notebooks.
  2. Another venue could be Kaggle kernels, they come with the benefits of a growing repository of open data that can be easily be loaded all in one place.
  3. Potentially creating lessons using datacamp's free course environment would make marking and debugging exercises seamless. Bonus: cognitiveclass.ai has a lab environment that hosts jupyter/zeppelin notebooks, it also affords jupyter lab.
alex-pakalniskis commented 2 years ago

The lesson maintainers are in favor or instructors or attendees using online (or local) coding environments. I have experience running lessons with Colaboratory and see it as a useful option for many.

We're closing this issue due to inactivity but appreciate all the comments.

Thanks.