Generating custom Binder instances to bridge exploration and analysis

Hi folks! :wave:

We’re looking into ways that we can bridge the exploration to analysis gap of data; we’re pretty well versed in allowing our users to explore data holdings of spatial data, displaying them dynamically on maps, and making ‘stuff’ work quick in the cloud.

What we’re hoping to do now is allow users to select an area of interest and some datasets, click a button (sounds so simple doesn’t it? :roll_eyes:) and be taken to a Jupyter environment which has those datasets available ready for analysis (or has code generated that will allow the user to pull down those given datasets).

I’ve been doing a fair bit of Googling and couldn’t find examples of this dynamic selection of data to input into a Binder project, most things I’ve found are static datasets built into the image and not changed.

Does anyone have experience/suggestions/woes about trying to provide data dynamically to a Binder instance? I’d love to hear them! - I’ve got one idea, essentially wraps up generating repo branches on the fly, building Binder instances for that new unique branch for the users session and returning them a link to that build… I see that getting very noisy on the repo side.

Really appreciate any suggestions!

Ciaran :rocket:

This thread might be useful?

Includes a small Jupyter notebook extension I that can run a notebook that accepts parameters, not quite what you want but might give you some ideas?

Another extension you could look at is nbgitpuller
https://jupyterhub.github.io/nbgitpuller/
This clones a git repository passed as a query parameter into your jupyter environment at startup.

2 Likes

Thanks @manics! I’ll definitely give those links a look!