WinLocalProcessSpawner spawns single-user servers as local Windows processes. It uses the authentication credentials stored on the auth_token field of auth_state. It is the Authenticator's responsability to store the Windows authentication token on the auth_token. If Jupyterhub was launched with "Local System" privileges, the auth_token will have a user profile associated with it, which will allow the spawner to extract the per-user APPDATA and USERPROFILE environment variables. Those variables are used to set the jupyter runtime directory and the CWD respectively.
For an example of these architecture, check the WinAuthenticator.
- Install
dev-requirements.txtby runningpip install -r dev-requirements.txtin your Python 3.8 virtual environment. This contains both dependencies required for this project, as well as testing + linting dependencies. Thedev-requirements.txtfile also installs the current project as an editable package, via-e . - Tests can be run using
pytest . - Linting can be run using
ni-python-styleguide lint winlocalprocessspawner/andni-python-styleguide lint tests.
Currenty, there is no pip package, so you need to install the winlocalprocessspawner by cloning the repo.
git clone https://github.com/ni/jupyterhub-winlocalprocessspawner.git
cd jupyterhub-winlocalprocessspawner
pip3 install -e
To enable, add the following to your jupyterhub file:
c.JupyterHub.spawner_class = 'winlocalprocessspawner.WinLocalProcessSpawner'