Log in to continue
Welcome to the University of California, Berkeley DataHub.

About the Service

DataHub is an open source JupyterHub distribution that provides interactive computing environments to educators and students across campus. The project has allowed Berkeley's data science program to deploy scalable Jupyter infrastructure utilizing cloud computing resources. In addition, it enables users to interact remotely with a standardized and common computing environment through any web browser. Compared to local environments that run Jupyter, a cloud-based JupyterHub provides many conveniences, including pre-installed software, quicker access to course content, and computing flexibility that enables even users on Chromebooks or iPads to run Jupyter notebook.

JupyterHub: Provides a multi-user infrastructure to manage computational resources without maintenance burdens.

Getting Started

What should I know about my content in DataHub?

  • Home directories are not intended for long-term storage. You are responsible for backing up your files regularly.
  • Data stored in home directories may be archived at the end of each semester for users who have been inactive for more than 30 days.
  • Home directories exceeding 50 GB may be deleted at the end of the semester after advance notification by email.

Who can use this service?

Instructors and students affiliated with UC Berkeley can use this service.

What is the service availability?

Service will be available 24/7 except for the scheduled maintenance that gets performed during 1–2 week maintenance periods at the end of the fall and spring semesters.

Some maintenance tasks require temporary downtime, and any planned service interruptions will be announced in advance.

What are the applications that can be launched in this service?

  • Jupyter Notebook: An open-source web application for creating documents with live code, visualizations, and text.
  • JupyterLab: A flexible, web-based IDE for data science and machine learning.
  • RStudio: An integrated environment specifically designed for statistical computing and graphics using R.
  • Code Server: Open source version of VS Code running on a remote server, accessible entirely through a web browser.
  • Shiny: It is a platform that makes it easy to build interactive web apps and dashboards.

For Instructors

How should I plan for lectures, labs or assignment deadlines?

For courses where many students are expected to start their servers simultaneously (for example, during lectures, labs, or assignment deadlines), instructors can request temporary warm-up (placeholder) nodes to accommodate the increased demand.

We make every effort to keep warm-up nodes available and minimize server startup times during weekday daytime hours. Outside of these hours, startup times may be longer, as additional compute nodes may need to be provisioned and initialized, and container images may need to be pulled.

If your server has not started within 10 minutes, stop it (if applicable) and try starting it again.

How do I distribute course content to students?

Distribute course content easily using the nbgitpuller tool. You can construct a nbgitpuller link either using the web tool or using the Chrome extension, and send it to your students. When they click it, the course content will be pulled into their home directories, and the appropriate file will be opened.

What packages & libraries are available?

To see what packages are pre-installed, click on the environment type you are using:

Base Environment Hub-Specific Environment
Python Packages Base Python Environment (Shared across multiple hubs) Hub specific Python environment (Specific to this hub)
R Packages Base R Environment (Common across multiple hubs) Hub specific R environment (Specific to this hub)
System Packages (Linux/Apt) Base system packages in apt.txt (Common across all hubs) Hub specific system packages (Specific to this hub)

Can a package be installed for all my students?

If a package you need is missing from the environment, you can request it in one of two ways:

  • Standard Request: Open a GitHub Issue with your request.
  • Self-Service: Create a Pull Request (PR) with changes to the respective image by following the steps outlined in the image update documentation.

Shared Conda Environments

Want to install custom software without waiting for standard deployments or submitting GitHub PRs? Shared Conda Environments allow instructors and TAs to install custom packages and register new Jupyter kernels directly for their courses.

If you are interested in setting this up for your course, please submit a support request.

Can I install my own packages?

Yes, you can, but we strongly encourage reaching out to the admins for package installations rather than doing it yourself, as manual updates are highly error-prone! In a Jupyter Notebook, you can use !pip install package-name or !conda install package-name to install a Python package. With R, you can use install.packages(). To prevent individual user environments diverging from each other too much, your user installed packages only last the length of your server. So we recommend putting those package installation lines in the beginning of the notebook / file that you are using, so it can be run each time as necessary.

Need Help?

  • GitHub Issues: Request help or report bugs using GitHub templates.
  • DataHub Support: For time-sensitive requests that aren't covered by GitHub templates, reach out via email to datahub-support@berkeley.edu.
  • Documentation: Review the support documentation for additional information about the service. You can get additional information about the service from the CDSS and RTL webpages.