repo2docker icon indicating copy to clipboard operation
repo2docker copied to clipboard

Support using both DESCRIPTION and environment.yml at the same time

Open nstrelow opened this issue 3 years ago • 5 comments

I would like to be able to have an R-package repository with a DESCRIPTION file and environment.yml and have both listed dependencies installed.

nstrelow avatar May 19 '21 14:05 nstrelow

Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively. welcome You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:

welcome[bot] avatar May 19 '21 14:05 welcome[bot]

In what kind of situations do you end up wanting to do this?

betatim avatar May 19 '21 15:05 betatim

I already have a package which uses DESCRIPTION. But when using it with Binder I want to have additional dependencies installed I only need in Binder.

e.g. jupyterlab-git or something like jupytext+r-rmarkdown to read Rmarkdown files as notebook.

Or would you say, that those should also go into the DESCRIPTION (not sure about python packages) or just install everything in postBuild?

postBuild is probably the way I will go for now (e.g. install the 2nd environment.yml), but this could make for a neat feature.

Ideas below

Something similar would be the dependecies vs dev_dependencies in npm or dart. I would like to be able to define binder only dependencies, which do not make sense in a context without binder.

One approach would be to check for dependency files in binder/ and root.

├── binder
│   ├── environment.yml <- My Binder specific dependencies (e.g. jupyter-git)
│   └── postBuild
├── environment.yml <- My normal dependencies (could also be DESCRIPTION or requirements.txt)
└── notebook.ipynb

My background: I am working a platform to conduct health intervention studies. (as part of my Master thesis). For the analysis of data, I want to provide the researchers with ways to easily work with Jupyter Lab (or RStudio). Binder would be perfect both for study conducting researchers and other researchers going through their results and findings (reproducibility).

Therefore dividing having 2 dependencies:

  • Dependencies I as the platform developer manage (like jupyterlab-git)
  • Additional dependencies the researcher wants to use

I will be looking into this tipp: Having a Binder Repo with just the default dependencies and pulling in the content later. But then I will also have to install researcher deps later on.

nstrelow avatar May 19 '21 18:05 nstrelow

This is related to the underlying build tool, so I'm transferring it to repo2docker

manics avatar Sep 20 '21 17:09 manics

Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively. welcome You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:

welcome[bot] avatar Sep 20 '21 17:09 welcome[bot]