This release is a pre-release and may not be stable for production use.
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:
- jupyter-deploy-tf-aws-ec2-base for a multi-user JupyterLab served on your own domain
- jupyter-deploy-tf-aws-eks-oidc for multi-tenant workspaces on an EKS cluster
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 templatek8s: required by Kubernetes templates such asjupyter-deploy-tf-aws-eks-oidcproxy: installs the local client proxy thatjd openandjd proxyuse 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.0rc1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jupyter_deploy-0.8.0rc1.tar.gz | 524.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyter_deploy-0.8.0rc1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 870.1 kB
Release files / jupyter_deploy-0.8.0rc1.tar.gz
| Download URL | jupyter_deploy-0.8.0rc1.tar.gz |
|---|---|
| Size | 524.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
da871780ec536a6d7b6ed0212c6e9edecbdf51b0d9589e74e8b7581d591467fa
|
|
BLAKE2b-256 checksum How to use checksums |
81f98709294f3870630588c4d56c0c71821ef976173c518df6d3e0255d31b9f8
|
| 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.0rc1-py3-none-any.whl
| Download URL | jupyter_deploy-0.8.0rc1-py3-none-any.whl |
|---|---|
| Size | 345.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b4bcbb0e832d2433be2d43e666141ea99579f15082dddf5bf7ff9fd8bce72c15
|
|
BLAKE2b-256 checksum How to use checksums |
49e88719f7688fbc55f27859200fb456224df9a31ab88bbfabe9fe2a19497541
|
| 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}
|