Skip to main content

Jupyter Deploy

Jupyter deploy is an open-source command line interface tool (CLI) to deploy and manage interactive applications such as JupyterLab to the Cloud.

The CLI is vendor-neutral, but it provides a default template that uses terraform as the infrastructure-as-code engine and AWS as the cloud provider.

Documentation: jupyter-deploy.readthedocs.io

Getting started with the default template

We recommend using uv to set up your Python virtual environment.

Install the CLI and the default template:

uv init . --bare
uv venv
source .venv/bin/activate

uv add "jupyter-deploy[aws,proxy]"
uv add jupyter-deploy-tf-aws-ec2-jupyterlab

Create a project directory and let the CLI scaffold it:

mkdir my-first-deployment && cd my-first-deployment
jd init .

At this point, you need valid AWS credentials, plus terraform, the AWS CLI and jq installed locally. The CLI checks for these tools and points you to the installation instructions for anything missing.

Deploy your app to AWS and start working:

jd config
jd up
jd open

jd open starts a local proxy that connects your browser to your own JupyterLab app running on a dedicated EC2 instance in your AWS account.

The default template supports temporarily turning off your instance to reduce your cloud bill.

jd host stop

# To restart it later
jd host start

# You may also need to start the containers that run your application
jd server start

To delete all the resources, run:

jd down

Templates

The jupyter-deploy CLI interacts with templates: infrastructure-as-code packages that you can use to create your own project and deploy resources in your own cloud provider account.

Templates are nominally Python packages distributed on PyPI. You can install and manage templates in your virtual environment with pip or uv. jupyter-deploy automatically finds the templates installed in your Python environment.

The default template is jupyter-deploy-tf-aws-ec2-jupyterlab: a single-user JupyterLab on an EC2 instance, reached through the local client proxy over pinned self-signed TLS and authorized by your AWS identity.

Other templates are available, such as:

Installation

Consider creating or activating a virtual environment.

From your uv environment:

uv add jupyter-deploy

Or with pip:

pip install jupyter-deploy

The CLI is cloud-provider agnostic, so cloud dependencies come as optional extras:

  • aws: required by every AWS template
  • k8s: required by Kubernetes templates such as jupyter-deploy-tf-aws-eks-oidc
  • proxy: installs the local client proxy that jd open and jd proxy use to reach your deployment

Pick the extras that your template requires, for example "jupyter-deploy[aws,proxy]" for the default template. Each template's PyPI page lists its install command and prerequisites.

Entry points

From a terminal, run:

jupyter-deploy --help

# or use the alias
jd --help

# or use the jupyter CLI
jupyter deploy --help

License

The jupyter-deploy CLI is licensed under the MIT License.

Metadata

Release files for jupyter-deploy 0.8.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 jupyter-deploy 0.8.0
File Size Uploaded
jupyter_deploy-0.8.0.tar.gz 524.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupyter-deploy 0.8.0
File Interpreter ABI Platform
jupyter_deploy-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 870.0 kB

Release files / jupyter_deploy-0.8.0.tar.gz

Download URL jupyter_deploy-0.8.0.tar.gz
Size 524.5 kB
Tags Source
SHA-256 checksum
How to use checksums
23570f99a10b06faa976ead76fef1db8db1384aeb9ef0622515783c234508d40
BLAKE2b-256 checksum
How to use checksums
744b8a545d4e07a54d5dbdb16e3b7905391d5367b98fc7d792506517026487ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / jupyter_deploy-0.8.0-py3-none-any.whl

Download URL jupyter_deploy-0.8.0-py3-none-any.whl
Size 345.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6575eea2f0e5281cf7ca7caa8b4f8c1e765da2b0262e9aebfcdfb5b5124ebfbe
BLAKE2b-256 checksum
How to use checksums
fc597a5fc56abd1a3eaf9c01fc3d7db8b38a18c1b28b89274b1d97f53e1bc730
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 release files

0.7.3

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.8

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.3.0

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

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