jupyterhub/repo2docker

Implement a GUI that builds repo2docker config files

Open

#702 opened on 2019年6月12日

GitHub で見る
 (4 comments) (2 reactions) (0 assignees)Python (1,544 stars) (358 forks)batch import
enhancementhelp wantedneeds: discussion

説明

Proposed change

It would be useful if we had a lightweight GUI that let people build repo2docker configuration files. It would have sections for each type of configuration file, and UI elements that helped populate the most common relevant fields. e.g.:

image

There would also be a "download" button that would create a bunch of config files according to what was placed inside this form, and download a ZIP file with all of them inside.

It could be a good way to show off the different configuration options, and to let people quickly create their own.

This could either be a page on something like readthedocs, or a jupyterlab extension. Something very similar to https://github.com/jupyterlab/jupyterlab-celltags but on a whole page and for the purposes of generating repo2docker config files

Here's a Discourse thread that prototypes this with the ipywidgets ecosystem

Alternative options

I think the only alternative here is to have people manually create these files, which can be a burden for some researchers who are just learning about reproducibility and coding. I suppose another alternative is to use a different service for reproducibility that does provide these kinds of UIs.

edit 2021: A nice implementation of something like this is here in the CodeOcean docs: https://help.codeocean.com/en/articles/1197548-the-package-management-system

Who would use this feature?

I think primarily people who are new-ish to Binder or to coding, or who in general are more comfortable working from a form than from hand-coding things in a text editor.

How much effort will adding it take?

I think it wouldn't be too hard for somebody that was familiar with building UI components in a javascript framework. It's largely a question of figuring out the right kind of UI/UX to provide, but in terms of the code itself I bet there are many libraries for building simple forms.

Who can do this work?

Ideally, somebody with experience in React or some other kind of framework that can build simple-ish forms. Whoever did the work on https://github.com/jupyterlab/jupyterlab-celltags might be able to provide some guidance! (e.g. @zsailer do you know if one of the calpoly interns worked on this?)

コントリビューターガイド