workflowr / workflowr/workflowr

Integration with binder

Open
#167 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
R
Stars
906
Forks
107
PR merge metrics
No merged PRs in 30d

Description

binder is an amazing tool for reproducible research. It would be great if we could make it easier for workflowr users to integrate binder into their research projects.

An idea for a function, e.g. wflow_use_binder(), would perform the following steps:

  1. Search all the published R Markdown files for library() calls (and related pkg usage, e.g. pkg::)
  2. Create and commit a configuration file that is supported by repo2docker.
  3. Add a binder link to README.md and to the website (either index.Rmd or the navbar in _site.yml)

The first step is the weakest. I could imagine improving it in multiple ways. One would be to have each Rmd file automatically write its dependencies after running sessionInfo(). Alternatively, wait for the package manager functionality (#128) to be integrated before making this any more complicated.

I'm open to ideas and suggestions.

cc: @seabbs @sdhutchins

xref: Tweet

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the proposed wflow_use_binder() workflow and the published R Markdown files whose dependencies it would inspect. Check README.md, index.Rmd, and _site.yml for the locations where a Binder link could be added, along with the repo2docker configuration requirements. Done means the integration approach is agreed, dependencies are represented, configuration is committed, and the links appear in the requested project locations.

Written by the indexing model from the issue text.

Assessment

Tech stack
r
Domain
devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.