Jupytext for version controlling jupyter notebooks on a Binder

The question of comparing binderhubs comes up a lot, so I made a little table:

Note that mybinder.org can send you to 1 of 3 cloud providers or you can use a prefix to use a specific service provider:

BinderHub vCPU RAM (GB) Cloud provider Max Session (hr) Dask-gateway
binder.pangeo.io 4 8 Google us-central1 3 yes
aws-uswest2-binder.pangeo.io 4 8 AWS us-west-2 3 yes
- - - - - -
gke.mybinder.org 1 2 Google us-central1 6 no
ovh.mybinder.org 1 2 OVH ? ? no
gesis.mybinder.org 2 8 Custom Server 6 no

On a JupyterHub / BinderHub you can get limits running this command:
printenv | grep LIMIT

Time limits are harder to find. If the binderhub repository is public you can look at the values.yml configuration file

CondaEnvException: Pip failed ERROR: Package ‘xarray’ requires a different Python: 3.6.11 not in ‘>=3.7’

This is an issue with versions in your environment.yml (the error message suggests you have pinned Python=3.6, but some of your packages require Python>=3.7). This unfortunately is quite common when only some packages are pinned, and new releases of unpinned packages lead to incompatible version requirements. Here is a nice blog post on the topic Managing dependencies for reproducible (scientific) software | Noah D. Brenowitz

2 Likes