--- id: jupyterhub version: "5.5.1" license: BSD-3-Clause license_treatment: permissive maintenance: active --- # jupyterhub — JupyterHub: A multi-user server for Jupyter notebooks License: permissive · Maintenance: active · Downloads: 375.0K/mo ## What it is and what it does JupyterHub is a production-grade multi-user server for Jupyter notebooks. It consists of a central Hub (a tornado process), a configurable HTTP proxy, and multiple single-user notebook servers. The Hub handles user login, spawns notebook servers on demand, and configures the proxy to route traffic to each user's server. It is designed to serve notebook instances to classrooms, research teams, data science workgroups, or HPC clusters. The package depends on 18 runtime libraries including tornado for the web server, SQLAlchemy for user/group management, Pydantic for configuration, and OAuth/PAM libraries for authentication. It ships with a built-in PAM authenticator and LocalProcessSpawner, but supports pluggable authenticators (LDAP, Kerberos, OAuth) and spawners (Docker, Kubernetes, batch schedulers) via separate packages. Configuration is file-based, and the Hub exposes a REST API for administration. Use it for: - Run a shared Jupyter environment for a classroom where each student gets their own isolated notebook server. - Deploy a data science workgroup hub where team members access notebooks on a shared server with centralized user management. - Set up a research cluster where HPC batch jobs spawn notebook servers for interactive analysis on compute nodes. - Provide a Docker-based notebook service where each user's server runs in an isolated container with custom environments. - Integrate with enterprise authentication (LDAP, Kerberos, OAuth) to manage notebook access across an organization. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. JupyterHub is a multi-user server that spawns, manages, and proxies multiple single-user Jupyter notebook instances, allowing many users to access notebook servers through a shared Hub. Yes. JupyterHub is actively maintained, production-stable, has no known vulnerabilities, and low install friction. Install it if you need to serve Jupyter notebooks to multiple users with centralized management. The main gotcha is that you must install and configure the nodejs proxy separately, and running as a non-root user requires additional system setup—but both are documented. Not needed for single-user notebook access. ## Install pip install jupyterhub uv add jupyterhub poetry add jupyterhub ## Installing jupyterhub Before you install: Installation is low-friction as a pure Python package, though the Hub requires nodejs/npm for the proxy component and PAM or another authenticator on the host system. The project is actively maintained with a recent release and 8328 repository stars. License in practice: BSD-3-Clause is a permissive license; you can use, modify, and distribute JupyterHub with minimal restrictions, provided you include the license notice. Quickstart: npm install -g configurable-http-proxy pip install jupyterhub jupyterhub --generate-config jupyterhub Requires nodejs/npm for the proxy, Python 3.8 or greater, a Linux/Unix system, and either PAM or a configured authenticator (e.g., OAuthenticator) for multi-user access. Verify before relying: - Whether the default PAM authenticator works out-of-the-box on all Linux distributions without additional system configuration. - Performance characteristics when scaling to hundreds or thousands of concurrent users. - Whether running as a non-root user requires specific sudoers or systemd configuration beyond what the docs describe. ## Package facts - License: BSD-3-Clause (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 375.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags multi-user jupyter server, jupyter notebook hub, shared jupyter environment, jupyter spawner proxy, classroom jupyter setup, team jupyter notebooks, jupyterhub deployment, multi-user-server, jupyter-ecosystem, authentication-proxy [View on SkillFed](https://skillfed.io/packages/jupyterhub) · [View on PyPI](https://pypi.org/project/jupyterhub/)