Skip to content

Add interactive demo with binder #373

Open
@bollwyvl

Description

@bollwyvl

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions