# An interactive Binder config file builder GUI

**URL:** <https://discourse.jupyter.org/t/an-interactive-binder-config-file-builder-gui/1510>\
**Category:** Meta\
**Created:** [June 28, 2019, 11:16pm UTC](https://discourse.jupyter.org/t/an-interactive-binder-config-file-builder-gui/1510 "2019-06-28T23:16:44Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![choldgraf](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/choldgraf/32/1264_2.png) [@choldgraf](https://discourse.jupyter.org/u/choldgraf)\
**Post date:** [June 28, 2019, 11:16pm UTC](https://discourse.jupyter.org/t/an-interactive-binder-config-file-builder-gui/1510/1 "2019-06-28T23:16:44Z")

</div>

I was playing around with ipywidgets for building dashboards, and thought that a fun use-case would be to try building a Binder configuration file builder:

[https://mybinder.org/v2/gh/choldgraf/binder\_builder\_gui/master?urlpath=voila%2Frender%2Fgui.ipynb](https://mybinder.org/v2/gh/choldgraf/binder_builder_gui/master?urlpath=voila%2Frender%2Fgui.ipynb)

 ![2019-06-28_16-20-20](https://canada1.discourse-cdn.com/flex031/uploads/jupyter/original/1X/87940327633642c0714a0f3cfb27ad3f2f2ffbaf.gif)

The basic idea is to give people some simple forms that they can use to create the proper Binder configuration files.

There are still some bugs to work out before it’s really useful…but do people think this kind of thing would be interesting to clean up and develop a bit further?

cc @betatim who I think I mentioned this to a while back 🙂

---

<div class="post-metadata">

**Author:** ![psychemedia](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/psychemedia/32/24_2.png) [@psychemedia](https://discourse.jupyter.org/u/psychemedia)\
**Post date:** [June 29, 2019, 12:53am UTC](https://discourse.jupyter.org/t/an-interactive-binder-config-file-builder-gui/1510/2 "2019-06-29T00:53:16Z")

</div>

Love the GUI idea, but IIRC last time I tried to run a Binder w/ `requirements` and `environment` [here](https://github.com/ouseful-testing/repo2docker-conda-pip) the conda environment trumped pip and ignored requirements?

---

<div class="post-metadata">

**Author:** ![choldgraf](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/choldgraf/32/1264_2.png) [@choldgraf](https://discourse.jupyter.org/u/choldgraf)\
**Post date:** [June 29, 2019, 1:12am UTC](https://discourse.jupyter.org/t/an-interactive-binder-config-file-builder-gui/1510/3 "2019-06-29T01:12:24Z")

</div>

Yeah I agree we need to find some way to reveal different “flows” through that GUI (e.g. allow you to see _either_ the requirements.txt _or_ the environment.yml GUI, but not both

---

<div class="post-metadata">

**Author:** ![betatim](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/betatim/32/10_2.png) [@betatim](https://discourse.jupyter.org/u/betatim)\
**Post date:** [June 29, 2019, 8:05am UTC](https://discourse.jupyter.org/t/an-interactive-binder-config-file-builder-gui/1510/4 "2019-06-29T08:05:40Z")

</div>

I like the idea of experimenting with different flows via widgets. Having a GUI that guides people through the “setup” process will be super useful. Both in terms of helping people avoid mistakes and in terms of discovering what is possible.

After experimenting we should turn it into a slick webapp based on React or some such so that it is instant to load and can use GitHub/Gitlab/etc auth to directly make a PR to your repository in addition to “download files”. (in a v2 🙂 )

---

<div class="post-metadata">

**Author:** ![choldgraf](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/choldgraf/32/1264_2.png) [@choldgraf](https://discourse.jupyter.org/u/choldgraf)\
**Post date:** [June 29, 2019, 3:06pm UTC](https://discourse.jupyter.org/t/an-interactive-binder-config-file-builder-gui/1510/5 "2019-06-29T15:06:05Z")

</div>

What’s a good way to experiment? I can move the repo over to jupyterhub, or we could invite feedback via Twitter?

I agree in the future this is better as Javascript but that is outta my wheelhouse 😊

---

<div class="post-metadata">

**Author:** ![psychemedia](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/psychemedia/32/24_2.png) [@psychemedia](https://discourse.jupyter.org/u/psychemedia)\
**Post date:** [June 23, 2020, 11:10pm UTC](https://discourse.jupyter.org/t/an-interactive-binder-config-file-builder-gui/1510/6 "2020-06-23T23:10:40Z")

</div>

@choldgraf Did you do any more on this, or know of any related work / repos anywhere?

---

<div class="post-metadata">

**Author:** ![choldgraf](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/choldgraf/32/1264_2.png) [@choldgraf](https://discourse.jupyter.org/u/choldgraf)\
**Post date:** [June 23, 2020, 11:11pm UTC](https://discourse.jupyter.org/t/an-interactive-binder-config-file-builder-gui/1510/7 "2020-06-23T23:11:30Z")

</div>

mmm basically I got to the “not quite working proof of concept” level, and then realized that I didn’t really have the skillset and time to make it really useful. It would be great as a little self-contained project though, I think.
