From 8698e80304815353ec52be1b16f96483ebe559a0 Mon Sep 17 00:00:00 2001 From: Kyle Kelley Date: Tue, 21 May 2024 13:35:21 -0700 Subject: refactor(jupyter): use runtimelib for Jupyter structures and directory paths (#23826) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This brings in [`runtimelib`](https://github.com/runtimed/runtimed) to use: ## Fully typed structs for Jupyter Messages ```rust let msg = connection.read().await?; self .send_iopub( runtimelib::Status::busy().as_child_of(msg), ) .await?; ``` ## Jupyter paths Jupyter paths are implemented in Rust, allowing the Deno kernel to be installed completely via Deno without a requirement on Python or Jupyter. Deno users will be able to install and use the kernel with just VS Code or other editors that support Jupyter. ```rust pub fn status() -> Result<(), AnyError> { let user_data_dir = user_data_dir()?; let kernel_spec_dir_path = user_data_dir.join("kernels").join("deno"); let kernel_spec_path = kernel_spec_dir_path.join("kernel.json"); if kernel_spec_path.exists() { log::info!("✅ Deno kernel already installed"); Ok(()) } else { log::warn!("ℹ️ Deno kernel is not yet installed, run `deno jupyter --install` to set it up"); Ok(()) } } ``` Closes https://github.com/denoland/deno/issues/21619 --- tests/specs/jupyter/install_command_not_exists/__test__.jsonc | 8 -------- .../install_command_not_exists/install_command_not_exists.out | 5 ----- 2 files changed, 13 deletions(-) delete mode 100644 tests/specs/jupyter/install_command_not_exists/__test__.jsonc delete mode 100644 tests/specs/jupyter/install_command_not_exists/install_command_not_exists.out (limited to 'tests/specs/jupyter/install_command_not_exists') diff --git a/tests/specs/jupyter/install_command_not_exists/__test__.jsonc b/tests/specs/jupyter/install_command_not_exists/__test__.jsonc deleted file mode 100644 index 9552157bd..000000000 --- a/tests/specs/jupyter/install_command_not_exists/__test__.jsonc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "args": "jupyter --install", - "output": "install_command_not_exists.out", - "envs": { - "PATH": "" - }, - "exitCode": 1 -} diff --git a/tests/specs/jupyter/install_command_not_exists/install_command_not_exists.out b/tests/specs/jupyter/install_command_not_exists/install_command_not_exists.out deleted file mode 100644 index 1bb176e20..000000000 --- a/tests/specs/jupyter/install_command_not_exists/install_command_not_exists.out +++ /dev/null @@ -1,5 +0,0 @@ -Warning "deno jupyter" is unstable and might change in the future. -error: Failed to spawn 'jupyter' command. Is JupyterLab installed (https://jupyter.org/install) and available on the PATH? - -Caused by: -[WILDCARD] -- cgit v1.2.3