Contributing
Contents
Contributing¶
jupyterhub-configurator has three components:
A tornado based JupyterHub service written in python, providing the backend for storing and retreiving config
A set of mixins to be used with your JupyterHub spawner for dynamic configuration
A react based frontend
Backend & JupyterHub¶
Since jupyterhub-configurator is run as a JupyterHub service, it is best developed
when run by JupyterHub itself. We ship a jupyterhub_config.py that runs a JupyterHub
in development mode with appropriate service setup.
Install required dependencies and the configurator package itself
pip install -r requirements.txt
Start a jupyterhub. You might first need to
npm install -g configurable-http-proxyas well.jupyterhubThis should start a JupyterHub on
http://localhost:8000.Log in to the hub with username
adminand any password.Open the configurator UI at http://localhost:8000/services/configurator/
You’ll need to stop and start the jupyterhub process whenever you make a change to
the backend.
Frontend¶
You need npm to work on the frontend, which is contained inside
the frontend/ directory.
Get inside the
frontend/directory and install required dependenciescd frontend npm iWe use webpack to build our dependencies, and it can automatically rebuild whenever you make a change.
npm run dev
Your configurator page should now be running your latest local build of JS. You have to refresh the page to pick up any changes.