tutorials
tutorials copied to clipboard
Separate environments for notebooks with and without python and imglyb
I suggest to somehow separate those notebooks requiring python and imglyb from the "pure" ImageJ tutorial notebooks and create two distinct environment.yml files. This would allow the startup of the latter on mybinder.org to be much faster, due to smaller image sizes.
Binder looks into the root level or into ./binder to find the environment.yml file, but AFAICT only allows a single environment per repository/branch.
To allow having a minimal environment for the ImageJ notebooks that do not use python and imglyb, we therefore have two options:
- have different branches for different
environment.ymlfiles to be used by repo2docker/binder - split this repository into separate components for "pure ImageJ" and "Imglyb/Python-related" stuff, maybe
tutorials,tutorials-python, and eventutorials-ops?
I would rather use separate repositories than separate branches. I personally find multiple branches to be less accessible, especially for new users of git.
Quantitatively, how burdensome are these extra dependencies per Binder instance startup? That is: excluding the build time (which is slow in any case), what is the difference in startup time between a Binder instance with only the scijava-jupyter-kernel, vs. one with the Python stack? Unless the difference is substantial, I favor keeping all dependencies declared in a single environment in a consolidated notebook repository.
A third option could be to keep the dependencies minimal, then have the Python notebooks declare their dependencies at the top using notebook magic, as suggested in this comment.