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-proxy
as well.jupyterhub
This should start a JupyterHub on
http://localhost:8000
.Log in to the hub with username
admin
and 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 i
We 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.