During the 2025 Datathon, environments on JupyterHub are managed with UV, a package and environment manager like pip or conda.
We've pre-configured several of these based on the contents of the summer school sessions. These include:
pandas-env: General data science and data engineering packagespytorch-env: General data science/data engineering packages + packages to use Pytorch/Torchvisiontensorflow-env: General data science/data engineering packages + packages to use Tensorflowlinear_probing: Environment used during the summer school session on linear probing with embeddingsWe've also prepared an R kernel so users that wish to can use R for data analysis.
User environments are stored in /mnt/efs/envs (or alternatively are symlinked from each users home directory at ~/envs). This location is not writable, so users who want to add new environments should create them in their home directory with UV or Python.
If you'd like to modify an existing read-only environment, the recommended workflow is:
Copy the source environment from /mnt/efs/envs to your home directory:
cp -r /mnt/efs/envs/pytorch-env ~/
cd ~/pytorch-env
Create a fresh local .venv inside the copied project:
uv venv --clear
uv sync
This ensures your new environment lives in ~/pytorch-env/.venv instead of pointing back to the read-only one on /mnt/efs.
Activate your environment:
source .venv/bin/activate
Verify it’s correct:
echo $VIRTUAL_ENV
# should show: /home/USERNAME/pytorch-env/.venv
Add new packages as needed:
uv add PACKAGE --active
Register the environment in JupyterHub so it can be selected as a kernel:
# replace NEW_ENV_NAME with your desired kernel ID
# replace "Python (My Env)" with the display name shown in JupyterHub
uv run ipython kernel install --user \
--env VIRTUAL_ENV $(pwd)/.venv \
--name=NEW_ENV_NAME \
--display-name "Python (My Env)"
Verify the kernel is available:
jupyter kernelspec list
You should now see your new environment under ~/.local/share/jupyter/kernels/.