An open-source command line interface (CLI) to deploy interactive applications to the Cloud.
- Cloud Deployments Made Simple — Get started with three simple commands:
jd init,jd config,jd up. No Cloud knowledge required. - Unlock The Power of the Cloud — Access GPUs, scale compute, and expand storage on demand with simple commands.
- Extensible Template-Based Architecture — Pick a deployment template that fits your use case. Can't find what you need? Adding a template is simple!
- Multi-Application Support — Deploy JupyterLab, Jupyter notebooks, or other interactive apps such as CodeEditor or StreamLit.
- Multi-User Support — Grant users and teams access to your apps securely via their OIDC identity, then collaborate in real-time.
- Vendor Neutral — Compatible with any cloud provider and any infrastructure-as-code engine.
https://jupyter-deploy.readthedocs.io
We recommend using uv for dependency management.
# create a uv project with a virtual environment
uv init . --bare
uv venv
source .venv/bin/activate
# install the CLI and the AWS Base Template
uv add "jupyter-deploy[aws]"
uv add jupyter-deploy-tf-aws-ec2-baseTo get started, run from your virtual environment:
jd --help- jupyter-deploy: Core package providing the command line interface tool (CLI).
- jupyter-deploy-tf-aws-ec2-base: A template to deploy a single JupyterLab app to an EC2 instance, serve it on your own domain and control access with GitHub identities.
- jupyter-deploy-tf-aws-eks-oidc: A template for multi-tenant JupyterLab or other interactive apps to an AWS EKS cluster, serve them on your own domain and control access with GitHub identities.
- jupyter-infra-tf-aws-iam-ci: The template to configure the AWS resources for the CI.
- pytest-jupyter-deploy: The pytest plugin for E2E tests that integrates with Playwright.
Refer to the Contributing guide. Pull requests get an automated AI code
review, and you can run the same review locally before pushing with just review.
This project is licensed under the MIT License.