jupyterhub / jupyter-server-proxy

Jupyter notebook server extension to proxy web services.

Home Page:https://jupyter-server-proxy.readthedocs.io

Repository from Github https://github.comjupyterhub/jupyter-server-proxyRepository from Github https://github.comjupyterhub/jupyter-server-proxy

Add interactive demo with binder

bollwyvl opened this issue · comments

Proposed change

Add a development-oriented configuration for binder which can be used for PR review as well as a demo.

References

Alternative options

Do nothing.

Who would use this feature?

Reviewers of PRs, etc.

This would also be a basically single-command way to get a full development environment that works on proprietary systems like Apple Silicon and Windows.

Suggest a solution

Add a binder configuration which fully encapsulates the development environment:

  • .binder/apt.txt
    • include X11 dependencies needed to run firefox
  • .binder/environment.yml
    • include all python packages
    • include as many contrib packages as possible
    • include a reasonably pinned version of nodejs, python, firefox, geckodriver, make, etc.
    • include nbgitpuller
      • though i don't think one can actually use a downstream config, due to how loading works
      • consider making it lazier in the future, a la kernelspecs, etc.
  • .binder/postBuild
    • fully execute the dev build chain
      • build the js packages
      • build the python packages
      • build the docs
      • run the full test suite
    • don't block for anything except failing to build/install the packages
  • README.md
    • add link to binder
  • CONTRIBUTING.md
    • add note about keeping binder config up-to-date w/r/t pyproject.toml, etc.
  • .github/workflows/binder.yml
    • add the binder PR link generator workflow