Skip to main content

kubespawner (jupyterhub-kubespawner @ PyPI)

Latest PyPI version Latest conda-forge version Documentation status GitHub Workflow Status Code coverage

The kubespawner (also known as the JupyterHub Kubernetes Spawner) enables JupyterHub to spawn single-user notebook servers on a Kubernetes cluster.

See the KubeSpawner documentation for more information about features and usage. In particular, here is a list of all the spawner options.

Features

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. If you want to run a JupyterHub setup that needs to scale across multiple nodes (anything with over ~50 simultaneous users), Kubernetes is a wonderful way to do it. Features include:

  • Easily and elasticly run anywhere between 2 and thousands of nodes with the same set of powerful abstractions. Scale up and down as required by simply adding or removing nodes.

  • Run JupyterHub itself inside Kubernetes easily. This allows you to manage many JupyterHub deployments with only Kubernetes, without requiring an extra layer of Ansible / Puppet / Bash scripts. This also provides easy integrated monitoring and failover for the hub process itself.

  • Spawn multiple hubs in the same kubernetes cluster, with support for namespaces. You can limit the amount of resources each namespace can use, effectively limiting the amount of resources a single JupyterHub (and its users) can use. This allows organizations to easily maintain multiple JupyterHubs with just one kubernetes cluster, allowing for easy maintenance & high resource utilization.

  • Provide guarantees and limits on the amount of resources (CPU / RAM) that single-user notebooks can use. Kubernetes has comprehensive resource control that can be used from the spawner.

  • Mount various types of persistent volumes onto the single-user notebook's container.

  • Control various security parameters (such as userid/groupid, SELinux, etc) via flexible Pod Security Policy.

In general, Kubernetes provides a ton of well thought out, useful features - and you can use all of them along with this spawner.

Requirements

JupyterHub

Requires JupyterHub 4.0+

Kubernetes

Everything should work from Kubernetes v1.24+.

The Kube DNS addon is not strictly required - the spawner uses environment variable based discovery instead. Your kubernetes cluster will need to be configured to support the types of volumes you want to use.

If you are just getting started and want a kubernetes cluster to play with, Google Container Engine is probably the nicest option. For AWS/Azure, kops is probably the way to go.

Getting help

We encourage you to ask questions on the Jupyter mailing list. You can also participate in development discussions or get live help on Gitter.

License

We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.

All code is licensed under the terms of the revised BSD license.

Resources

JupyterHub and kubespawner

Jupyter

Release files for jupyterhub-kubespawner 7.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupyterhub-kubespawner 7.1.0
File Size Uploaded
jupyterhub_kubespawner-7.1.0.tar.gz 68.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupyterhub-kubespawner 7.1.0
File Interpreter ABI Platform
jupyterhub_kubespawner-7.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 140.0 kB

Release files / jupyterhub_kubespawner-7.1.0.tar.gz

Download URL jupyterhub_kubespawner-7.1.0.tar.gz
Size 68.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ece25721ed26741d94d51429c7778fb86509e6be740712e9f158bc6d0192d4e2
BLAKE2b-256 checksum
How to use checksums
73a05f5adf90f1a11126dd833088d741bc00d737c1a13a9b855e4f09603c8052
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jupyterhub_kubespawner-7.1.0-py3-none-any.whl

Download URL jupyterhub_kubespawner-7.1.0-py3-none-any.whl
Size 71.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6eba305dec99d3a9214ca0e8c564e33b5a72d55acb72b84c9bc85ebf456aea7c
BLAKE2b-256 checksum
How to use checksums
ee83459d644f937601cc328a93fcaad425516885068f397c95f28b623b2fad18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

7.1.0 This release

2 release files

7.0.0

2 release files

6.2.0

2 release files

6.1.0

2 release files

6.0.0

2 release files

5.0.0

2 release files

4.3.0

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.14.1

2 release files

0.12.0

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8

2 release files

0.7.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5

2 release files

0.1

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page