Skip to content

Latest commit

 

History

History
72 lines (51 loc) · 2.44 KB

CONTRIBUTING.md

File metadata and controls

72 lines (51 loc) · 2.44 KB

Contributing to Voilà-Gallery

Voilà is a subproject of Project Jupyter and subject to the Jupyter governance and Code of conduct.

General Guidelines

For general documentation about contributing to Jupyter projects, see the Project Jupyter Contributor Documentation.

Community

The Voilà team organizes public video meetings. The schedule for future meetings and minutes of past meetings can be found on our team compass.

Setting up a dev environment

Though voila-gallery is deployed as a TLJH plugin, you can develop it locally without needing to install TLJH. You just need docker and Python 3.6+ installed.

  1. Create a virtual environment to work in, with your favorite Python virtual environment tool. With Python's built in venv module, you can make a virtual environment with:

    python3 -m venv .
    source bin/activate
  2. Install development requirements

    pip install -r dev-requirements.txt
  3. Do a dev install of the tljh_voila_gallery package.

    pip install -e tljh-voila-gallery
  4. Install configurable-http-proxy. This is needed by JupyterHub, and you need nodejs / npm to install it.

    npm -g install configurable-http-proxy
  5. Build all the images

    python3 -m tljh_voila_gallery.build_images

    This requires docker be available and usable from your current user without root. If you need to use sudo before your docker calls, you should use sudo $(which python3) rather than just python3

  6. Start JupyterHub with the testing config

    python3 -m jupyterhub -f jupyterhub_config.py

    This requires docker be available and usable from your current user without root. If you need to use sudo before your docker calls, you should use sudo $(which python3) rather than just python3

This should start a JupyterHub running at https://localhost:8000 with the current code. If you modify the JupyterHub config or the service code / template, you need to restart JupyterHub to see their effects.