The jupyter_rfb contributor guide

This page is for those who plan to hack on jupyter_rfb or make other contributions.

How can I contribute?

Anyone can contribute to jupyter_rfb. We strive for a welcoming environment - see our code of conduct.

Contribution can vary from reporting bugs, suggesting improvements, help improving documentations. We also welcome improvements in the code and tests. We uphold high standards for the code, and we’ll help you achieve that.

Install jupyter_rfb in development mode

For a development installation (requires Node.js and Yarn):

$ git clone https://github.com/vispy/jupyter_rfb.git
$ cd jupyter_rfb
$ pip install -e .
$ jupyter nbextension install --py --symlink --overwrite --sys-prefix jupyter_rfb
$ jupyter nbextension enable --py --sys-prefix jupyter_rfb

When actively developing the JavaScript code, run the command:

$ jupyter labextension develop --overwrite jupyter_rfb

Then you need to rebuild the JS when you make a code change:

$ cd js
$ yarn run build

You then need to refresh the JupyterLab page when your javascript changes.

Install developer tools

$ pip install pytest black flake8 flake8-docstrings flake8-bugbear

Install dependencies required for tests

$ pip install pillow simplejpeg

Automated tools

To make it easier to keep the code valid and clean, we use the following tools:

  • Run black . to autoformat the code.

  • Run flake8 . for linting and formattinh checks.

  • Run python release.py to do a release (for maintainers only).

Autocommit hook

Optionally, you can setup an autocommit hook to automatically run these on each commit:

$ pip install pre-commit
$ pre-commit install