repl: Bump `runtimed` ecosystem packages and add support for V3 Jupyter Notebooks (#49914)
MostlyK
created 1 month ago
- Add support for v3 Jupyter Notebooks ( nbformat 1.2.0 <->
https://github.com/runtimed/runtimed/pull/275 )
- This means that we can now open notebooks like [Signal Processing for
Python](https://nbviewer.org/github/unpingco/Python-for-Signal-Processing/tree/master/)
and much more.
Release Notes:
- N/A
Change summary
Cargo.lock | 12 ++++++------
Cargo.toml | 6 +++---
crates/repl/src/notebook/notebook_ui.rs | 6 ++++++
3 files changed, 15 insertions(+), 9 deletions(-)
Detailed changes
@@ -9141,9 +9141,9 @@ dependencies = [
[[package]]
name = "jupyter-protocol"
-version = "1.2.1"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c75a69caf8b8e781224badfb76c4a8da4d49856de36ce72ae3cf5d4a1c94e42"
+checksum = "4649647741f9794a7a02e3be976f1b248ba28a37dbfc626d5089316fd4fbf4c8"
dependencies = [
"async-trait",
"bytes 1.11.1",
@@ -10785,9 +10785,9 @@ dependencies = [
[[package]]
name = "nbformat"
-version = "1.1.0"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b10a89a2d910233ec3fca4de359b16ebe95e833c8b2162643ef98c6053a0549d"
+checksum = "d4983a40792c45e8639f77ef8e4461c55679cbc618f4b9e83830e8c7e79c8383"
dependencies = [
"anyhow",
"chrono",
@@ -14648,9 +14648,9 @@ dependencies = [
[[package]]
name = "runtimelib"
-version = "1.2.0"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d80685459e1e5fa5603182058351ae91c98ca458dfef4e85f0a37be4f7cf1e6c"
+checksum = "fa84884e45ed4a1e663120cef3fc11f14d1a2a1933776e1c31599f7bd2dd0c9e"
dependencies = [
"async-dispatcher",
"async-std",
@@ -574,7 +574,7 @@ itertools = "0.14.0"
json_dotpath = "1.1"
jsonschema = "0.37.0"
jsonwebtoken = "10.0"
-jupyter-protocol = "1.2.0"
+jupyter-protocol = "1.4.0"
jupyter-websocket-client = "1.0.0"
libc = "0.2"
libsqlite3-sys = { version = "0.30.1", features = ["bundled"] }
@@ -590,7 +590,7 @@ minidumper = "0.8"
moka = { version = "0.12.10", features = ["sync"] }
naga = { version = "28.0", features = ["wgsl-in"] }
nanoid = "0.4"
-nbformat = "1.1.0"
+nbformat = "1.2.0"
nix = "0.29"
num-format = "0.4.4"
objc = "0.2"
@@ -660,7 +660,7 @@ reqwest = { git = "https://github.com/zed-industries/reqwest.git", rev = "c15662
"stream",
], package = "zed-reqwest", version = "0.12.15-zed" }
rsa = "0.9.6"
-runtimelib = { version = "1.2.0", default-features = false, features = [
+runtimelib = { version = "1.4.0", default-features = false, features = [
"async-dispatcher-runtime", "aws-lc-rs"
] }
rust-embed = { version = "8.4", features = ["include-exclude"] }
@@ -1514,6 +1514,9 @@ impl project::ProjectItem for NotebookItem {
nbformat::upgrade_legacy_notebook(legacy_notebook)?
}
+ nbformat::Notebook::V3(v3_notebook) => {
+ nbformat::upgrade_v3_notebook(v3_notebook)?
+ }
}
};
@@ -1791,6 +1794,9 @@ impl Item for NotebookEditor {
Ok(nbformat::Notebook::Legacy(legacy_notebook)) => {
nbformat::upgrade_legacy_notebook(legacy_notebook)?
}
+ Ok(nbformat::Notebook::V3(v3_notebook)) => {
+ nbformat::upgrade_v3_notebook(v3_notebook)?
+ }
Err(e) => {
anyhow::bail!("Failed to parse notebook: {:?}", e);
}