repl: Bump runtimed ecosystem packages and add support for V3 Jupyter Notebooks (#49914)

- 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
This commit is contained in:
MostlyK 2026-03-04 21:44:32 +05:30 committed by GitHub
parent d329961d7c
commit 731a80053c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 15 additions and 9 deletions

12
Cargo.lock generated
View file

@ -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",

View file

@ -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"] }

View file

@ -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);
}