diff --git a/Cargo.lock b/Cargo.lock index 95d6ef48761..4b334d3c21b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17,18 +17,6 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" -[[package]] -name = "ahash" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - [[package]] name = "aho-corasick" version = "1.1.3" @@ -38,12 +26,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - [[package]] name = "ammonia" version = "4.1.2" @@ -104,7 +86,7 @@ dependencies = [ "csv", "data-encoding", "difflib", - "dirs 6.0.0", + "dirs", "envy", "flate2", "fluent", @@ -118,7 +100,7 @@ dependencies = [ "id_tree", "inflections", "itertools 0.14.0", - "nom 8.0.0", + "nom", "num_cpus", "num_enum", "once_cell", @@ -146,7 +128,7 @@ dependencies = [ "serde_tuple", "sha1", "sha2 0.11.0", - "snafu", + "snafu 0.8.8", "strum 0.27.2", "syn 2.0.106", "tempfile", @@ -159,9 +141,9 @@ dependencies = [ "unic-ucd-category", "unicase", "unicode-normalization", - "windows 0.61.3", + "windows", "wiremock", - "zip 4.6.0", + "zip", "zstd", ] @@ -198,7 +180,7 @@ version = "0.0.0" dependencies = [ "camino", "rand 0.9.4", - "snafu", + "snafu 0.8.8", "tempfile", ] @@ -207,7 +189,7 @@ name = "anki_process" version = "0.0.0" dependencies = [ "itertools 0.14.0", - "snafu", + "snafu 0.8.8", ] [[package]] @@ -224,7 +206,7 @@ dependencies = [ "prost-reflect", "prost-types", "serde", - "snafu", + "snafu 0.8.8", "strum 0.27.2", ] @@ -320,15 +302,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" -[[package]] -name = "ash" -version = "0.38.0+1.3.281" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" -dependencies = [ - "libloading", -] - [[package]] name = "assert-json-diff" version = "2.0.2" @@ -339,18 +312,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "async-channel" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" -dependencies = [ - "concurrent-queue", - "event-listener-strategy", - "futures-core", - "pin-project-lite", -] - [[package]] name = "async-compression" version = "0.4.30" @@ -403,12 +364,6 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "atomic_float" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628d228f918ac3b82fe590352cc719d30664a0c13ca3a60266fe02c7132d480a" - [[package]] name = "autocfg" version = "1.5.0" @@ -552,31 +507,6 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" -[[package]] -name = "bincode" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740" -dependencies = [ - "serde", - "unty", -] - -[[package]] -name = "bit-set" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" - [[package]] name = "bitflags" version = "1.3.2" @@ -588,9 +518,6 @@ name = "bitflags" version = "2.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d" -dependencies = [ - "serde", -] [[package]] name = "blake3" @@ -646,345 +573,18 @@ version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" -[[package]] -name = "burn" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec639306f45bd663957465e840cfb07bcd2ae18f7c045dd9aba8cb7a69c0654a" -dependencies = [ - "burn-autodiff", - "burn-candle", - "burn-core", - "burn-cuda", - "burn-ndarray", - "burn-rocm", - "burn-router", - "burn-train", - "burn-wgpu", -] - -[[package]] -name = "burn-autodiff" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a178966322ab7ce71405f1324cdc14f79256d85a47138bbd2c8c4f0056148601" -dependencies = [ - "burn-common", - "burn-tensor", - "derive-new 0.7.0", - "hashbrown 0.15.5", - "log", - "num-traits", - "portable-atomic", - "spin 0.10.0", -] - -[[package]] -name = "burn-candle" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed0981b3c1d07e9df0f5bef1042921b6db6e88b5d91916fa5dbdd7f0ca921c3" -dependencies = [ - "burn-tensor", - "candle-core", - "derive-new 0.7.0", - "half", -] - -[[package]] -name = "burn-common" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c3fae76798ea4dd14e6290b6753eb6235ac28c6ceaf6da35ff8396775d5494d" -dependencies = [ - "cubecl-common", - "rayon", - "serde", -] - -[[package]] -name = "burn-core" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2afa81c868c1a9b3fad25c31176945d0cc5181ba7b77c0456bc05cf57fca975c" -dependencies = [ - "ahash", - "bincode", - "burn-common", - "burn-dataset", - "burn-derive", - "burn-tensor", - "data-encoding", - "derive-new 0.7.0", - "flate2", - "half", - "hashbrown 0.15.5", - "log", - "num-traits", - "portable-atomic-util", - "rand 0.9.4", - "rmp-serde", - "serde", - "serde_json", - "spin 0.10.0", - "uuid", -] - -[[package]] -name = "burn-cubecl" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c547cbe414274ab4022abcc85993e1e41aa7cdccc92395ba5658acfdac285e07" -dependencies = [ - "burn-common", - "burn-ir", - "burn-tensor", - "bytemuck", - "cubecl", - "cubecl-std", - "derive-new 0.7.0", - "futures-lite", - "half", - "hashbrown 0.15.5", - "log", - "num-traits", - "rand 0.9.4", - "serde", - "spin 0.10.0", - "text_placeholder", -] - -[[package]] -name = "burn-cuda" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "995bd0b3f52a4cfe0cfe47c16b40b3fd33285d17a086dd583e5b432074857e02" -dependencies = [ - "burn-cubecl", - "burn-tensor", - "bytemuck", - "cubecl", - "derive-new 0.7.0", - "half", - "log", -] - -[[package]] -name = "burn-dataset" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136c784dfc474c822f34d69e865f88a5675e9de9803ef38cee4ce14cdba34d54" -dependencies = [ - "csv", - "derive-new 0.7.0", - "dirs 6.0.0", - "rand 0.9.4", - "rmp-serde", - "sanitize-filename 0.6.0", - "serde", - "serde_json", - "strum 0.27.2", - "tempfile", - "thiserror 2.0.16", -] - -[[package]] -name = "burn-derive" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12e9f07ccc658ef072bce2e996f0c38c80ee4c241598b6557afe1877dd87ae98" -dependencies = [ - "derive-new 0.7.0", - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "burn-ir" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d63629f2c8b82ee52dbb9c18becded5117c2faf57365dc271a55c16d139cd91a" -dependencies = [ - "burn-tensor", - "hashbrown 0.15.5", - "portable-atomic-util", - "serde", -] - -[[package]] -name = "burn-ndarray" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e883846578e6915e1dbaeeb5bce32cc04cff03e7cb79c5836e1e888bbce974f" -dependencies = [ - "atomic_float", - "burn-autodiff", - "burn-common", - "burn-ir", - "burn-tensor", - "bytemuck", - "derive-new 0.7.0", - "itertools 0.14.0", - "libm", - "macerator", - "matrixmultiply", - "ndarray", - "num-traits", - "paste", - "portable-atomic-util", - "rand 0.9.4", - "seq-macro", - "spin 0.10.0", -] - -[[package]] -name = "burn-rocm" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd39d58202558b65b575921b57bff933845e6171296e2b8faf6a9d3610a344c5" -dependencies = [ - "burn-cubecl", - "burn-tensor", - "bytemuck", - "cubecl", - "derive-new 0.7.0", - "half", - "log", -] - -[[package]] -name = "burn-router" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ed8614e180f7a58f77e658bd52e206d2f4a1ee37fcb4665c635ea9da90ea8b" -dependencies = [ - "burn-common", - "burn-ir", - "burn-tensor", - "hashbrown 0.15.5", - "log", - "spin 0.10.0", -] - -[[package]] -name = "burn-tensor" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a70d1562c0d00083939e34daad61dabebb0f8bc8c250d1ef2f5efc31eb93aaf" -dependencies = [ - "burn-common", - "bytemuck", - "colored", - "cubecl", - "derive-new 0.7.0", - "half", - "hashbrown 0.15.5", - "num-traits", - "rand 0.9.4", - "rand_distr", - "serde", - "serde_bytes", -] - -[[package]] -name = "burn-train" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "140182cf5f1255d60e1d8c677fa45c6f71018c3c3c66aad093a9e4c3c222cf1c" -dependencies = [ - "async-channel", - "burn-core", - "burn-ndarray", - "derive-new 0.7.0", - "log", - "nvml-wrapper", - "rstest", - "serde", - "sysinfo", - "systemstat", - "tracing-appender", - "tracing-core", - "tracing-subscriber", -] - -[[package]] -name = "burn-wgpu" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "215bf0e641a27e17bcd3941a11867dcda411c9cb009488c6b6650c8206437c30" -dependencies = [ - "burn-cubecl", - "burn-tensor", - "cubecl", -] - -[[package]] -name = "bytemuck" -version = "1.23.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677" -dependencies = [ - "bytemuck_derive", -] - -[[package]] -name = "bytemuck_derive" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f154e572231cb6ba2bd1176980827e3d5dc04cc183a75dea38109fbdd672d29" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - [[package]] name = "bytes" version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" -[[package]] -name = "bytesize" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e93abca9e28e0a1b9877922aacb20576e05d4679ffa78c3d6dc22a26a216659" - [[package]] name = "camino" version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0b03af37dad7a14518b7691d81acb0f8222604ad3d1b02f6b4bed5188c0cd5" -[[package]] -name = "candle-core" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ccf5ee3532e66868516d9b315f73aec9f34ea1a37ae98514534d458915dbf1" -dependencies = [ - "byteorder", - "gemm 0.17.1", - "half", - "memmap2", - "num-traits", - "num_cpus", - "rand 0.9.4", - "rand_distr", - "rayon", - "safetensors", - "thiserror 1.0.69", - "ug", - "yoke 0.7.5", - "zip 1.1.4", -] - [[package]] name = "cast" version = "0.3.0" @@ -1014,6 +614,17 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +[[package]] +name = "chacha20" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "rand_core 0.10.1", +] + [[package]] name = "chrono" version = "0.4.41" @@ -1129,7 +740,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3362992a0d9f1dd7c3d0e89e0ab2bb540b7a95fea8cd798090e758fda2899b5e" dependencies = [ - "codespan-reporting 0.11.1", + "codespan-reporting", "serde", ] @@ -1144,32 +755,12 @@ dependencies = [ "unicode-width 0.1.14", ] -[[package]] -name = "codespan-reporting" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" -dependencies = [ - "serde", - "termcolor", - "unicode-width 0.2.1", -] - [[package]] name = "colorchoice" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" -[[package]] -name = "colored" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e" -dependencies = [ - "windows-sys 0.59.0", -] - [[package]] name = "compression-codecs" version = "0.4.30" @@ -1187,15 +778,6 @@ version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e47641d3deaf41fb1538ac1f54735925e275eaf3bf4d55c81b137fba797e5cbb" -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "configure" version = "0.0.0" @@ -1252,17 +834,6 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" -[[package]] -name = "core-graphics-types" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" -dependencies = [ - "bitflags 1.3.2", - "core-foundation 0.9.4", - "libc", -] - [[package]] name = "cpufeatures" version = "0.2.17" @@ -1426,273 +997,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "cubecl" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e438056cf7c25b3adde38240b89842e1c924b8e914731c82ad81161d23e6ff" -dependencies = [ - "cubecl-core", - "cubecl-cuda", - "cubecl-hip", - "cubecl-linalg", - "cubecl-reduce", - "cubecl-runtime", - "cubecl-std", - "cubecl-wgpu", - "half", -] - -[[package]] -name = "cubecl-common" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79251bfc7f067ac9038232fe38a317adc2f31cb2fc3800e69fd409ccac7abc1f" -dependencies = [ - "bytemuck", - "derive-new 0.6.0", - "derive_more", - "dirs 5.0.1", - "embassy-futures", - "futures-lite", - "half", - "hashbrown 0.14.5", - "log", - "num-traits", - "portable-atomic", - "rand 0.9.4", - "sanitize-filename 0.5.0", - "serde", - "serde_json", - "spin 0.9.8", -] - -[[package]] -name = "cubecl-core" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03bf4211cdbd68bb0fb8291e0ed825c13da0d1ac01b7c02dce3cee44a6138be" -dependencies = [ - "bitflags 2.9.3", - "bytemuck", - "cubecl-common", - "cubecl-ir", - "cubecl-macros", - "cubecl-runtime", - "derive-new 0.6.0", - "derive_more", - "half", - "hashbrown 0.14.5", - "log", - "num-traits", - "paste", - "serde", - "serde_json", - "variadics_please", -] - -[[package]] -name = "cubecl-cpp" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5eef85cbcc34be7e25fc9d39edf99ed68559862dbf25c1877ebdf4a9595d31b" -dependencies = [ - "bytemuck", - "cubecl-common", - "cubecl-core", - "cubecl-runtime", - "derive-new 0.6.0", - "half", - "log", -] - -[[package]] -name = "cubecl-cuda" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e091e4e3a3900faff440aec4053805ec4456f94f4acc4afe8e6b27519c6d16" -dependencies = [ - "bytemuck", - "cubecl-common", - "cubecl-core", - "cubecl-cpp", - "cubecl-runtime", - "cudarc", - "derive-new 0.6.0", - "half", - "log", - "serde", -] - -[[package]] -name = "cubecl-hip" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2f8c00207517de61cccdc4ca2724bc1db9dab94840beaf4329e43cead3bc4a" -dependencies = [ - "bytemuck", - "cubecl-common", - "cubecl-core", - "cubecl-cpp", - "cubecl-hip-sys", - "cubecl-runtime", - "derive-new 0.6.0", - "half", - "log", - "paste", -] - -[[package]] -name = "cubecl-hip-sys" -version = "6.4.4348201" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678a20e5e38ce9c772bdd53596f2801ef210ae735ec2d7d46b5d5b675c09d929" -dependencies = [ - "libc", - "regex", -] - -[[package]] -name = "cubecl-ir" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e096d77646590f0180ed4ce1aa7df4ecc7219f3c4616e9fe72d93ab63a352855" -dependencies = [ - "cubecl-common", - "cubecl-macros-internal", - "derive_more", - "float-ord", - "fnv", - "half", - "hashbrown 0.14.5", - "num-traits", - "portable-atomic", - "serde", - "variadics_please", -] - -[[package]] -name = "cubecl-linalg" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75aacf86f6004c274e63589aed55c5edcbcdf1b292eaf4ce2c1688c04c41a194" -dependencies = [ - "bytemuck", - "cubecl-common", - "cubecl-core", - "cubecl-reduce", - "cubecl-runtime", - "cubecl-std", - "half", - "serde", -] - -[[package]] -name = "cubecl-macros" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd74622b5c8cb161e3f7fa0b2b751784ef89ab45acfa355f511eb2219dde337e" -dependencies = [ - "cubecl-common", - "darling", - "derive-new 0.6.0", - "ident_case", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "cubecl-macros-internal" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a89898212c1eaba0e2f0dffcadc9790b20b75d2ec8836da084370b043be2623" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "cubecl-reduce" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7afbdfe03e7e3ca71f61890ebebc6b4390494204b545e6f6bf51a43755449073" -dependencies = [ - "cubecl-core", - "cubecl-runtime", - "cubecl-std", - "num-traits", - "serde", -] - -[[package]] -name = "cubecl-runtime" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "385234520c9e392382737f32ad372b05f345656eb798ba00b72d2722c68b698c" -dependencies = [ - "async-channel", - "bytemuck", - "cfg-if", - "cfg_aliases", - "cubecl-common", - "cubecl-ir", - "derive-new 0.6.0", - "hashbrown 0.14.5", - "log", - "md5", - "serde", - "serde_json", - "spin 0.9.8", - "variadics_please", - "wasm-bindgen-futures", -] - -[[package]] -name = "cubecl-std" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38868eea6fdc183feb3c46bcf5e666c78e6cf0ddca2c4f3a877785cc0eabd71e" -dependencies = [ - "cubecl-core", - "cubecl-runtime", - "half", - "serde", -] - -[[package]] -name = "cubecl-wgpu" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77fa2dcfaa6d75cfbc5ff05cafe99ec4a7fb7c0fa7197917e0fd20f5b90979fe" -dependencies = [ - "async-channel", - "bytemuck", - "cfg-if", - "cfg_aliases", - "cubecl-common", - "cubecl-core", - "cubecl-runtime", - "derive-new 0.6.0", - "derive_more", - "hashbrown 0.14.5", - "log", - "web-time", - "wgpu", -] - -[[package]] -name = "cudarc" -version = "0.13.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "486c221362668c63a1636cfa51463b09574433b39029326cff40864b3ba12b6e" -dependencies = [ - "libloading", -] - [[package]] name = "darling" version = "0.20.11" @@ -1760,28 +1064,6 @@ dependencies = [ "powerfmt", ] -[[package]] -name = "derive-new" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d150dea618e920167e5973d70ae6ece4385b7164e0d799fe7c122dd0a5d912ad" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "derive-new" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cdc8d50f426189eef89dac62fabfa0abb27d5cc008f25bf4156a0203325becc" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - [[package]] name = "derive_arbitrary" version = "1.4.2" @@ -1824,27 +1106,6 @@ dependencies = [ "syn 2.0.106", ] -[[package]] -name = "derive_more" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" -dependencies = [ - "derive_more-impl", -] - -[[package]] -name = "derive_more-impl" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", - "unicode-xid", -] - [[package]] name = "difflib" version = "0.4.0" @@ -1873,34 +1134,13 @@ dependencies = [ "crypto-common 0.2.1", ] -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys 0.4.1", -] - [[package]] name = "dirs" version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" dependencies = [ - "dirs-sys 0.5.0", -] - -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users 0.4.6", - "windows-sys 0.48.0", + "dirs-sys", ] [[package]] @@ -1911,7 +1151,7 @@ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", "option-ext", - "redox_users 0.5.2", + "redox_users", "windows-sys 0.60.2", ] @@ -1926,15 +1166,6 @@ dependencies = [ "syn 2.0.106", ] -[[package]] -name = "document-features" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d" -dependencies = [ - "litrs", -] - [[package]] name = "dtoa" version = "1.0.10" @@ -1956,25 +1187,6 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" -[[package]] -name = "dyn-stack" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e53799688f5632f364f8fb387488dd05db9fe45db7011be066fc20e7027f8b" -dependencies = [ - "bytemuck", - "reborrow", -] - -[[package]] -name = "dyn-stack" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "490bd48eb68fffcfed519b4edbfd82c69cbe741d175b84f0e0cbe8c57cbe0bdd" -dependencies = [ - "bytemuck", -] - [[package]] name = "either" version = "1.15.0" @@ -1993,12 +1205,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "embassy-futures" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc2d050bdc5c21e0862a89256ed8029ae6c290a93aecefc73084b3002cdebb01" - [[package]] name = "embed-resource" version = "3.0.5" @@ -2022,18 +1228,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "enum-as-inner" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.106", -] - [[package]] name = "env_filter" version = "0.1.3" @@ -2088,27 +1282,6 @@ dependencies = [ "windows-sys 0.60.2", ] -[[package]] -name = "event-listener" -version = "5.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" -dependencies = [ - "event-listener", - "pin-project-lite", -] - [[package]] name = "fallible-iterator" version = "0.3.0" @@ -2156,12 +1329,6 @@ dependencies = [ "miniz_oxide", ] -[[package]] -name = "float-ord" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce81f49ae8a0482e4c55ea62ebbd7e5a686af544c00b9d090bba3ff9be97b3d" - [[package]] name = "fluent" version = "0.17.0" @@ -2182,7 +1349,7 @@ dependencies = [ "fluent-syntax", "intl-memoizer", "intl_pluralrules", - "rustc-hash 2.1.1", + "rustc-hash", "self_cell", "smallvec", "unic-langid", @@ -2223,30 +1390,9 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" name = "foreign-types" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared 0.1.1", -] - -[[package]] -name = "foreign-types" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" -dependencies = [ - "foreign-types-macros", - "foreign-types-shared 0.3.1", -] - -[[package]] -name = "foreign-types-macros" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", ] [[package]] @@ -2255,12 +1401,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" -[[package]] -name = "foreign-types-shared" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" - [[package]] name = "form_urlencoded" version = "1.2.2" @@ -2281,20 +1421,19 @@ dependencies = [ [[package]] name = "fsrs" -version = "5.2.0" +version = "6.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab5f80c16d1d07e492a6828478ecb9f379f142ba6f19fa3b7955edd180ddc2e" +checksum = "b8a99ea3dec9af37c9ed3835463ff6820a578a0026a8e370b4c1c0db48dfab3f" dependencies = [ - "burn", "itertools 0.14.0", "log", "ndarray", "priority-queue", - "rand 0.9.4", + "rand 0.10.1", "rayon", "serde", - "snafu", - "strum 0.27.2", + "snafu 0.9.1", + "strum 0.28.0", ] [[package]] @@ -2310,7 +1449,7 @@ dependencies = [ "itertools 0.14.0", "regex", "serde_json", - "snafu", + "snafu 0.8.8", "walkdir", ] @@ -2372,19 +1511,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" -[[package]] -name = "futures-lite" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "parking", - "pin-project-lite", -] - [[package]] name = "futures-macro" version = "0.3.31" @@ -2408,12 +1534,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" - [[package]] name = "futures-util" version = "0.3.31" @@ -2432,243 +1552,6 @@ dependencies = [ "slab", ] -[[package]] -name = "gemm" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ab24cc62135b40090e31a76a9b2766a501979f3070fa27f689c27ec04377d32" -dependencies = [ - "dyn-stack 0.10.0", - "gemm-c32 0.17.1", - "gemm-c64 0.17.1", - "gemm-common 0.17.1", - "gemm-f16 0.17.1", - "gemm-f32 0.17.1", - "gemm-f64 0.17.1", - "num-complex", - "num-traits", - "paste", - "raw-cpuid 10.7.0", - "seq-macro", -] - -[[package]] -name = "gemm" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab96b703d31950f1aeddded248bc95543c9efc7ac9c4a21fda8703a83ee35451" -dependencies = [ - "dyn-stack 0.13.0", - "gemm-c32 0.18.2", - "gemm-c64 0.18.2", - "gemm-common 0.18.2", - "gemm-f16 0.18.2", - "gemm-f32 0.18.2", - "gemm-f64 0.18.2", - "num-complex", - "num-traits", - "paste", - "raw-cpuid 11.5.0", - "seq-macro", -] - -[[package]] -name = "gemm-c32" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9c030d0b983d1e34a546b86e08f600c11696fde16199f971cd46c12e67512c0" -dependencies = [ - "dyn-stack 0.10.0", - "gemm-common 0.17.1", - "num-complex", - "num-traits", - "paste", - "raw-cpuid 10.7.0", - "seq-macro", -] - -[[package]] -name = "gemm-c32" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6db9fd9f40421d00eea9dd0770045a5603b8d684654816637732463f4073847" -dependencies = [ - "dyn-stack 0.13.0", - "gemm-common 0.18.2", - "num-complex", - "num-traits", - "paste", - "raw-cpuid 11.5.0", - "seq-macro", -] - -[[package]] -name = "gemm-c64" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb5f2e79fefb9693d18e1066a557b4546cd334b226beadc68b11a8f9431852a" -dependencies = [ - "dyn-stack 0.10.0", - "gemm-common 0.17.1", - "num-complex", - "num-traits", - "paste", - "raw-cpuid 10.7.0", - "seq-macro", -] - -[[package]] -name = "gemm-c64" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfcad8a3d35a43758330b635d02edad980c1e143dc2f21e6fd25f9e4eada8edf" -dependencies = [ - "dyn-stack 0.13.0", - "gemm-common 0.18.2", - "num-complex", - "num-traits", - "paste", - "raw-cpuid 11.5.0", - "seq-macro", -] - -[[package]] -name = "gemm-common" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2e7ea062c987abcd8db95db917b4ffb4ecdfd0668471d8dc54734fdff2354e8" -dependencies = [ - "bytemuck", - "dyn-stack 0.10.0", - "half", - "num-complex", - "num-traits", - "once_cell", - "paste", - "pulp 0.18.22", - "raw-cpuid 10.7.0", - "rayon", - "seq-macro", - "sysctl 0.5.5", -] - -[[package]] -name = "gemm-common" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a352d4a69cbe938b9e2a9cb7a3a63b7e72f9349174a2752a558a8a563510d0f3" -dependencies = [ - "bytemuck", - "dyn-stack 0.13.0", - "half", - "libm", - "num-complex", - "num-traits", - "once_cell", - "paste", - "pulp 0.21.5", - "raw-cpuid 11.5.0", - "rayon", - "seq-macro", - "sysctl 0.6.0", -] - -[[package]] -name = "gemm-f16" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ca4c06b9b11952071d317604acb332e924e817bd891bec8dfb494168c7cedd4" -dependencies = [ - "dyn-stack 0.10.0", - "gemm-common 0.17.1", - "gemm-f32 0.17.1", - "half", - "num-complex", - "num-traits", - "paste", - "raw-cpuid 10.7.0", - "rayon", - "seq-macro", -] - -[[package]] -name = "gemm-f16" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff95ae3259432f3c3410eaa919033cd03791d81cebd18018393dc147952e109" -dependencies = [ - "dyn-stack 0.13.0", - "gemm-common 0.18.2", - "gemm-f32 0.18.2", - "half", - "num-complex", - "num-traits", - "paste", - "raw-cpuid 11.5.0", - "rayon", - "seq-macro", -] - -[[package]] -name = "gemm-f32" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9a69f51aaefbd9cf12d18faf273d3e982d9d711f60775645ed5c8047b4ae113" -dependencies = [ - "dyn-stack 0.10.0", - "gemm-common 0.17.1", - "num-complex", - "num-traits", - "paste", - "raw-cpuid 10.7.0", - "seq-macro", -] - -[[package]] -name = "gemm-f32" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc8d3d4385393304f407392f754cd2dc4b315d05063f62cf09f47b58de276864" -dependencies = [ - "dyn-stack 0.13.0", - "gemm-common 0.18.2", - "num-complex", - "num-traits", - "paste", - "raw-cpuid 11.5.0", - "seq-macro", -] - -[[package]] -name = "gemm-f64" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa397a48544fadf0b81ec8741e5c0fba0043008113f71f2034def1935645d2b0" -dependencies = [ - "dyn-stack 0.10.0", - "gemm-common 0.17.1", - "num-complex", - "num-traits", - "paste", - "raw-cpuid 10.7.0", - "seq-macro", -] - -[[package]] -name = "gemm-f64" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35b2a4f76ce4b8b16eadc11ccf2e083252d8237c1b589558a49b0183545015bd" -dependencies = [ - "dyn-stack 0.13.0", - "gemm-common 0.18.2", - "num-complex", - "num-traits", - "paste", - "raw-cpuid 11.5.0", - "seq-macro", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -2710,33 +1593,30 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "r-efi", + "r-efi 5.3.0", "wasi 0.14.3+wasi-0.2.4", "wasm-bindgen", ] [[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - -[[package]] -name = "gl_generator" -version = "0.14.0" +name = "getrandom" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" dependencies = [ - "khronos_api", - "log", - "xml-rs", + "cfg-if", + "libc", + "r-efi 6.0.0", + "rand_core 0.10.1", + "wasip2", + "wasip3", ] [[package]] -name = "glob" -version = "0.3.3" +name = "gimli" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "globset" @@ -2751,78 +1631,6 @@ dependencies = [ "regex-syntax", ] -[[package]] -name = "glow" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08" -dependencies = [ - "js-sys", - "slotmap", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "glutin_wgl_sys" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e" -dependencies = [ - "gl_generator", -] - -[[package]] -name = "gpu-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" -dependencies = [ - "bitflags 2.9.3", - "gpu-alloc-types", -] - -[[package]] -name = "gpu-alloc-types" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" -dependencies = [ - "bitflags 2.9.3", -] - -[[package]] -name = "gpu-allocator" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c151a2a5ef800297b4e79efa4f4bec035c5f51d5ae587287c9b952bdf734cacd" -dependencies = [ - "log", - "presser", - "thiserror 1.0.69", - "windows 0.58.0", -] - -[[package]] -name = "gpu-descriptor" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" -dependencies = [ - "bitflags 2.9.3", - "gpu-descriptor-types", - "hashbrown 0.15.5", -] - -[[package]] -name = "gpu-descriptor-types" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" -dependencies = [ - "bitflags 2.9.3", -] - [[package]] name = "h2" version = "0.3.27" @@ -2867,13 +1675,8 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" dependencies = [ - "bytemuck", "cfg-if", "crunchy", - "num-traits", - "rand 0.9.4", - "rand_distr", - "serde", ] [[package]] @@ -2892,36 +1695,13 @@ dependencies = [ "thiserror 2.0.16", ] -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", - "serde", -] - [[package]] name = "hashbrown" version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ - "allocator-api2", - "equivalent", "foldhash", - "serde", ] [[package]] @@ -2930,7 +1710,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" dependencies = [ - "hashbrown 0.15.5", + "hashbrown", ] [[package]] @@ -2975,12 +1755,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hexf-parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" - [[package]] name = "hmac" version = "0.12.1" @@ -3234,7 +2008,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.61.2", + "windows-core", ] [[package]] @@ -3254,7 +2028,7 @@ checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", "potential_utf", - "yoke 0.8.0", + "yoke", "zerofrom", "zerovec", ] @@ -3326,12 +2100,18 @@ dependencies = [ "stable_deref_trait", "tinystr", "writeable", - "yoke 0.8.0", + "yoke", "zerofrom", "zerotrie", "zerovec", ] +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + [[package]] name = "id_tree" version = "1.8.0" @@ -3391,7 +2171,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9" dependencies = [ "equivalent", - "hashbrown 0.15.5", + "hashbrown", + "serde", ] [[package]] @@ -3535,12 +2316,6 @@ dependencies = [ "syn 2.0.106", ] -[[package]] -name = "jni-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" - [[package]] name = "jobserver" version = "0.1.34" @@ -3571,23 +2346,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "khronos-egl" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" -dependencies = [ - "libc", - "libloading", - "pkg-config", -] - -[[package]] -name = "khronos_api" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" - [[package]] name = "kqueue" version = "1.1.1" @@ -3617,14 +2375,14 @@ dependencies = [ "anki_process", "anyhow", "camino", - "dirs 6.0.0", + "dirs", "embed-resource", "libc", "libc-stdhandle", "locale_config", "serde_json", "widestring", - "windows 0.61.3", + "windows", ] [[package]] @@ -3633,6 +2391,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "libc" version = "0.2.175" @@ -3649,22 +2413,6 @@ dependencies = [ "libc", ] -[[package]] -name = "libloading" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" -dependencies = [ - "cfg-if", - "windows-targets 0.53.3", -] - -[[package]] -name = "libm" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" - [[package]] name = "libredox" version = "0.1.9" @@ -3755,12 +2503,6 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" -[[package]] -name = "litrs" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5e54036fe321fd421e10d732f155734c4e4afd610dd556d9a82833ab3ee0bed" - [[package]] name = "locale_config" version = "0.3.0" @@ -3813,34 +2555,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" -[[package]] -name = "macerator" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ac9c19702c37bae1a53d130a326b1c4f58cb17d472538cf547d44b46dbbe3aa" -dependencies = [ - "bytemuck", - "cfg_aliases", - "half", - "macerator-macros", - "moddef", - "num-traits", - "paste", - "rustc_version", -] - -[[package]] -name = "macerator-macros" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd48b535b9b37a25a2589ab8d4f997886a2c68f59960ce06588525f38dd4944" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.106", -] - [[package]] name = "malloc_buf" version = "0.0.6" @@ -3932,18 +2646,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08" dependencies = [ "autocfg", - "num_cpus", - "once_cell", "rawpointer", - "thread-tree", ] -[[package]] -name = "md5" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" - [[package]] name = "mdbook" version = "0.4.52" @@ -3988,16 +2693,6 @@ version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" -[[package]] -name = "memmap2" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7" -dependencies = [ - "libc", - "stable_deref_trait", -] - [[package]] name = "memoffset" version = "0.9.1" @@ -4007,21 +2702,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "metal" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e" -dependencies = [ - "bitflags 2.9.3", - "block", - "core-graphics-types", - "foreign-types 0.5.0", - "log", - "objc", - "paste", -] - [[package]] name = "mime" version = "0.3.17" @@ -4051,12 +2731,6 @@ dependencies = [ "which", ] -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - [[package]] name = "miniz_oxide" version = "0.8.9" @@ -4078,12 +2752,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "moddef" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0b3262dc837d2513fe2ef31ff8461352ef932dcca31ba0c0abe33547cf6b9b" - [[package]] name = "multer" version = "3.1.0" @@ -4097,7 +2765,7 @@ dependencies = [ "httparse", "memchr", "mime", - "spin 0.9.8", + "spin", "version_check", ] @@ -4107,31 +2775,6 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084" -[[package]] -name = "naga" -version = "25.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b977c445f26e49757f9aca3631c3b8b836942cb278d69a92e7b80d3b24da632" -dependencies = [ - "arrayvec", - "bit-set", - "bitflags 2.9.3", - "cfg_aliases", - "codespan-reporting 0.12.0", - "half", - "hashbrown 0.15.5", - "hexf-parse", - "indexmap", - "log", - "num-traits", - "once_cell", - "rustc-hash 1.1.0", - "spirv", - "strum 0.26.3", - "thiserror 2.0.16", - "unicode-ident", -] - [[package]] name = "native-tls" version = "0.2.14" @@ -4151,9 +2794,9 @@ dependencies = [ [[package]] name = "ndarray" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "882ed72dce9365842bf196bdeedf5055305f11fc8c03dee7bb0194a6cad34841" +checksum = "520080814a7a6b4a6e9070823bb24b4531daac8c4627e08ba5de8c5ef2f2752d" dependencies = [ "matrixmultiply", "num-complex", @@ -4162,16 +2805,6 @@ dependencies = [ "portable-atomic", "portable-atomic-util", "rawpointer", - "rayon", -] - -[[package]] -name = "ndk-sys" -version = "0.5.0+25.2.9519653" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" -dependencies = [ - "jni-sys", ] [[package]] @@ -4202,16 +2835,6 @@ dependencies = [ "which", ] -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - [[package]] name = "nom" version = "8.0.0" @@ -4266,15 +2889,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d" -[[package]] -name = "ntapi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi", -] - [[package]] name = "nu-ansi-term" version = "0.50.1" @@ -4284,37 +2898,12 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - [[package]] name = "num-complex" version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ - "bytemuck", "num-traits", ] @@ -4343,17 +2932,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-modular" version = "0.6.1" @@ -4369,17 +2947,6 @@ dependencies = [ "num-modular", ] -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -4387,7 +2954,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", - "libm", ] [[package]] @@ -4422,29 +2988,6 @@ dependencies = [ "syn 2.0.106", ] -[[package]] -name = "nvml-wrapper" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c9bff0aa1d48904a1385ea2a8b97576fbdcbc9a3cfccd0d31fe978e1c4038c5" -dependencies = [ - "bitflags 2.9.3", - "libloading", - "nvml-wrapper-sys", - "static_assertions", - "thiserror 1.0.69", - "wrapcenum-derive", -] - -[[package]] -name = "nvml-wrapper-sys" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "698d45156f28781a4e79652b6ebe2eaa0589057d588d3aec1333f6466f13fcb5" -dependencies = [ - "libloading", -] - [[package]] name = "objc" version = "0.2.7" @@ -4520,7 +3063,7 @@ checksum = "a45fa2aa886c42762255da344f0a0d313e254066c46aad76f300c3d3da62d967" dependencies = [ "bitflags 2.9.3", "cfg-if", - "foreign-types 0.3.2", + "foreign-types", "libc", "openssl-macros", "openssl-sys", @@ -4570,21 +3113,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "ordered-float" -version = "4.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" -dependencies = [ - "num-traits", -] - -[[package]] -name = "parking" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" - [[package]] name = "parking_lot" version = "0.12.4" @@ -4619,12 +3147,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - [[package]] name = "pathdiff" version = "0.2.3" @@ -4875,9 +3397,6 @@ name = "portable-atomic" version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" -dependencies = [ - "serde", -] [[package]] name = "portable-atomic-util" @@ -4918,12 +3437,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" -[[package]] -name = "presser" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" - [[package]] name = "prettyplease" version = "0.2.37" @@ -4936,13 +3449,13 @@ dependencies = [ [[package]] name = "priority-queue" -version = "2.5.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5676d703dda103cbb035b653a9f11448c0a7216c7926bd35fcb5865475d0c970" +checksum = "93980406f12d9f8140ed5abe7155acb10bb1e69ea55c88960b9c2f117445ef96" dependencies = [ - "autocfg", "equivalent", "indexmap", + "serde", ] [[package]] @@ -4969,12 +3482,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "profiling" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773" - [[package]] name = "prost" version = "0.13.5" @@ -5087,32 +3594,6 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "007d8adb5ddab6f8e3f491ac63566a7d5002cc7ed73901f72057943fa71ae1ae" -[[package]] -name = "pulp" -version = "0.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0a01a0dc67cf4558d279f0c25b0962bd08fc6dec0137699eae304103e882fe6" -dependencies = [ - "bytemuck", - "libm", - "num-complex", - "reborrow", -] - -[[package]] -name = "pulp" -version = "0.21.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b86df24f0a7ddd5e4b95c94fc9ed8a98f1ca94d3b01bdce2824097e7835907" -dependencies = [ - "bytemuck", - "cfg-if", - "libm", - "num-complex", - "reborrow", - "version_check", -] - [[package]] name = "pyo3" version = "0.25.1" @@ -5186,7 +3667,7 @@ dependencies = [ "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.1", + "rustc-hash", "rustls", "socket2 0.6.0", "thiserror 2.0.16", @@ -5206,7 +3687,7 @@ dependencies = [ "lru-slab", "rand 0.9.4", "ring", - "rustc-hash 2.1.1", + "rustc-hash", "rustls", "rustls-pki-types", "slab", @@ -5245,6 +3726,12 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + [[package]] name = "rand" version = "0.8.5" @@ -5266,6 +3753,17 @@ dependencies = [ "rand_core 0.9.3", ] +[[package]] +name = "rand" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" +dependencies = [ + "chacha20", + "getrandom 0.4.2", + "rand_core 0.10.1", +] + [[package]] name = "rand_chacha" version = "0.3.1" @@ -5305,44 +3803,10 @@ dependencies = [ ] [[package]] -name = "rand_distr" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463" -dependencies = [ - "num-traits", - "rand 0.9.4", -] - -[[package]] -name = "range-alloc" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d6831663a5098ea164f89cff59c6284e95f4e3c76ce9848d4529f5ccca9bde" - -[[package]] -name = "raw-cpuid" -version = "10.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "raw-cpuid" -version = "11.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6df7ab838ed27997ba19a4664507e6f82b41fe6e20be42929332156e5e85146" -dependencies = [ - "bitflags 2.9.3", -] - -[[package]] -name = "raw-window-handle" -version = "0.6.2" +name = "rand_core" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" [[package]] name = "rawpointer" @@ -5352,9 +3816,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" dependencies = [ "either", "rayon-core", @@ -5370,12 +3834,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "reborrow" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430" - [[package]] name = "redox_syscall" version = "0.5.17" @@ -5385,17 +3843,6 @@ dependencies = [ "bitflags 2.9.3", ] -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom 0.2.16", - "libredox", - "thiserror 1.0.69", -] - [[package]] name = "redox_users" version = "0.5.2" @@ -5436,18 +3883,6 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" -[[package]] -name = "relative-path" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" - -[[package]] -name = "renderdoc-sys" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" - [[package]] name = "reqwest" version = "0.11.27" @@ -5539,36 +3974,14 @@ dependencies = [ name = "ring" version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" -dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.16", - "libc", - "untrusted", - "windows-sys 0.52.0", -] - -[[package]] -name = "rmp" -version = "0.8.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" -dependencies = [ - "byteorder", - "num-traits", - "paste", -] - -[[package]] -name = "rmp-serde" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ - "byteorder", - "rmp", - "serde", + "cc", + "cfg-if", + "getrandom 0.2.16", + "libc", + "untrusted", + "windows-sys 0.52.0", ] [[package]] @@ -5579,36 +3992,6 @@ dependencies = [ "pyo3", ] -[[package]] -name = "rstest" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fc39292f8613e913f7df8fa892b8944ceb47c247b78e1b1ae2f09e019be789d" -dependencies = [ - "futures-timer", - "futures-util", - "rstest_macros", - "rustc_version", -] - -[[package]] -name = "rstest_macros" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f168d99749d307be9de54d23fd226628d99768225ef08f6ffb52e0182a27746" -dependencies = [ - "cfg-if", - "glob", - "proc-macro-crate", - "proc-macro2", - "quote", - "regex", - "relative-path", - "rustc_version", - "syn 2.0.106", - "unicode-ident", -] - [[package]] name = "runner" version = "0.0.0" @@ -5628,7 +4011,7 @@ dependencies = [ "tokio", "which", "xz2", - "zip 4.6.0", + "zip", "zstd", ] @@ -5652,12 +4035,6 @@ version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - [[package]] name = "rustc-hash" version = "2.1.1" @@ -5763,16 +4140,6 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" -[[package]] -name = "safetensors" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44560c11236a6130a46ce36c836a62936dc81ebf8c36a37947423571be0e55b6" -dependencies = [ - "serde", - "serde_json", -] - [[package]] name = "same-file" version = "1.0.6" @@ -5782,25 +4149,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "sanitize-filename" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ed72fbaf78e6f2d41744923916966c4fbe3d7c74e3037a8ee482f1115572603" -dependencies = [ - "lazy_static", - "regex", -] - -[[package]] -name = "sanitize-filename" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc984f4f9ceb736a7bb755c3e3bd17dc56370af2600c9780dcc48c66453da34d" -dependencies = [ - "regex", -] - [[package]] name = "schannel" version = "0.1.27" @@ -5864,12 +4212,6 @@ version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" -[[package]] -name = "seq-macro" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc" - [[package]] name = "serde" version = "1.0.228" @@ -5898,16 +4240,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" dependencies = [ - "ordered-float 2.10.1", - "serde", -] - -[[package]] -name = "serde_bytes" -version = "0.11.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" -dependencies = [ + "ordered-float", "serde", ] @@ -6087,15 +4420,6 @@ version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" -[[package]] -name = "slotmap" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" -dependencies = [ - "version_check", -] - [[package]] name = "smallvec" version = "1.15.1" @@ -6108,7 +4432,16 @@ version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4800ae0e2ebdfaea32ffb9745642acdc378740dcbd74d3fb3cd87572a34810c6" dependencies = [ - "snafu-derive", + "snafu-derive 0.8.8", +] + +[[package]] +name = "snafu" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1a012328be2e3f5d5f6f3218147ca02588cea4cb865e876849ab6debcf36522" +dependencies = [ + "snafu-derive 0.9.1", ] [[package]] @@ -6123,6 +4456,18 @@ dependencies = [ "syn 2.0.106", ] +[[package]] +name = "snafu-derive" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f103c50866b8743da9429b8a581d81a27c2d3a9c4ac7df8f8571c1dd7896eda" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "snowflake" version = "1.3.0" @@ -6154,29 +4499,6 @@ name = "spin" version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", - "portable-atomic", -] - -[[package]] -name = "spin" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" -dependencies = [ - "lock_api", - "portable-atomic", -] - -[[package]] -name = "spirv" -version = "0.3.0+sdk-1.3.268.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" -dependencies = [ - "bitflags 2.9.3", -] [[package]] name = "stable_deref_trait" @@ -6184,12 +4506,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - [[package]] name = "string_cache" version = "0.8.9" @@ -6223,40 +4539,39 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" -version = "0.26.3" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" dependencies = [ - "strum_macros 0.26.4", + "strum_macros 0.27.2", ] [[package]] name = "strum" -version = "0.27.2" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" +checksum = "9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd" dependencies = [ - "strum_macros 0.27.2", + "strum_macros 0.28.0", ] [[package]] name = "strum_macros" -version = "0.26.4" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" dependencies = [ "heck", "proc-macro2", "quote", - "rustversion", "syn 2.0.106", ] [[package]] name = "strum_macros" -version = "0.27.2" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" +checksum = "ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664" dependencies = [ "heck", "proc-macro2", @@ -6318,48 +4633,6 @@ dependencies = [ "syn 2.0.106", ] -[[package]] -name = "sysctl" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea" -dependencies = [ - "bitflags 2.9.3", - "byteorder", - "enum-as-inner", - "libc", - "thiserror 1.0.69", - "walkdir", -] - -[[package]] -name = "sysctl" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01198a2debb237c62b6826ec7081082d951f46dbb64b0e8c7649a452230d1dfc" -dependencies = [ - "bitflags 2.9.3", - "byteorder", - "enum-as-inner", - "libc", - "thiserror 1.0.69", - "walkdir", -] - -[[package]] -name = "sysinfo" -version = "0.33.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fc858248ea01b66f19d8e8a6d55f41deaf91e9d495246fd01368d99935c6c01" -dependencies = [ - "core-foundation-sys", - "libc", - "memchr", - "ntapi", - "rayon", - "windows 0.57.0", -] - [[package]] name = "system-configuration" version = "0.5.1" @@ -6381,20 +4654,6 @@ dependencies = [ "libc", ] -[[package]] -name = "systemstat" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5021f5184d44b26fb184acd689671bbe1e4bbd24bbdaa6bc7ec383fad32d2033" -dependencies = [ - "bytesize", - "lazy_static", - "libc", - "nom 7.1.3", - "time", - "winapi", -] - [[package]] name = "tar" version = "0.4.46" @@ -6455,17 +4714,6 @@ dependencies = [ "windows-sys 0.60.2", ] -[[package]] -name = "text_placeholder" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd5008f74a09742486ef0047596cf35df2b914e2a8dca5727fcb6ba6842a766b" -dependencies = [ - "hashbrown 0.13.2", - "serde", - "serde_json", -] - [[package]] name = "thiserror" version = "1.0.69" @@ -6506,15 +4754,6 @@ dependencies = [ "syn 2.0.106", ] -[[package]] -name = "thread-tree" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbd370cb847953a25954d9f63e14824a36113f8c72eecf6eccef5dc4b45d630" -dependencies = [ - "crossbeam-channel", -] - [[package]] name = "thread_local" version = "1.1.9" @@ -6895,7 +5134,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90" dependencies = [ - "rustc-hash 2.1.1", + "rustc-hash", ] [[package]] @@ -6910,27 +5149,6 @@ version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" -[[package]] -name = "ug" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03719c61a91b51541f076dfdba45caacf750b230cefaa4b32d6f5411c3f7f437" -dependencies = [ - "gemm 0.18.2", - "half", - "libloading", - "memmap2", - "num", - "num-traits", - "num_cpus", - "rayon", - "safetensors", - "serde", - "thiserror 1.0.69", - "tracing", - "yoke 0.7.5", -] - [[package]] name = "unic-char-property" version = "0.9.0" @@ -7076,12 +5294,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" -[[package]] -name = "unty" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" - [[package]] name = "url" version = "2.5.7" @@ -7112,29 +5324,12 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" -[[package]] -name = "uuid" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f33196643e165781c20a5ead5582283a7dacbb87855d867fbc2df3f81eddc1be" - [[package]] name = "valuable" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" -[[package]] -name = "variadics_please" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b6d82be61465f97d42bd1d15bf20f3b0a3a0905018f38f9d6f6962055b0b5c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - [[package]] name = "vcpkg" version = "0.2.15" @@ -7198,7 +5393,25 @@ version = "0.14.3+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.45.0", +] + +[[package]] +name = "wasip2" +version = "1.0.3+wasi-0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" +dependencies = [ + "wit-bindgen 0.57.1", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen 0.51.0", ] [[package]] @@ -7282,204 +5495,91 @@ dependencies = [ ] [[package]] -name = "wasm-streams" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "web-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "web-time" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "web_atoms" -version = "0.1.3" +name = "wasm-encoder" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ffde1dc01240bdf9992e3205668b235e59421fd085e8a317ed98da0178d414" -dependencies = [ - "phf 0.11.3", - "phf_codegen 0.11.3", - "string_cache", - "string_cache_codegen", +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", ] [[package]] -name = "webpki-roots" -version = "1.0.2" +name = "wasm-metadata" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" dependencies = [ - "rustls-pki-types", + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", ] [[package]] -name = "wgpu" -version = "25.0.2" +name = "wasm-streams" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8fb398f119472be4d80bc3647339f56eb63b2a331f6a3d16e25d8144197dd9" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ - "arrayvec", - "bitflags 2.9.3", - "cfg_aliases", - "document-features", - "hashbrown 0.15.5", + "futures-util", "js-sys", - "log", - "naga", - "parking_lot", - "portable-atomic", - "profiling", - "raw-window-handle", - "smallvec", - "static_assertions", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "wgpu-core", - "wgpu-hal", - "wgpu-types", ] [[package]] -name = "wgpu-core" -version = "25.0.2" +name = "wasmparser" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7b882196f8368511d613c6aeec80655160db6646aebddf8328879a88d54e500" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ - "arrayvec", - "bit-set", - "bit-vec", "bitflags 2.9.3", - "cfg_aliases", - "document-features", - "hashbrown 0.15.5", + "hashbrown", "indexmap", - "log", - "naga", - "once_cell", - "parking_lot", - "portable-atomic", - "profiling", - "raw-window-handle", - "rustc-hash 1.1.0", - "smallvec", - "thiserror 2.0.16", - "wgpu-core-deps-apple", - "wgpu-core-deps-emscripten", - "wgpu-core-deps-windows-linux-android", - "wgpu-hal", - "wgpu-types", -] - -[[package]] -name = "wgpu-core-deps-apple" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfd488b3239b6b7b185c3b045c39ca6bf8af34467a4c5de4e0b1a564135d093d" -dependencies = [ - "wgpu-hal", + "semver", ] [[package]] -name = "wgpu-core-deps-emscripten" -version = "25.0.0" +name = "web-sys" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f09ad7aceb3818e52539acc679f049d3475775586f3f4e311c30165cf2c00445" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ - "wgpu-hal", + "js-sys", + "wasm-bindgen", ] [[package]] -name = "wgpu-core-deps-windows-linux-android" -version = "25.0.0" +name = "web-time" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cba5fb5f7f9c98baa7c889d444f63ace25574833df56f5b817985f641af58e46" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ - "wgpu-hal", + "js-sys", + "wasm-bindgen", ] [[package]] -name = "wgpu-hal" -version = "25.0.2" +name = "web_atoms" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f968767fe4d3d33747bbd1473ccd55bf0f6451f55d733b5597e67b5deab4ad17" +checksum = "57ffde1dc01240bdf9992e3205668b235e59421fd085e8a317ed98da0178d414" dependencies = [ - "android_system_properties", - "arrayvec", - "ash", - "bit-set", - "bitflags 2.9.3", - "block", - "bytemuck", - "cfg-if", - "cfg_aliases", - "core-graphics-types", - "glow", - "glutin_wgl_sys", - "gpu-alloc", - "gpu-allocator", - "gpu-descriptor", - "hashbrown 0.15.5", - "js-sys", - "khronos-egl", - "libc", - "libloading", - "log", - "metal", - "naga", - "ndk-sys", - "objc", - "ordered-float 4.6.0", - "parking_lot", - "portable-atomic", - "profiling", - "range-alloc", - "raw-window-handle", - "renderdoc-sys", - "smallvec", - "thiserror 2.0.16", - "wasm-bindgen", - "web-sys", - "wgpu-types", - "windows 0.58.0", - "windows-core 0.58.0", + "phf 0.11.3", + "phf_codegen 0.11.3", + "string_cache", + "string_cache_codegen", ] [[package]] -name = "wgpu-types" -version = "25.0.0" +name = "webpki-roots" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aa49460c2a8ee8edba3fca54325540d904dd85b2e086ada762767e17d06e8bc" +checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" dependencies = [ - "bitflags 2.9.3", - "bytemuck", - "js-sys", - "log", - "thiserror 2.0.16", - "web-sys", + "rustls-pki-types", ] [[package]] @@ -7530,26 +5630,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" -dependencies = [ - "windows-core 0.57.0", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" -dependencies = [ - "windows-core 0.58.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows" version = "0.61.3" @@ -7557,7 +5637,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" dependencies = [ "windows-collections", - "windows-core 0.61.2", + "windows-core", "windows-future", "windows-link", "windows-numerics", @@ -7569,32 +5649,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" dependencies = [ - "windows-core 0.61.2", -] - -[[package]] -name = "windows-core" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" -dependencies = [ - "windows-implement 0.57.0", - "windows-interface 0.57.0", - "windows-result 0.1.2", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-core" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" -dependencies = [ - "windows-implement 0.58.0", - "windows-interface 0.58.0", - "windows-result 0.2.0", - "windows-strings 0.1.0", - "windows-targets 0.52.6", + "windows-core", ] [[package]] @@ -7603,11 +5658,11 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ - "windows-implement 0.60.0", - "windows-interface 0.59.1", + "windows-implement", + "windows-interface", "windows-link", - "windows-result 0.3.4", - "windows-strings 0.4.2", + "windows-result", + "windows-strings", ] [[package]] @@ -7616,33 +5671,11 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" dependencies = [ - "windows-core 0.61.2", + "windows-core", "windows-link", "windows-threading", ] -[[package]] -name = "windows-implement" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "windows-implement" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - [[package]] name = "windows-implement" version = "0.60.0" @@ -7654,28 +5687,6 @@ dependencies = [ "syn 2.0.106", ] -[[package]] -name = "windows-interface" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "windows-interface" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - [[package]] name = "windows-interface" version = "0.59.1" @@ -7699,28 +5710,10 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" dependencies = [ - "windows-core 0.61.2", + "windows-core", "windows-link", ] -[[package]] -name = "windows-result" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-result" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" -dependencies = [ - "windows-targets 0.52.6", -] - [[package]] name = "windows-result" version = "0.3.4" @@ -7730,16 +5723,6 @@ dependencies = [ "windows-link", ] -[[package]] -name = "windows-strings" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" -dependencies = [ - "windows-result 0.2.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows-strings" version = "0.4.2" @@ -8045,15 +6028,97 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814" [[package]] -name = "wrapcenum-derive" -version = "0.4.1" +name = "wit-bindgen" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76ff259533532054cfbaefb115c613203c73707017459206380f03b3b3f266e" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" dependencies = [ - "darling", + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn 2.0.106", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", "proc-macro2", "quote", "syn 2.0.106", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags 2.9.3", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", ] [[package]] @@ -8072,12 +6137,6 @@ dependencies = [ "rustix", ] -[[package]] -name = "xml-rs" -version = "0.8.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7" - [[package]] name = "xml5ever" version = "0.17.0" @@ -8098,18 +6157,6 @@ dependencies = [ "lzma-sys", ] -[[package]] -name = "yoke" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" -dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive 0.7.5", - "zerofrom", -] - [[package]] name = "yoke" version = "0.8.0" @@ -8118,22 +6165,10 @@ checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ "serde", "stable_deref_trait", - "yoke-derive 0.8.0", + "yoke-derive", "zerofrom", ] -[[package]] -name = "yoke-derive" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", - "synstructure", -] - [[package]] name = "yoke-derive" version = "0.8.0" @@ -8200,7 +6235,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" dependencies = [ "displaydoc", - "yoke 0.8.0", + "yoke", "zerofrom", ] @@ -8210,7 +6245,7 @@ version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" dependencies = [ - "yoke 0.8.0", + "yoke", "zerofrom", "zerovec-derive", ] @@ -8226,21 +6261,6 @@ dependencies = [ "syn 2.0.106", ] -[[package]] -name = "zip" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cc23c04387f4da0374be4533ad1208cbb091d5c11d070dfef13676ad6497164" -dependencies = [ - "arbitrary", - "crc32fast", - "crossbeam-utils", - "displaydoc", - "indexmap", - "num_enum", - "thiserror 1.0.69", -] - [[package]] name = "zip" version = "4.6.0" diff --git a/Cargo.toml b/Cargo.toml index 03caa32ad70..09820dce04a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ git = "https://github.com/ankitects/linkcheck.git" rev = "184b2ca50ed39ca43da13f0b830a463861adb9ca" [workspace.dependencies.fsrs] -version = "5.2.0" +version = "6.6.1" # git = "https://github.com/open-spaced-repetition/fsrs-rs.git" # path = "../open-spaced-repetition/fsrs-rs" diff --git a/cargo/licenses.json b/cargo/licenses.json index fcc1b520c8b..78b8aec036d 100644 --- a/cargo/licenses.json +++ b/cargo/licenses.json @@ -15,14 +15,6 @@ "name": "adler2", "repository": "https://github.com/oyvindln/adler2" }, - { - "authors": "Tom Kaitchuck ", - "description": "A non-cryptographic hash function using AES-NI for high performance", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "ahash", - "repository": "https://github.com/tkaitchuck/ahash" - }, { "authors": "Andrew Gallant ", "description": "Fast multiple substring searching.", @@ -31,14 +23,6 @@ "name": "aho-corasick", "repository": "https://github.com/BurntSushi/aho-corasick" }, - { - "authors": "Zakarum ", - "description": "Mirror of Rust's allocator API", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "allocator-api2", - "repository": "https://github.com/zakarumych/allocator-api2" - }, { "authors": "Michael Howell ", "description": "HTML Sanitization", @@ -135,14 +119,6 @@ "name": "arrayvec", "repository": "https://github.com/bluss/arrayvec" }, - { - "authors": "Maik Klein |Benjamin Saunders |Marijn Suijten ", - "description": "Vulkan bindings for Rust", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "ash", - "repository": "https://github.com/ash-rs/ash" - }, { "authors": "David Pedersen ", "description": "Easily compare two JSON values and get great output", @@ -151,14 +127,6 @@ "name": "assert-json-diff", "repository": "https://github.com/davidpdrsn/assert-json-diff.git" }, - { - "authors": "Stjepan Glavina ", - "description": "Async multi-producer multi-consumer channel", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "async-channel", - "repository": "https://github.com/smol-rs/async-channel" - }, { "authors": "Wim Looman |Allen Bui ", "description": "Adaptors between compression crates and Rust's modern asynchronous IO types.", @@ -199,14 +167,6 @@ "name": "atomic-waker", "repository": "https://github.com/smol-rs/atomic-waker" }, - { - "authors": "Thom Chiovoloni ", - "description": "Floating point types which can be safely shared between threads", - "license": "Apache-2.0 OR MIT OR Unlicense", - "license_file": null, - "name": "atomic_float", - "repository": "https://github.com/thomcc/atomic_float" - }, { "authors": "Josh Stone ", "description": "Automatic cfg for Rust compiler features", @@ -279,38 +239,6 @@ "name": "base64ct", "repository": "https://github.com/RustCrypto/formats" }, - { - "authors": "Ty Overby |Zoey Riordan |Victor Koenders ", - "description": "A binary serialization / deserialization strategy for transforming structs into bytes and vice versa!", - "license": "MIT", - "license_file": null, - "name": "bincode", - "repository": "https://github.com/bincode-org/bincode" - }, - { - "authors": "Alexis Beingessner ", - "description": "A set of bits", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "bit-set", - "repository": "https://github.com/contain-rs/bit-set" - }, - { - "authors": "Alexis Beingessner ", - "description": "A vector of bits", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "bit-vec", - "repository": "https://github.com/contain-rs/bit-vec" - }, - { - "authors": "The Rust Project Developers", - "description": "A macro to generate structures which behave like bitflags.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "bitflags", - "repository": "https://github.com/bitflags/bitflags" - }, { "authors": "The Rust Project Developers", "description": "A macro to generate structures which behave like bitflags.", @@ -327,14 +255,6 @@ "name": "blake3", "repository": "https://github.com/BLAKE3-team/BLAKE3" }, - { - "authors": "Steven Sheldon", - "description": "Rust interface for Apple's C language extension of blocks.", - "license": "MIT", - "license_file": null, - "name": "block", - "repository": "http://github.com/SSheldon/rust-block" - }, { "authors": "RustCrypto Developers", "description": "Buffer type for block processing of data", @@ -359,158 +279,6 @@ "name": "bumpalo", "repository": "https://github.com/fitzgen/bumpalo" }, - { - "authors": "nathanielsimard ", - "description": "Flexible and Comprehensive Deep Learning Framework in Rust", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn", - "repository": "https://github.com/tracel-ai/burn" - }, - { - "authors": "nathanielsimard ", - "description": "Automatic differentiation backend for the Burn framework", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-autodiff", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-autodiff" - }, - { - "authors": "louisfd ", - "description": "Candle backend for the Burn framework", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-candle", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-candle" - }, - { - "authors": "Dilshod Tadjibaev (@antimora)", - "description": "Common crate for the Burn framework", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-common", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-common" - }, - { - "authors": "nathanielsimard ", - "description": "Flexible and Comprehensive Deep Learning Framework in Rust", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-core", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-core" - }, - { - "authors": "nathanielsimard ", - "description": "Generic backend that can be compiled just-in-time to any shader language target", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-cubecl", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-cubecl" - }, - { - "authors": "nathanielsimard ", - "description": "CUDA backend for the Burn framework", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-cuda", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-cuda" - }, - { - "authors": "nathanielsimard ", - "description": "Library with simple dataset APIs for creating ML data pipelines", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-dataset", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-dataset" - }, - { - "authors": "nathanielsimard ", - "description": "Derive crate for the Burn framework", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-derive", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-derive" - }, - { - "authors": "laggui |nathanielsimard ", - "description": "Intermediate representation for the Burn framework", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-ir", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-ir" - }, - { - "authors": "nathanielsimard ", - "description": "Ndarray backend for the Burn framework", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-ndarray", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-ndarray" - }, - { - "authors": "nathanielsimard ", - "description": "ROCm HIP backend for the Burn framework", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-rocm", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-rocm" - }, - { - "authors": "laggui |nathanielsimard ", - "description": "Multi-backend router decorator for the Burn framework", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-router", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-router" - }, - { - "authors": "nathanielsimard ", - "description": "Tensor library with user-friendly APIs and automatic differentiation support", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-tensor", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-tensor" - }, - { - "authors": "nathanielsimard ", - "description": "Training crate for the Burn framework", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-train", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-train" - }, - { - "authors": "nathanielsimard ", - "description": "WGPU backend for the Burn framework", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "burn-wgpu", - "repository": "https://github.com/tracel-ai/burn/tree/main/crates/burn-wgpu" - }, - { - "authors": "Lokathor ", - "description": "A crate for mucking around with piles of bytes.", - "license": "Apache-2.0 OR MIT OR Zlib", - "license_file": null, - "name": "bytemuck", - "repository": "https://github.com/Lokathor/bytemuck" - }, - { - "authors": "Lokathor ", - "description": "derive proc-macros for `bytemuck`", - "license": "Apache-2.0 OR MIT OR Zlib", - "license_file": null, - "name": "bytemuck_derive", - "repository": "https://github.com/Lokathor/bytemuck" - }, - { - "authors": "Andrew Gallant ", - "description": "Library for reading/writing numbers in big-endian and little-endian.", - "license": "MIT OR Unlicense", - "license_file": null, - "name": "byteorder", - "repository": "https://github.com/BurntSushi/byteorder" - }, { "authors": "Carl Lerche |Sean McArthur ", "description": "Types and traits for working with bytes", @@ -519,14 +287,6 @@ "name": "bytes", "repository": "https://github.com/tokio-rs/bytes" }, - { - "authors": "Hyunsik Choi ", - "description": "an utility for human-readable bytes representations", - "license": "Apache-2.0", - "license_file": null, - "name": "bytesize", - "repository": "https://github.com/bytesize-rs/bytesize/" - }, { "authors": "Without Boats |Ashley Williams |Steve Klabnik |Rain ", "description": "UTF-8 paths", @@ -535,14 +295,6 @@ "name": "camino", "repository": "https://github.com/camino-rs/camino" }, - { - "authors": null, - "description": "Minimalist ML framework.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "candle-core", - "repository": "https://github.com/huggingface/candle" - }, { "authors": "Alex Crichton ", "description": "A build-time dependency for Cargo build scripts to assist in invoking the native C compiler to compile native C code into a static archive to be linked into Rust code.", @@ -567,6 +319,14 @@ "name": "cfg_aliases", "repository": "https://github.com/katharostech/cfg_aliases" }, + { + "authors": "RustCrypto Developers", + "description": "The ChaCha20 stream cipher (RFC 8439) implemented in pure Rust using traits from the RustCrypto `cipher` crate, with optional architecture-specific hardware acceleration (AVX2, SSE2). Additionally provides the ChaCha8, ChaCha12, XChaCha20, XChaCha12 and XChaCha8 stream ciphers, and also optional rand_core-compatible RNGs based on those ciphers.", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "name": "chacha20", + "repository": "https://github.com/RustCrypto/stream-ciphers" + }, { "authors": null, "description": "Date and time library for Rust", @@ -591,22 +351,6 @@ "name": "coarsetime", "repository": "https://github.com/jedisct1/rust-coarsetime" }, - { - "authors": "Brendan Zabarauskas ", - "description": "Beautiful diagnostic reporting for text-based programming languages", - "license": "Apache-2.0", - "license_file": null, - "name": "codespan-reporting", - "repository": "https://github.com/brendanzab/codespan" - }, - { - "authors": "Thomas Wickham ", - "description": "The most simple way to add colors in your terminal", - "license": "MPL-2.0", - "license_file": null, - "name": "colored", - "repository": "https://github.com/mackwic/colored" - }, { "authors": "Wim Looman |Allen Bui ", "description": "Adaptors for various compression algorithms.", @@ -623,14 +367,6 @@ "name": "compression-core", "repository": "https://github.com/Nullus157/async-compression" }, - { - "authors": "Stjepan Glavina |Taiki Endo |John Nunley ", - "description": "Concurrent multi-producer multi-consumer queue", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "concurrent-queue", - "repository": "https://github.com/smol-rs/concurrent-queue" - }, { "authors": "RustCrypto Developers", "description": "Const-friendly implementation of the ISO/IEC Object Identifier (OID) standard as defined in ITU X.660, with support for BER/DER encoding/decoding as well as heapless no_std (i.e. embedded) support", @@ -679,14 +415,6 @@ "name": "core-foundation-sys", "repository": "https://github.com/servo/core-foundation-rs" }, - { - "authors": "The Servo Project Developers", - "description": "Bindings for some fundamental Core Graphics types", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "core-graphics-types", - "repository": "https://github.com/servo/core-foundation-rs" - }, { "authors": "RustCrypto Developers", "description": "Lightweight runtime CPU feature detection for aarch64, loongarch64, and x86/x86_64 targets, with no_std support and support for mobile targets including Android and iOS", @@ -743,14 +471,6 @@ "name": "crossbeam-utils", "repository": "https://github.com/crossbeam-rs/crossbeam" }, - { - "authors": "Eira Fransham ", - "description": "Crunchy unroller: deterministically unroll constant loops", - "license": "MIT", - "license_file": null, - "name": "crunchy", - "repository": "https://github.com/eira-fransham/crunchy" - }, { "authors": "RustCrypto Developers", "description": "Common cryptographic traits", @@ -799,158 +519,6 @@ "name": "csv-core", "repository": "https://github.com/BurntSushi/rust-csv" }, - { - "authors": "nathanielsimard ", - "description": "Multi-platform high-performance compute language extension for Rust.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "cubecl", - "repository": "https://github.com/tracel-ai/cubecl" - }, - { - "authors": "Dilshod Tadjibaev (@antimora)|Nathaniel Simard (@nathanielsimard)", - "description": "Common crate for CubeCL", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "cubecl-common", - "repository": "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-common" - }, - { - "authors": "nathanielsimard |louisfd ", - "description": "CubeCL core create", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "cubecl-core", - "repository": "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-core" - }, - { - "authors": "nathanielsimard ", - "description": "CPP transpiler for CubeCL", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "cubecl-cpp", - "repository": "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-cpp" - }, - { - "authors": "nathanielsimard ", - "description": "CUDA runtime for CubeCL", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "cubecl-cuda", - "repository": "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-cuda" - }, - { - "authors": "nathanielsimard ", - "description": "AMD ROCm HIP runtime for CubeCL", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "cubecl-hip", - "repository": "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-hip" - }, - { - "authors": "Tracel Technologies Inc.", - "description": "Rust bindings for AMD ROCm HIP runtime libraries used by CubeCL.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "cubecl-hip-sys", - "repository": "https://github.com/tracel-ai/cubecl-hip/tree/main/crates/cubecl-hip-sys" - }, - { - "authors": "nathanielsimard |louisfd |louisfd ", - "description": "CubeCL Linear Algebra Library.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "cubecl-linalg", - "repository": "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-linalg" - }, - { - "authors": "nathanielsimard |louisfd |louisfd |louisfd |maxtremblay ", - "description": "CubeCL Reduce Algorithms.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "cubecl-reduce", - "repository": "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-reduce" - }, - { - "authors": "louisfd |Nathaniel Simard", - "description": "Crate that helps creating high performance async runtimes for CubeCL.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "cubecl-runtime", - "repository": "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-runtime" - }, - { - "authors": "nathanielsimard |louisfd |maxtremblay ", - "description": "CubeCL Standard Library.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "cubecl-std", - "repository": "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-std" - }, - { - "authors": "nathanielsimard ", - "description": "WGPU runtime for the CubeCL", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "cubecl-wgpu", - "repository": "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-wgpu" - }, - { - "authors": null, - "description": "Safe wrappers around CUDA apis", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "cudarc", - "repository": "https://github.com/coreylowman/cudarc" - }, - { - "authors": "Ted Driggs ", - "description": "A proc-macro library for reading attributes into structs when implementing custom derives.", - "license": "MIT", - "license_file": null, - "name": "darling", - "repository": "https://github.com/TedDriggs/darling" - }, - { - "authors": "Ted Driggs ", - "description": "Helper crate for proc-macro library for reading attributes into structs when implementing custom derives. Use https://crates.io/crates/darling in your code.", - "license": "MIT", - "license_file": null, - "name": "darling_core", - "repository": "https://github.com/TedDriggs/darling" - }, - { - "authors": "Ted Driggs ", - "description": "Internal support for a proc-macro library for reading attributes into structs when implementing custom derives. Use https://crates.io/crates/darling in your code.", - "license": "MIT", - "license_file": null, - "name": "darling_macro", - "repository": "https://github.com/TedDriggs/darling" - }, { "authors": "Julien Cretin ", "description": "Efficient and customizable data-encoding functions like base64, base32, and hex", @@ -983,22 +551,6 @@ "name": "deranged", "repository": "https://github.com/jhpratt/deranged" }, - { - "authors": "Nick Cameron ", - "description": "`#[derive(new)]` implements simple constructor functions for structs and enums.", - "license": "MIT", - "license_file": null, - "name": "derive-new", - "repository": "https://github.com/nrc/derive-new" - }, - { - "authors": "Nick Cameron ", - "description": "`#[derive(new)]` implements simple constructor functions for structs and enums.", - "license": "MIT", - "license_file": null, - "name": "derive-new", - "repository": "https://github.com/nrc/derive-new" - }, { "authors": "The Rust-Fuzz Project Developers|Nick Fitzgerald |Manish Goregaokar |Andre Bogus |Corey Farwell ", "description": "Derives arbitrary traits", @@ -1007,22 +559,6 @@ "name": "derive_arbitrary", "repository": "https://github.com/rust-fuzz/arbitrary" }, - { - "authors": "Jelte Fennema ", - "description": "Adds #[derive(x)] macros for more traits", - "license": "MIT", - "license_file": null, - "name": "derive_more", - "repository": "https://github.com/JelteF/derive_more" - }, - { - "authors": "Jelte Fennema ", - "description": "Internal implementation of `derive_more` crate", - "license": "MIT", - "license_file": null, - "name": "derive_more-impl", - "repository": "https://github.com/JelteF/derive_more" - }, { "authors": "Dima Kudosh ", "description": "Port of Python's difflib library to Rust.", @@ -1057,23 +593,7 @@ }, { "authors": "Simon Ochsenreither ", - "description": "A tiny low-level library that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by the XDG base/user directory specifications on Linux, the Known Folder API on Windows, and the Standard Directory guidelines on macOS.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "dirs", - "repository": "https://github.com/soc/dirs-rs" - }, - { - "authors": "Simon Ochsenreither ", - "description": "System-level helper functions for the dirs and directories crates.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "dirs-sys", - "repository": "https://github.com/dirs-dev/dirs-sys-rs" - }, - { - "authors": "Simon Ochsenreither ", - "description": "System-level helper functions for the dirs and directories crates.", + "description": "System-level helper functions for the dirs and directories crates.", "license": "Apache-2.0 OR MIT", "license_file": null, "name": "dirs-sys", @@ -1087,14 +607,6 @@ "name": "displaydoc", "repository": "https://github.com/yaahc/displaydoc" }, - { - "authors": "Slint Developers ", - "description": "Extract documentation for the feature flags from comments in Cargo.toml", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "document-features", - "repository": "https://github.com/slint-ui/document-features" - }, { "authors": "David Tolnay ", "description": "Fast floating point primitive to string conversion", @@ -1111,22 +623,6 @@ "name": "dtoa-short", "repository": "https://github.com/upsuper/dtoa-short" }, - { - "authors": "sarah <>", - "description": "Dynamic stack wrapper for unsized allocations", - "license": "MIT", - "license_file": null, - "name": "dyn-stack", - "repository": "https://github.com/kitegi/dynstack/" - }, - { - "authors": "sarah <>", - "description": "Dynamic stack wrapper for unsized allocations", - "license": "MIT", - "license_file": null, - "name": "dyn-stack", - "repository": "https://github.com/kitegi/dynstack/" - }, { "authors": "bluss", "description": "The enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases.", @@ -1135,14 +631,6 @@ "name": "either", "repository": "https://github.com/rayon-rs/either" }, - { - "authors": null, - "description": "no-std, no-alloc utilities for working with futures", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "embassy-futures", - "repository": "https://github.com/embassy-rs/embassy" - }, { "authors": "Henri Sivonen ", "description": "A Gecko-oriented implementation of the Encoding Standard", @@ -1151,14 +639,6 @@ "name": "encoding_rs", "repository": "https://github.com/hsivonen/encoding_rs" }, - { - "authors": "Benjamin Fry ", - "description": "A proc-macro for deriving inner field accessor functions on enums.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "enum-as-inner", - "repository": "https://github.com/bluejekyll/enum-as-inner" - }, { "authors": "softprops ", "description": "deserialize env vars into typesafe structs", @@ -1183,22 +663,6 @@ "name": "errno", "repository": "https://github.com/lambda-fairy/rust-errno" }, - { - "authors": "Stjepan Glavina |John Nunley ", - "description": "Notify async tasks or threads", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "event-listener", - "repository": "https://github.com/smol-rs/event-listener" - }, - { - "authors": "John Nunley ", - "description": "Block or poll on event_listener easily", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "event-listener-strategy", - "repository": "https://github.com/smol-rs/event-listener-strategy" - }, { "authors": "Steven Fackler ", "description": "Fallible iterator traits", @@ -1239,14 +703,6 @@ "name": "flate2", "repository": "https://github.com/rust-lang/flate2-rs" }, - { - "authors": "Michael Howell ", - "description": "A total ordering for floating-point numbers", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "float-ord", - "repository": "https://github.com/notriddle/rust-float-ord" - }, { "authors": "Caleb Maclennan |Bruce Mitchener |Staś Małolepszy ", "description": "An umbrella crate exposing the combined features of fluent-rs crates with additional convenience macros for Project Fluent, a localization system designed to unleash the entire expressive power of natural language translations.", @@ -1303,30 +759,6 @@ "name": "foreign-types", "repository": "https://github.com/sfackler/foreign-types" }, - { - "authors": "Steven Fackler ", - "description": "A framework for Rust wrappers over C APIs", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "foreign-types", - "repository": "https://github.com/sfackler/foreign-types" - }, - { - "authors": "Steven Fackler ", - "description": "An internal crate used by foreign-types", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "foreign-types-macros", - "repository": "https://github.com/sfackler/foreign-types" - }, - { - "authors": "Steven Fackler ", - "description": "An internal crate used by foreign-types", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "foreign-types-shared", - "repository": "https://github.com/sfackler/foreign-types" - }, { "authors": "Steven Fackler ", "description": "An internal crate used by foreign-types", @@ -1399,14 +831,6 @@ "name": "futures-io", "repository": "https://github.com/rust-lang/futures-rs" }, - { - "authors": "Stjepan Glavina |Contributors to futures-rs", - "description": "Futures, streams, and async I/O combinators", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "futures-lite", - "repository": "https://github.com/smol-rs/futures-lite" - }, { "authors": null, "description": "The futures-rs procedural macro implementations.", @@ -1431,14 +855,6 @@ "name": "futures-task", "repository": "https://github.com/rust-lang/futures-rs" }, - { - "authors": "Alex Crichton ", - "description": "Timeouts for futures.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "futures-timer", - "repository": "https://github.com/async-rs/futures-timer" - }, { "authors": null, "description": "Common utilities and extension traits for the futures-rs library.", @@ -1447,118 +863,6 @@ "name": "futures-util", "repository": "https://github.com/rust-lang/futures-rs" }, - { - "authors": "sarah <>", - "description": "Playground for matrix multiplication algorithms", - "license": "MIT", - "license_file": null, - "name": "gemm", - "repository": "https://github.com/sarah-ek/gemm/" - }, - { - "authors": "sarah <>", - "description": "Playground for matrix multiplication algorithms", - "license": "MIT", - "license_file": null, - "name": "gemm", - "repository": "https://github.com/sarah-ek/gemm/" - }, - { - "authors": "sarah <>", - "description": "Playground for matrix multiplication algorithms", - "license": "MIT", - "license_file": null, - "name": "gemm-c32", - "repository": "https://github.com/sarah-ek/gemm/" - }, - { - "authors": "sarah <>", - "description": "Playground for matrix multiplication algorithms", - "license": "MIT", - "license_file": null, - "name": "gemm-c32", - "repository": "https://github.com/sarah-ek/gemm/" - }, - { - "authors": "sarah <>", - "description": "Playground for matrix multiplication algorithms", - "license": "MIT", - "license_file": null, - "name": "gemm-c64", - "repository": "https://github.com/sarah-ek/gemm/" - }, - { - "authors": "sarah <>", - "description": "Playground for matrix multiplication algorithms", - "license": "MIT", - "license_file": null, - "name": "gemm-c64", - "repository": "https://github.com/sarah-ek/gemm/" - }, - { - "authors": "sarah <>", - "description": "Playground for matrix multiplication algorithms", - "license": "MIT", - "license_file": null, - "name": "gemm-common", - "repository": "https://github.com/sarah-ek/gemm/" - }, - { - "authors": "sarah <>", - "description": "Playground for matrix multiplication algorithms", - "license": "MIT", - "license_file": null, - "name": "gemm-common", - "repository": "https://github.com/sarah-ek/gemm/" - }, - { - "authors": "sarah <>", - "description": "Playground for matrix multiplication algorithms", - "license": "MIT", - "license_file": null, - "name": "gemm-f16", - "repository": "https://github.com/sarah-ek/gemm/" - }, - { - "authors": "sarah <>", - "description": "Playground for matrix multiplication algorithms", - "license": "MIT", - "license_file": null, - "name": "gemm-f16", - "repository": "https://github.com/sarah-ek/gemm/" - }, - { - "authors": "sarah <>", - "description": "Playground for matrix multiplication algorithms", - "license": "MIT", - "license_file": null, - "name": "gemm-f32", - "repository": "https://github.com/sarah-ek/gemm/" - }, - { - "authors": "sarah <>", - "description": "Playground for matrix multiplication algorithms", - "license": "MIT", - "license_file": null, - "name": "gemm-f32", - "repository": "https://github.com/sarah-ek/gemm/" - }, - { - "authors": "sarah <>", - "description": "Playground for matrix multiplication algorithms", - "license": "MIT", - "license_file": null, - "name": "gemm-f64", - "repository": "https://github.com/sarah-ek/gemm/" - }, - { - "authors": "sarah <>", - "description": "Playground for matrix multiplication algorithms", - "license": "MIT", - "license_file": null, - "name": "gemm-f64", - "repository": "https://github.com/sarah-ek/gemm/" - }, { "authors": "Bartłomiej Kamiński |Aaron Trent ", "description": "Generic types implementing functionality of arrays", @@ -1592,84 +896,20 @@ "repository": "https://github.com/rust-random/getrandom" }, { - "authors": null, - "description": "A library for reading and writing the DWARF debugging format.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "gimli", - "repository": "https://github.com/gimli-rs/gimli" - }, - { - "authors": "Brendan Zabarauskas |Corey Richardson|Arseny Kapoulkine", - "description": "Code generators for creating bindings to the Khronos OpenGL APIs.", - "license": "Apache-2.0", - "license_file": null, - "name": "gl_generator", - "repository": "https://github.com/brendanzab/gl-rs/" - }, - { - "authors": "The Rust Project Developers", - "description": "Support for matching file paths against Unix shell style patterns.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "glob", - "repository": "https://github.com/rust-lang/glob" - }, - { - "authors": "Joshua Groves |Dzmitry Malyshau ", - "description": "GL on Whatever: a set of bindings to run GL (Open GL, OpenGL ES, and WebGL) anywhere, and avoid target-specific code.", - "license": "Apache-2.0 OR MIT OR Zlib", - "license_file": null, - "name": "glow", - "repository": "https://github.com/grovesNL/glow" - }, - { - "authors": "Kirill Chibisov ", - "description": "The wgl bindings for glutin", - "license": "Apache-2.0", - "license_file": null, - "name": "glutin_wgl_sys", - "repository": "https://github.com/rust-windowing/glutin" - }, - { - "authors": "Zakarum ", - "description": "Implementation agnostic memory allocator for Vulkan like APIs", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "gpu-alloc", - "repository": "https://github.com/zakarumych/gpu-alloc" - }, - { - "authors": "Zakarum ", - "description": "Core types of gpu-alloc crate", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "gpu-alloc-types", - "repository": "https://github.com/zakarumych/gpu-alloc" - }, - { - "authors": "Traverse Research ", - "description": "Memory allocator for GPU memory in Vulkan and DirectX 12", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "gpu-allocator", - "repository": "https://github.com/Traverse-Research/gpu-allocator" - }, - { - "authors": "Zakarum ", - "description": "Implementation agnostic descriptor allocator for Vulkan like APIs", + "authors": "The Rand Project Developers", + "description": "A small cross-platform library for retrieving random data from system source", "license": "Apache-2.0 OR MIT", "license_file": null, - "name": "gpu-descriptor", - "repository": "https://github.com/zakarumych/gpu-descriptor" + "name": "getrandom", + "repository": "https://github.com/rust-random/getrandom" }, { - "authors": "Zakarum ", - "description": "Core types of gpu-descriptor crate", + "authors": null, + "description": "A library for reading and writing the DWARF debugging format.", "license": "Apache-2.0 OR MIT", "license_file": null, - "name": "gpu-descriptor-types", - "repository": "https://github.com/zakarumych/gpu-descriptor" + "name": "gimli", + "repository": "https://github.com/gimli-rs/gimli" }, { "authors": "Carl Lerche |Sean McArthur ", @@ -1679,30 +919,6 @@ "name": "h2", "repository": "https://github.com/hyperium/h2" }, - { - "authors": "Kathryn Long ", - "description": "Half-precision floating point f16 and bf16 types for Rust implementing the IEEE 754-2008 standard binary16 and bfloat16 types.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "half", - "repository": "https://github.com/VoidStarKat/half-rs" - }, - { - "authors": "Amanieu d'Antras ", - "description": "A Rust port of Google's SwissTable hash map", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "hashbrown", - "repository": "https://github.com/rust-lang/hashbrown" - }, - { - "authors": "Amanieu d'Antras ", - "description": "A Rust port of Google's SwissTable hash map", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "hashbrown", - "repository": "https://github.com/rust-lang/hashbrown" - }, { "authors": "Amanieu d'Antras ", "description": "A Rust port of Google's SwissTable hash map", @@ -1759,14 +975,6 @@ "name": "hex", "repository": "https://github.com/KokaKiwi/rust-hex" }, - { - "authors": "Kang Seonghoon ", - "description": "Parses hexadecimal floats (see also hexf)", - "license": "CC0-1.0", - "license_file": null, - "name": "hexf-parse", - "repository": "https://github.com/lifthrasiir/hexf" - }, { "authors": "RustCrypto Developers", "description": "Generic implementation of Hash-based Message Authentication Code (HMAC)", @@ -1951,6 +1159,14 @@ "name": "icu_provider", "repository": "https://github.com/unicode-org/icu4x" }, + { + "authors": "Nick Fitzgerald |Aleksey Kladov ", + "description": "A simple, id-based arena.", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "name": "id-arena", + "repository": "https://github.com/fitzgen/id-arena" + }, { "authors": "Ian Burns ", "description": "A library for creating and modifying Tree structures.", @@ -1959,14 +1175,6 @@ "name": "id_tree", "repository": "https://github.com/iwburns/id-tree" }, - { - "authors": "Ted Driggs ", - "description": "Utility for applying case rules to Rust identifiers.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "ident_case", - "repository": "https://github.com/TedDriggs/ident_case" - }, { "authors": "The rust-url developers", "description": "IDNA (Internationalizing Domain Names in Applications) and Punycode.", @@ -2055,14 +1263,6 @@ "name": "itoa", "repository": "https://github.com/dtolnay/itoa" }, - { - "authors": "Steven Fackler ", - "description": "Rust definitions corresponding to jni.h", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "jni-sys", - "repository": "https://github.com/sfackler/rust-jni-sys" - }, { "authors": "Alex Crichton ", "description": "An implementation of the GNU Make jobserver for Rust.", @@ -2079,22 +1279,6 @@ "name": "js-sys", "repository": "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/js-sys" }, - { - "authors": "Timothée Haudebourg |Sean Kerr ", - "description": "Rust bindings for EGL", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "khronos-egl", - "repository": "https://github.com/timothee-haudebourg/khronos-egl" - }, - { - "authors": "Brendan Zabarauskas |Corey Richardson|Arseny Kapoulkine|Pierre Krieger ", - "description": "The Khronos XML API Registry, exposed as byte string constants.", - "license": "Apache-2.0", - "license_file": null, - "name": "khronos_api", - "repository": "https://github.com/brendanzab/gl-rs/" - }, { "authors": "Marvin Löbel ", "description": "A macro for declaring lazily evaluated statics in Rust.", @@ -2103,6 +1287,14 @@ "name": "lazy_static", "repository": "https://github.com/rust-lang-nursery/lazy-static.rs" }, + { + "authors": "Bryant Luk ", + "description": "A library to encode and decode LEB128 compressed integers.", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "name": "leb128fmt", + "repository": "https://github.com/bluk/leb128fmt" + }, { "authors": "The Rust Project Developers", "description": "Raw FFI bindings to platform libraries like libc.", @@ -2111,22 +1303,6 @@ "name": "libc", "repository": "https://github.com/rust-lang/libc" }, - { - "authors": "Simonas Kazlauskas ", - "description": "Bindings around the platform's dynamic library loading primitives with greatly improved memory safety.", - "license": "ISC", - "license_file": null, - "name": "libloading", - "repository": "https://github.com/nagisa/rust_libloading/" - }, - { - "authors": "Jorge Aparicio ", - "description": "libm in pure Rust", - "license": "MIT", - "license_file": null, - "name": "libm", - "repository": "https://github.com/rust-lang/compiler-builtins" - }, { "authors": "4lDO2 <4lDO2@protonmail.com>", "description": "Redox stable ABI", @@ -2167,14 +1343,6 @@ "name": "litemap", "repository": "https://github.com/unicode-org/icu4x" }, - { - "authors": "Lukas Kalbertodt ", - "description": "Parse and inspect Rust literals (i.e. tokens in the Rust programming language representing fixed values). Particularly useful for proc macros, but can also be used outside of a proc-macro context.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "litrs", - "repository": "https://github.com/LukasKalbertodt/litrs/" - }, { "authors": "Amanieu d'Antras ", "description": "Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.", @@ -2207,30 +1375,6 @@ "name": "mac", "repository": "https://github.com/reem/rust-mac.git" }, - { - "authors": "Genna Wingert", - "description": "Type and target-generic SIMD", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "macerator", - "repository": "https://github.com/wingertge/macerator" - }, - { - "authors": "Genna Wingert", - "description": "proc-macros for macerator", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "macerator-macros", - "repository": "https://github.com/wingertge/macerator" - }, - { - "authors": "Steven Sheldon", - "description": "Structs for handling malloc'd memory passed to Rust.", - "license": "MIT", - "license_file": null, - "name": "malloc_buf", - "repository": "https://github.com/SSheldon/malloc_buf" - }, { "authors": "bluss", "description": "Collection “literal” macros for HashMap, HashSet, BTreeMap, and BTreeSet.", @@ -2287,14 +1431,6 @@ "name": "matrixmultiply", "repository": "https://github.com/bluss/matrixmultiply/" }, - { - "authors": "Ivan Ukhov |Kamal Ahmad |Konstantin Stepanov |Lukas Kalbertodt |Nathan Musoke |Scott Mabin |Tony Arcieri |Wim de With |Yosef Dinerstein ", - "description": "The package provides the MD5 hash function.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "md5", - "repository": "https://github.com/stainless-steel/md5" - }, { "authors": "Andrew Gallant |bluss", "description": "Provides extremely fast (uses SIMD on x86_64, aarch64 and wasm32) routines for 1, 2 or 3 byte search and single substring search.", @@ -2303,22 +1439,6 @@ "name": "memchr", "repository": "https://github.com/BurntSushi/memchr" }, - { - "authors": "Dan Burkert |Yevhenii Reizner ", - "description": "Cross-platform Rust API for memory-mapped file IO", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "memmap2", - "repository": "https://github.com/RazrFalcon/memmap2-rs" - }, - { - "authors": "gfx-rs developers", - "description": "Rust bindings for Metal", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "metal", - "repository": "https://github.com/gfx-rs/metal-rs" - }, { "authors": "Sean McArthur ", "description": "Strongly Typed Mimes", @@ -2335,14 +1455,6 @@ "name": "mime_guess", "repository": "https://github.com/abonander/mime_guess" }, - { - "authors": "Alex Huszagh ", - "description": "Fast float parsing conversion routines.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "minimal-lexical", - "repository": "https://github.com/Alexhuszagh/minimal-lexical" - }, { "authors": "Frommi |oyvindln |Rich Geldreich richgel99@gmail.com", "description": "DEFLATE compression and decompression library rewritten in Rust based on miniz", @@ -2359,14 +1471,6 @@ "name": "mio", "repository": "https://github.com/tokio-rs/mio" }, - { - "authors": null, - "description": "Macro for convenient module declaration. Each module can be put in a group, and visibility can be applied to the whole group with ease.", - "license": "MIT", - "license_file": null, - "name": "moddef", - "repository": "https://github.com/sigurd4/moddef" - }, { "authors": "Rousan Ali ", "description": "An async parser for `multipart/form-data` content-type in Rust.", @@ -2383,14 +1487,6 @@ "name": "multimap", "repository": "https://github.com/havarnov/multimap" }, - { - "authors": "gfx-rs developers", - "description": "Shader translator and validator. Part of the wgpu project", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "naga", - "repository": "https://github.com/gfx-rs/wgpu/tree/trunk/naga" - }, { "authors": "Steven Fackler ", "description": "A wrapper over a platform's native TLS implementation", @@ -2407,14 +1503,6 @@ "name": "ndarray", "repository": "https://github.com/rust-ndarray/ndarray" }, - { - "authors": "The Rust Windowing contributors", - "description": "FFI bindings for the Android NDK", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "ndk-sys", - "repository": "https://github.com/rust-mobile/ndk" - }, { "authors": "Matt Brubeck |Jonathan Reem ", "description": "panic in debug, intrinsics::unreachable() in release (fork of debug_unreachable)", @@ -2423,14 +1511,6 @@ "name": "new_debug_unreachable", "repository": "https://github.com/mbrubeck/rust-debug-unreachable" }, - { - "authors": "contact@geoffroycouprie.com", - "description": "A byte-oriented, zero-copy, parser combinators library", - "license": "MIT", - "license_file": null, - "name": "nom", - "repository": "https://github.com/Geal/nom" - }, { "authors": "contact@geoffroycouprie.com", "description": "A byte-oriented, zero-copy, parser combinators library", @@ -2439,14 +1519,6 @@ "name": "nom", "repository": "https://github.com/rust-bakery/nom" }, - { - "authors": "MSxDOS ", - "description": "FFI bindings for Native API", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "ntapi", - "repository": "https://github.com/MSxDOS/ntapi" - }, { "authors": "ogham@bsago.me|Ryan Scheel (Havvy) |Josh Triplett |The Nushell Project Developers", "description": "Library for ANSI terminal colors and styles (bold, underline)", @@ -2455,22 +1527,6 @@ "name": "nu-ansi-term", "repository": "https://github.com/nushell/nu-ansi-term" }, - { - "authors": "The Rust Project Developers", - "description": "A collection of numeric types and traits for Rust, including bigint, complex, rational, range iterators, generic integers, and more!", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "num", - "repository": "https://github.com/rust-num/num" - }, - { - "authors": "The Rust Project Developers", - "description": "Big integer implementation for Rust", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "num-bigint", - "repository": "https://github.com/rust-num/num-bigint" - }, { "authors": "The Rust Project Developers", "description": "Complex numbers implementation for Rust", @@ -2503,22 +1559,6 @@ "name": "num-integer", "repository": "https://github.com/rust-num/num-integer" }, - { - "authors": "The Rust Project Developers", - "description": "External iterators for generic mathematics", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "num-iter", - "repository": "https://github.com/rust-num/num-iter" - }, - { - "authors": "The Rust Project Developers", - "description": "Rational numbers implementation for Rust", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "num-rational", - "repository": "https://github.com/rust-num/num-rational" - }, { "authors": "The Rust Project Developers", "description": "Numeric traits for generic mathematics", @@ -2551,30 +1591,6 @@ "name": "num_enum_derive", "repository": "https://github.com/illicitonion/num_enum" }, - { - "authors": "Cldfire", - "description": "A safe and ergonomic Rust wrapper for the NVIDIA Management Library", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "nvml-wrapper", - "repository": "https://github.com/Cldfire/nvml-wrapper" - }, - { - "authors": "Cldfire", - "description": "Generated bindings to the NVIDIA Management Library.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "nvml-wrapper-sys", - "repository": "https://github.com/Cldfire/nvml-wrapper" - }, - { - "authors": "Steven Sheldon", - "description": "Objective-C Runtime bindings and wrapper for Rust.", - "license": "MIT", - "license_file": null, - "name": "objc", - "repository": "http://github.com/SSheldon/rust-objc" - }, { "authors": null, "description": "A unified interface for reading and writing object file formats.", @@ -2639,22 +1655,6 @@ "name": "ordered-float", "repository": "https://github.com/reem/rust-ordered-float" }, - { - "authors": "Jonathan Reem |Matt Brubeck ", - "description": "Wrappers for total ordering on floats", - "license": "MIT", - "license_file": null, - "name": "ordered-float", - "repository": "https://github.com/reem/rust-ordered-float" - }, - { - "authors": "Stjepan Glavina |The Rust Project Developers", - "description": "Thread parking and unparking", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "parking", - "repository": "https://github.com/smol-rs/parking" - }, { "authors": "Amanieu d'Antras ", "description": "More compact and efficient implementations of the standard synchronization primitives.", @@ -2679,14 +1679,6 @@ "name": "password-hash", "repository": "https://github.com/RustCrypto/traits/tree/master/password-hash" }, - { - "authors": "David Tolnay ", - "description": "Macros for all your token pasting needs", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "paste", - "repository": "https://github.com/dtolnay/paste" - }, { "authors": "RustCrypto Developers", "description": "Generic implementation of PBKDF2", @@ -2855,14 +1847,6 @@ "name": "precomputed-hash", "repository": "https://github.com/emilio/precomputed-hash" }, - { - "authors": "Embark |Gray Olson ", "description": "A minimal `syn` syntax tree pretty-printer", @@ -2903,14 +1887,6 @@ "name": "proc-macro2", "repository": "https://github.com/dtolnay/proc-macro2" }, - { - "authors": "Philip Degarmo ", - "description": "This crate provides a very thin abstraction over other profiler crates.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "profiling", - "repository": "https://github.com/aclysma/profiling" - }, { "authors": "Dan Burkert |Lucio Franco |Casper Meijn |Tokio Contributors ", "description": "A Protocol Buffers implementation for the Rust Language.", @@ -2967,22 +1943,6 @@ "name": "pulldown-cmark-escape", "repository": "https://github.com/raphlinus/pulldown-cmark" }, - { - "authors": "sarah <>", - "description": "Safe generic simd", - "license": "MIT", - "license_file": null, - "name": "pulp", - "repository": "https://github.com/sarah-ek/pulp/" - }, - { - "authors": "sarah <>", - "description": "Safe generic simd", - "license": "MIT", - "license_file": null, - "name": "pulp", - "repository": "https://github.com/sarah-ek/pulp/" - }, { "authors": null, "description": "Versatile QUIC transport protocol implementation", @@ -3023,6 +1983,22 @@ "name": "r-efi", "repository": "https://github.com/r-efi/r-efi" }, + { + "authors": null, + "description": "UEFI Reference Specification Protocol Constants and Definitions", + "license": "Apache-2.0 OR LGPL-2.1-or-later OR MIT", + "license_file": null, + "name": "r-efi", + "repository": "https://github.com/r-efi/r-efi" + }, + { + "authors": "The Rand Project Developers|The Rust Project Developers", + "description": "Random number generators and other randomness functionality.", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "name": "rand", + "repository": "https://github.com/rust-random/rand" + }, { "authors": "The Rand Project Developers|The Rust Project Developers", "description": "Random number generators and other randomness functionality.", @@ -3073,43 +2049,11 @@ }, { "authors": "The Rand Project Developers", - "description": "Sampling from random number distributions", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "rand_distr", - "repository": "https://github.com/rust-random/rand_distr" - }, - { - "authors": "the gfx-rs Developers", - "description": "Generic range allocator", + "description": "Core random number generation traits and tools for implementation.", "license": "Apache-2.0 OR MIT", "license_file": null, - "name": "range-alloc", - "repository": "https://github.com/gfx-rs/range-alloc" - }, - { - "authors": "Gerd Zellweger ", - "description": "A library to parse the x86 CPUID instruction, written in rust with no external dependencies. The implementation closely resembles the Intel CPUID manual description. The library does only depend on libcore.", - "license": "MIT", - "license_file": null, - "name": "raw-cpuid", - "repository": "https://github.com/gz/rust-cpuid" - }, - { - "authors": "Gerd Zellweger ", - "description": "A library to parse the x86 CPUID instruction, written in rust with no external dependencies. The implementation closely resembles the Intel CPUID manual description. The library does only depend on libcore.", - "license": "MIT", - "license_file": null, - "name": "raw-cpuid", - "repository": "https://github.com/gz/rust-cpuid" - }, - { - "authors": "Osspial ", - "description": "Interoperability library for Rust Windowing applications.", - "license": "Apache-2.0 OR MIT OR Zlib", - "license_file": null, - "name": "raw-window-handle", - "repository": "https://github.com/rust-windowing/raw-window-handle" + "name": "rand_core", + "repository": "https://github.com/rust-random/rand_core" }, { "authors": "bluss", @@ -3135,14 +2079,6 @@ "name": "rayon-core", "repository": "https://github.com/rayon-rs/rayon" }, - { - "authors": "sarah <>", - "description": "Emulate reborrowing for user types.", - "license": "MIT", - "license_file": null, - "name": "reborrow", - "repository": "https://github.com/sarah-ek/reborrow/" - }, { "authors": "Jeremy Soller ", "description": "A Rust library to access raw Redox system calls", @@ -3159,14 +2095,6 @@ "name": "redox_users", "repository": "https://gitlab.redox-os.org/redox-os/users" }, - { - "authors": "Jose Narvaez |Wesley Hershberger ", - "description": "A Rust library to access Redox users and groups functionality", - "license": "MIT", - "license_file": null, - "name": "redox_users", - "repository": "https://gitlab.redox-os.org/redox-os/users" - }, { "authors": "The Rust Project Developers|Andrew Gallant ", "description": "An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.", @@ -3191,22 +2119,6 @@ "name": "regex-syntax", "repository": "https://github.com/rust-lang/regex" }, - { - "authors": "John-John Tedro ", - "description": "Portable, relative paths for Rust.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "relative-path", - "repository": "https://github.com/udoprog/relative-path" - }, - { - "authors": "Eyal Kalderon ", - "description": "Low-level bindings to the RenderDoc API", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "renderdoc-sys", - "repository": "https://github.com/ebkalderon/renderdoc-rs" - }, { "authors": "Sean McArthur ", "description": "higher level HTTP client library", @@ -3223,38 +2135,6 @@ "name": "ring", "repository": "https://github.com/briansmith/ring" }, - { - "authors": "Evgeny Safronov ", - "description": "Pure Rust MessagePack serialization implementation", - "license": "MIT", - "license_file": null, - "name": "rmp", - "repository": "https://github.com/3Hren/msgpack-rust" - }, - { - "authors": "Evgeny Safronov ", - "description": "Serde bindings for RMP", - "license": "MIT", - "license_file": null, - "name": "rmp-serde", - "repository": "https://github.com/3Hren/msgpack-rust" - }, - { - "authors": "Michele d'Amico ", - "description": "Rust fixture based test framework. It use procedural macro to implement fixtures and table based tests.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "rstest", - "repository": "https://github.com/la10736/rstest" - }, - { - "authors": "Michele d'Amico ", - "description": "Rust fixture based test framework. It use procedural macro to implement fixtures and table based tests.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "rstest_macros", - "repository": "https://github.com/la10736/rstest" - }, { "authors": "The rusqlite developers", "description": "Ergonomic wrapper for SQLite", @@ -3271,14 +2151,6 @@ "name": "rustc-demangle", "repository": "https://github.com/rust-lang/rustc-demangle" }, - { - "authors": "The Rust Project Developers", - "description": "speed, non-cryptographic hash used in rustc", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "rustc-hash", - "repository": "https://github.com/rust-lang-nursery/rustc-hash" - }, { "authors": "The Rust Project Developers", "description": "A speedy, non-cryptographic hashing algorithm used by rustc", @@ -3287,14 +2159,6 @@ "name": "rustc-hash", "repository": "https://github.com/rust-lang/rustc-hash" }, - { - "authors": null, - "description": "A library for querying the version of a installed rustc compiler", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "rustc_version", - "repository": "https://github.com/djc/rustc-version-rs" - }, { "authors": "Dan Gohman |Jakub Konka ", "description": "Safe Rust bindings to POSIX/Unix/Linux/Winsock-like syscalls", @@ -3359,14 +2223,6 @@ "name": "ryu", "repository": "https://github.com/dtolnay/ryu" }, - { - "authors": null, - "description": "Provides functions to read and write safetensors which aim to be safer than their PyTorch counterpart. The format is 8 bytes which is an unsized int, being the size of a JSON header, the JSON header refers the `dtype` the `shape` and `data_offsets` which are the offsets for the values in the rest of the file.", - "license": "Apache-2.0", - "license_file": null, - "name": "safetensors", - "repository": "https://github.com/huggingface/safetensors" - }, { "authors": "Andrew Gallant ", "description": "A simple crate for determining whether two file paths point to the same file.", @@ -3375,22 +2231,6 @@ "name": "same-file", "repository": "https://github.com/BurntSushi/same-file" }, - { - "authors": "Jacob Brown ", - "description": "A simple filename sanitizer, based on Node's sanitize-filename", - "license": "MIT", - "license_file": null, - "name": "sanitize-filename", - "repository": "https://github.com/kardeiz/sanitize-filename" - }, - { - "authors": "Jacob Brown ", - "description": "A simple filename sanitizer, based on Node's sanitize-filename", - "license": "MIT", - "license_file": null, - "name": "sanitize-filename", - "repository": "https://github.com/kardeiz/sanitize-filename" - }, { "authors": "Steven Fackler |Steffen Butzer ", "description": "Schannel bindings for rust, allowing SSL/TLS (e.g. https) without openssl", @@ -3447,14 +2287,6 @@ "name": "semver", "repository": "https://github.com/dtolnay/semver" }, - { - "authors": "David Tolnay ", - "description": "Macro to repeat sequentially indexed copies of a fragment of code.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "seq-macro", - "repository": "https://github.com/dtolnay/seq-macro" - }, { "authors": "Erick Tryzelaar |David Tolnay ", "description": "A generic serialization/deserialization framework", @@ -3479,14 +2311,6 @@ "name": "serde-value", "repository": "https://github.com/arcnmx/serde-value" }, - { - "authors": "David Tolnay ", - "description": "Optimized handling of `&[u8]` and `Vec` for Serde", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "serde_bytes", - "repository": "https://github.com/serde-rs/bytes" - }, { "authors": "Erick Tryzelaar |David Tolnay ", "description": "Serde traits only, with no support for derive -- use the `serde` crate instead", @@ -3623,14 +2447,6 @@ "name": "slab", "repository": "https://github.com/tokio-rs/slab" }, - { - "authors": "Orson Peters ", - "description": "Slotmap data structure", - "license": "Zlib", - "license_file": null, - "name": "slotmap", - "repository": "https://github.com/orlp/slotmap" - }, { "authors": "The Servo Project Developers", "description": "'Small vector' optimization: store up to a small number of items on the stack", @@ -3647,6 +2463,22 @@ "name": "snafu", "repository": "https://github.com/shepmaster/snafu" }, + { + "authors": "Jake Goulding ", + "description": "An ergonomic error handling library", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "name": "snafu", + "repository": "https://github.com/shepmaster/snafu" + }, + { + "authors": "Jake Goulding ", + "description": "An ergonomic error handling library", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "name": "snafu-derive", + "repository": "https://github.com/shepmaster/snafu" + }, { "authors": "Jake Goulding ", "description": "An ergonomic error handling library", @@ -3679,22 +2511,6 @@ "name": "spin", "repository": "https://github.com/mvdnes/spin-rs.git" }, - { - "authors": "Mathijs van de Nes |John Ericson |Joshua Barretto ", - "description": "Spin-based synchronization primitives", - "license": "MIT", - "license_file": null, - "name": "spin", - "repository": "https://github.com/mvdnes/spin-rs.git" - }, - { - "authors": "Lei Zhang ", - "description": "Rust definition of SPIR-V structs and enums", - "license": "Apache-2.0", - "license_file": null, - "name": "spirv", - "repository": "https://github.com/gfx-rs/rspirv" - }, { "authors": "Robert Grosse ", "description": "An unsafe marker trait for types like Box and Rc that dereference to a stable address even when moved, and hence can be used with libraries such as owning_ref and rental.", @@ -3703,14 +2519,6 @@ "name": "stable_deref_trait", "repository": "https://github.com/storyyeller/stable_deref_trait" }, - { - "authors": "Nikolai Vazquez", - "description": "Compile-time assertions to ensure that invariants are met.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "static_assertions", - "repository": "https://github.com/nvzqz/static-assertions-rs" - }, { "authors": "The Servo Project Developers", "description": "A string interning library for Rust, developed as part of the Servo project.", @@ -3727,14 +2535,6 @@ "name": "string_cache_codegen", "repository": "https://github.com/servo/string-cache" }, - { - "authors": "Danny Guo |maxbachmann ", - "description": "Implementations of string similarity metrics. Includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, Jaro-Winkler, and Sørensen-Dice.", - "license": "MIT", - "license_file": null, - "name": "strsim", - "repository": "https://github.com/rapidfuzz/strsim-rs" - }, { "authors": "Peter Glotfelty ", "description": "Helpful macros for working with enums and strings", @@ -3800,44 +2600,12 @@ "repository": "https://github.com/mystor/synstructure" }, { - "authors": "Johannes Lundberg |Ivan Temchenko |Fabian Freyer ", - "description": "Simplified interface to libc::sysctl", - "license": "MIT", + "authors": "Steven Allen |The Rust Project Developers|Ashley Mannix |Jason White ", + "description": "A library for managing temporary files and directories.", + "license": "Apache-2.0 OR MIT", "license_file": null, - "name": "sysctl", - "repository": "https://github.com/johalun/sysctl-rs" - }, - { - "authors": "Johannes Lundberg |Ivan Temchenko |Fabian Freyer ", - "description": "Simplified interface to libc::sysctl", - "license": "MIT", - "license_file": null, - "name": "sysctl", - "repository": "https://github.com/johalun/sysctl-rs" - }, - { - "authors": "Guillaume Gomez ", - "description": "Library to get system information such as processes, CPUs, disks, components and networks", - "license": "MIT", - "license_file": null, - "name": "sysinfo", - "repository": "https://github.com/GuillaumeGomez/sysinfo" - }, - { - "authors": "Val Packett ", - "description": "Get system information/statistics in a cross-platform way", - "license": "Unlicense", - "license_file": null, - "name": "systemstat", - "repository": "https://github.com/valpackett/systemstat" - }, - { - "authors": "Steven Allen |The Rust Project Developers|Ashley Mannix |Jason White ", - "description": "A library for managing temporary files and directories.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "tempfile", - "repository": "https://github.com/Stebalien/tempfile" + "name": "tempfile", + "repository": "https://github.com/Stebalien/tempfile" }, { "authors": "Keegan McAllister |Simon Sapin |Chris Morgan ", @@ -3847,22 +2615,6 @@ "name": "tendril", "repository": "https://github.com/servo/tendril" }, - { - "authors": "Andrew Gallant ", - "description": "A simple cross platform library for writing colored text to a terminal.", - "license": "MIT OR Unlicense", - "license_file": null, - "name": "termcolor", - "repository": "https://github.com/BurntSushi/termcolor" - }, - { - "authors": "Bernardo Araujo ", - "description": "A flexible text template engine", - "license": "MIT", - "license_file": null, - "name": "text_placeholder", - "repository": "https://github.com/bernardoamc/text-placeholder" - }, { "authors": "David Tolnay ", "description": "derive(Error)", @@ -3895,14 +2647,6 @@ "name": "thiserror-impl", "repository": "https://github.com/dtolnay/thiserror" }, - { - "authors": "bluss <>", - "description": "A tree-structured thread pool for splitting jobs hierarchically on worker threads. The tree structure means that there is no contention between workers when delivering jobs.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "thread-tree", - "repository": "https://github.com/bluss/thread-tree" - }, { "authors": "Amanieu d'Antras ", "description": "Per-object thread-local storage", @@ -4135,14 +2879,6 @@ "name": "typenum", "repository": "https://github.com/paholg/typenum" }, - { - "authors": null, - "description": "Micro compiler for tensor operations.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "ug", - "repository": "https://github.com/LaurentMazare/ug" - }, { "authors": "The UNIC Project Developers", "description": "UNIC — Unicode Character Tools — Character Property taxonomy, contracts and build macros", @@ -4271,14 +3007,6 @@ "name": "untrusted", "repository": "https://github.com/briansmith/untrusted" }, - { - "authors": "Victor Koenders ", - "description": "Explicitly types your generics", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "unty", - "repository": "https://github.com/bincode-org/unty" - }, { "authors": "The rust-url developers", "description": "URL library for Rust, based on the WHATWG URL Standard", @@ -4303,14 +3031,6 @@ "name": "utf8_iter", "repository": "https://github.com/hsivonen/utf8_iter" }, - { - "authors": "Ashley Mannix|Dylan DPC|Hunar Roop Kahlon", - "description": "A library to generate and parse UUIDs.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "uuid", - "repository": "https://github.com/uuid-rs/uuid" - }, { "authors": null, "description": "Object-safe value inspection, used to pass un-typed structured data across trait-object boundaries.", @@ -4319,14 +3039,6 @@ "name": "valuable", "repository": "https://github.com/tokio-rs/valuable" }, - { - "authors": null, - "description": "Implement things as if rust had variadics", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "variadics_please", - "repository": "https://github.com/bevyengine/variadics_please" - }, { "authors": "Jim McGrath ", "description": "A library to find native dependencies in a vcpkg tree at build time in order to be used in Cargo build scripts.", @@ -4375,6 +3087,22 @@ "name": "wasi", "repository": "https://github.com/bytecodealliance/wasi-rs" }, + { + "authors": null, + "description": "WASIp2 API bindings for Rust", + "license": "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT", + "license_file": null, + "name": "wasip2", + "repository": "https://github.com/bytecodealliance/wasi-rs" + }, + { + "authors": null, + "description": "WASIp3 API bindings for Rust", + "license": "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT", + "license_file": null, + "name": "wasip3", + "repository": "https://github.com/bytecodealliance/wasi-rs" + }, { "authors": "The Cranelift Project Developers|john-sharratt", "description": "WASIX API bindings for Rust", @@ -4431,6 +3159,22 @@ "name": "wasm-bindgen-shared", "repository": "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/shared" }, + { + "authors": "Nick Fitzgerald ", + "description": "A low-level WebAssembly encoder.", + "license": "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT", + "license_file": null, + "name": "wasm-encoder", + "repository": "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wasm-encoder" + }, + { + "authors": null, + "description": "Read and manipulate WebAssembly metadata", + "license": "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT", + "license_file": null, + "name": "wasm-metadata", + "repository": "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wasm-metadata" + }, { "authors": "Mattias Buelens ", "description": "Bridging between web streams and Rust streams using WebAssembly", @@ -4439,6 +3183,14 @@ "name": "wasm-streams", "repository": "https://github.com/MattiasBuelens/wasm-streams/" }, + { + "authors": "Yury Delendik ", + "description": "A simple event-driven library for parsing WebAssembly binary files.", + "license": "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT", + "license_file": null, + "name": "wasmparser", + "repository": "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wasmparser" + }, { "authors": "The wasm-bindgen Developers", "description": "Bindings for all Web APIs, a procedurally generated crate from WebIDL", @@ -4471,78 +3223,6 @@ "name": "webpki-roots", "repository": "https://github.com/rustls/webpki-roots" }, - { - "authors": "gfx-rs developers", - "description": "Cross-platform, safe, pure-rust graphics API", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "wgpu", - "repository": "https://github.com/gfx-rs/wgpu" - }, - { - "authors": "gfx-rs developers", - "description": "Core implementation logic of wgpu, the cross-platform, safe, pure-rust graphics API", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "wgpu-core", - "repository": "https://github.com/gfx-rs/wgpu" - }, - { - "authors": "gfx-rs developers", - "description": "Feature unification helper crate for Apple platforms", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "wgpu-core-deps-apple", - "repository": "https://github.com/gfx-rs/wgpu" - }, - { - "authors": "gfx-rs developers", - "description": "Feature unification helper crate for the Emscripten platform", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "wgpu-core-deps-emscripten", - "repository": "https://github.com/gfx-rs/wgpu" - }, - { - "authors": "gfx-rs developers", - "description": "Feature unification helper crate for the Windows/Linux/Android platforms", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "wgpu-core-deps-windows-linux-android", - "repository": "https://github.com/gfx-rs/wgpu" - }, - { - "authors": "gfx-rs developers", - "description": "Hardware abstraction layer for wgpu, the cross-platform, safe, pure-rust graphics API", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "wgpu-hal", - "repository": "https://github.com/gfx-rs/wgpu" - }, - { - "authors": "gfx-rs developers", - "description": "Common types and utilities for wgpu, the cross-platform, safe, pure-rust graphics API", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "wgpu-types", - "repository": "https://github.com/gfx-rs/wgpu" - }, - { - "authors": "Peter Atashian ", - "description": "Raw FFI bindings for all of Windows API.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "winapi", - "repository": "https://github.com/retep998/winapi-rs" - }, - { - "authors": "Peter Atashian ", - "description": "Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "winapi-i686-pc-windows-gnu", - "repository": "https://github.com/retep998/winapi-rs" - }, { "authors": "Andrew Gallant ", "description": "A dumping ground for high level safe wrappers over windows-sys.", @@ -4551,30 +3231,6 @@ "name": "winapi-util", "repository": "https://github.com/BurntSushi/winapi-util" }, - { - "authors": "Peter Atashian ", - "description": "Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "winapi-x86_64-pc-windows-gnu", - "repository": "https://github.com/retep998/winapi-rs" - }, - { - "authors": "Microsoft", - "description": "Rust for Windows", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows", - "repository": "https://github.com/microsoft/windows-rs" - }, - { - "authors": "Microsoft", - "description": "Rust for Windows", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows", - "repository": "https://github.com/microsoft/windows-rs" - }, { "authors": "Microsoft", "description": "Rust for Windows", @@ -4591,22 +3247,6 @@ "name": "windows-collections", "repository": "https://github.com/microsoft/windows-rs" }, - { - "authors": "Microsoft", - "description": "Rust for Windows", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows-core", - "repository": "https://github.com/microsoft/windows-rs" - }, - { - "authors": "Microsoft", - "description": "Rust for Windows", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows-core", - "repository": "https://github.com/microsoft/windows-rs" - }, { "authors": "Microsoft", "description": "Core type support for COM and Windows", @@ -4631,38 +3271,6 @@ "name": "windows-implement", "repository": "https://github.com/microsoft/windows-rs" }, - { - "authors": "Microsoft", - "description": "The implement macro for the windows crate", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows-implement", - "repository": "https://github.com/microsoft/windows-rs" - }, - { - "authors": "Microsoft", - "description": "The implement macro for the windows crate", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows-implement", - "repository": "https://github.com/microsoft/windows-rs" - }, - { - "authors": "Microsoft", - "description": "The interface macro for the windows crate", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows-interface", - "repository": "https://github.com/microsoft/windows-rs" - }, - { - "authors": "Microsoft", - "description": "The interface macro for the windows crate", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows-interface", - "repository": "https://github.com/microsoft/windows-rs" - }, { "authors": "Microsoft", "description": "The interface macro for the windows crate", @@ -4695,30 +3303,6 @@ "name": "windows-result", "repository": "https://github.com/microsoft/windows-rs" }, - { - "authors": "Microsoft", - "description": "Windows error handling", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows-result", - "repository": "https://github.com/microsoft/windows-rs" - }, - { - "authors": "Microsoft", - "description": "Windows error handling", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows-result", - "repository": "https://github.com/microsoft/windows-rs" - }, - { - "authors": "Microsoft", - "description": "Rust for Windows", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows-strings", - "repository": "https://github.com/microsoft/windows-rs" - }, { "authors": "Microsoft", "description": "Windows string types", @@ -4751,22 +3335,6 @@ "name": "windows-sys", "repository": "https://github.com/microsoft/windows-rs" }, - { - "authors": "Microsoft", - "description": "Rust for Windows", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows-sys", - "repository": "https://github.com/microsoft/windows-rs" - }, - { - "authors": "Microsoft", - "description": "Import libs for Windows", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows-targets", - "repository": "https://github.com/microsoft/windows-rs" - }, { "authors": "Microsoft", "description": "Import libs for Windows", @@ -4807,22 +3375,6 @@ "name": "windows_aarch64_gnullvm", "repository": "https://github.com/microsoft/windows-rs" }, - { - "authors": "Microsoft", - "description": "Import lib for Windows", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows_aarch64_gnullvm", - "repository": "https://github.com/microsoft/windows-rs" - }, - { - "authors": "Microsoft", - "description": "Import lib for Windows", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows_aarch64_msvc", - "repository": "https://github.com/microsoft/windows-rs" - }, { "authors": "Microsoft", "description": "Import lib for Windows", @@ -4855,14 +3407,6 @@ "name": "windows_i686_gnu", "repository": "https://github.com/microsoft/windows-rs" }, - { - "authors": "Microsoft", - "description": "Import lib for Windows", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows_i686_gnu", - "repository": "https://github.com/microsoft/windows-rs" - }, { "authors": "Microsoft", "description": "Import lib for Windows", @@ -4895,22 +3439,6 @@ "name": "windows_i686_msvc", "repository": "https://github.com/microsoft/windows-rs" }, - { - "authors": "Microsoft", - "description": "Import lib for Windows", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows_i686_msvc", - "repository": "https://github.com/microsoft/windows-rs" - }, - { - "authors": "Microsoft", - "description": "Import lib for Windows", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows_x86_64_gnu", - "repository": "https://github.com/microsoft/windows-rs" - }, { "authors": "Microsoft", "description": "Import lib for Windows", @@ -4943,22 +3471,6 @@ "name": "windows_x86_64_gnullvm", "repository": "https://github.com/microsoft/windows-rs" }, - { - "authors": "Microsoft", - "description": "Import lib for Windows", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows_x86_64_gnullvm", - "repository": "https://github.com/microsoft/windows-rs" - }, - { - "authors": "Microsoft", - "description": "Import lib for Windows", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "name": "windows_x86_64_msvc", - "repository": "https://github.com/microsoft/windows-rs" - }, { "authors": "Microsoft", "description": "Import lib for Windows", @@ -5000,51 +3512,75 @@ "repository": "https://github.com/bytecodealliance/wit-bindgen" }, { - "authors": "Cldfire", - "description": "Derive macro for nvml-wrapper, not for general use", - "license": "Apache-2.0 OR MIT", + "authors": "Alex Crichton ", + "description": "Rust bindings generator and runtime support for WIT and the component model. Used when compiling Rust programs to the component model.", + "license": "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT", "license_file": null, - "name": "wrapcenum-derive", - "repository": "https://github.com/Cldfire/wrapcenum-derive" + "name": "wit-bindgen", + "repository": "https://github.com/bytecodealliance/wit-bindgen" }, { - "authors": "The ICU4X Project Developers", - "description": "A more efficient alternative to fmt::Display", - "license": "Unicode-3.0", + "authors": "Alex Crichton ", + "description": "Rust bindings generator and runtime support for WIT and the component model. Used when compiling Rust programs to the component model.", + "license": "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT", "license_file": null, - "name": "writeable", - "repository": "https://github.com/unicode-org/icu4x" + "name": "wit-bindgen", + "repository": "https://github.com/bytecodealliance/wit-bindgen" }, { - "authors": "Vladimir Matveev ", - "description": "An XML library in pure Rust", - "license": "MIT", + "authors": "Alex Crichton ", + "description": "Low-level support for bindings generation based on WIT files for use with `wit-bindgen-cli` and other languages.", + "license": "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT", "license_file": null, - "name": "xml-rs", - "repository": "https://github.com/kornelski/xml-rs" + "name": "wit-bindgen-core", + "repository": "https://github.com/bytecodealliance/wit-bindgen" }, { - "authors": "Manish Goregaokar ", - "description": "Abstraction allowing borrowed data to be carried along with the backing data it borrows from", - "license": "Unicode-3.0", + "authors": "Alex Crichton ", + "description": "Rust bindings generator for WIT and the component model, typically used through the `wit-bindgen` crate's `generate!` macro.", + "license": "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT", "license_file": null, - "name": "yoke", - "repository": "https://github.com/unicode-org/icu4x" + "name": "wit-bindgen-rust", + "repository": "https://github.com/bytecodealliance/wit-bindgen" }, { - "authors": "Manish Goregaokar ", - "description": "Abstraction allowing borrowed data to be carried along with the backing data it borrows from", + "authors": "Alex Crichton ", + "description": "Procedural macro paired with the `wit-bindgen` crate.", + "license": "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT", + "license_file": null, + "name": "wit-bindgen-rust-macro", + "repository": "https://github.com/bytecodealliance/wit-bindgen" + }, + { + "authors": "Peter Huene ", + "description": "Tooling for working with `*.wit` and component files together.", + "license": "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT", + "license_file": null, + "name": "wit-component", + "repository": "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wit-component" + }, + { + "authors": "Alex Crichton ", + "description": "Tooling for parsing `*.wit` files and working with their contents.", + "license": "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT", + "license_file": null, + "name": "wit-parser", + "repository": "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wit-parser" + }, + { + "authors": "The ICU4X Project Developers", + "description": "A more efficient alternative to fmt::Display", "license": "Unicode-3.0", "license_file": null, - "name": "yoke", + "name": "writeable", "repository": "https://github.com/unicode-org/icu4x" }, { "authors": "Manish Goregaokar ", - "description": "Custom derive for the yoke crate", + "description": "Abstraction allowing borrowed data to be carried along with the backing data it borrows from", "license": "Unicode-3.0", "license_file": null, - "name": "yoke-derive", + "name": "yoke", "repository": "https://github.com/unicode-org/icu4x" }, { @@ -5127,14 +3663,6 @@ "name": "zip", "repository": "https://github.com/zip-rs/zip2.git" }, - { - "authors": "Mathijs van de Nes |Marli Frost |Ryan Levick |Chris Hennick ", - "description": "Library to support the reading and writing of zip files.", - "license": "MIT", - "license_file": null, - "name": "zip", - "repository": "https://github.com/zip-rs/zip2.git" - }, { "authors": null, "description": "A memory-safe zlib implementation written in rust", diff --git a/rslib/src/browser_table.rs b/rslib/src/browser_table.rs index 4d943e40857..abfbb32a8e3 100644 --- a/rslib/src/browser_table.rs +++ b/rslib/src/browser_table.rs @@ -3,7 +3,6 @@ use std::sync::Arc; -use fsrs::FSRS; use fsrs::FSRS5_DEFAULT_DECAY; use itertools::Itertools; use strum::Display; @@ -545,11 +544,8 @@ impl RowContext { .zip(self.cards[0].seconds_since_last_review(&self.timing)) .zip(Some(self.cards[0].decay.unwrap_or(FSRS5_DEFAULT_DECAY))) .map(|((state, seconds), decay)| { - let r = FSRS::new(None).unwrap().current_retrievability_seconds( - (*state).into(), - seconds, - decay, - ); + let r = + fsrs::current_retrievability((*state).into(), seconds as f32 / 86_400.0, decay); format!("{:.0}%", r * 100.) }) .unwrap_or_default() diff --git a/rslib/src/deckconfig/service.rs b/rslib/src/deckconfig/service.rs index b8987982bdc..2817cf61961 100644 --- a/rslib/src/deckconfig/service.rs +++ b/rslib/src/deckconfig/service.rs @@ -116,13 +116,23 @@ impl crate::services::DeckConfigService for Collection { .get_revlog_entries_for_searched_cards_in_card_order()?; let mut config = guard.col.get_optimal_retention_parameters(revlogs)?; + let fsrs_card_params = std::sync::Arc::new(fsrs::check_and_fill_parameters(&input.w)?); let cards = guard .col .storage .all_searched_cards()? .into_iter() .filter(is_included_card) - .filter_map(|c| crate::card::Card::convert(c.clone(), days_elapsed, c.memory_state?)) + .filter_map(|c| { + let desired_retention = c.desired_retention.unwrap_or(0.9); + crate::card::Card::convert( + c.clone(), + days_elapsed, + c.memory_state?, + desired_retention, + fsrs_card_params.clone(), + ) + }) .collect::>(); config.deck_size = guard.cards; diff --git a/rslib/src/deckconfig/update.rs b/rslib/src/deckconfig/update.rs index a9a27753ea8..cf2a865abc3 100644 --- a/rslib/src/deckconfig/update.rs +++ b/rslib/src/deckconfig/update.rs @@ -181,7 +181,7 @@ impl Collection { conf.inner.fsrs_params_4.clear(); } // check the provided parameters are valid before we save them - FSRS::new(Some(conf.fsrs_params()))?; + FSRS::new(conf.fsrs_params())?; self.add_or_update_deck_config(conf)?; configs_after_update.insert(conf.id, conf.clone()); } diff --git a/rslib/src/scheduler/answering/mod.rs b/rslib/src/scheduler/answering/mod.rs index 4a8bcdecd79..460a0a57c8d 100644 --- a/rslib/src/scheduler/answering/mod.rs +++ b/rslib/src/scheduler/answering/mod.rs @@ -461,7 +461,7 @@ impl Collection { let fsrs_enabled = self.get_config_bool(BoolKey::Fsrs); let fsrs_next_states = if fsrs_enabled { let params = config.fsrs_params(); - let fsrs = FSRS::new(Some(params))?; + let fsrs = FSRS::new(params)?; card.decay = Some(get_decay_from_params(params)); if card.memory_state.is_none() && card.ctype != CardType::New { // Card has been moved or imported into an FSRS deck after params were set, diff --git a/rslib/src/scheduler/fsrs/memory_state.rs b/rslib/src/scheduler/fsrs/memory_state.rs index cb6aaf80ece..9a1084b796f 100644 --- a/rslib/src/scheduler/fsrs/memory_state.rs +++ b/rslib/src/scheduler/fsrs/memory_state.rs @@ -96,7 +96,7 @@ impl Collection { let Some(req) = &req else { let items = fsrs_items_for_memory_states( - &FSRS::new(Some(&[]))?, + &FSRS::new(&[])?, revlog, timing.next_day_at, 0.9, @@ -114,7 +114,7 @@ impl Collection { continue; }; - let fsrs = FSRS::new(Some(&req.params[..]))?; + let fsrs = FSRS::new(&req.params[..])?; let last_revlog_info = req.reschedule.then(|| get_last_revlog_info(&revlog)); let items = fsrs_items_for_memory_states( @@ -374,7 +374,7 @@ impl Collection { let historical_retention = config.inner.historical_retention; let params = config.fsrs_params(); let decay = get_decay_from_params(params); - let fsrs = FSRS::new(Some(params))?; + let fsrs = FSRS::new(params)?; let revlog = self.revlog_for_srs(SearchNode::CardIds(card.id.to_string()))?; let item = fsrs_item_for_memory_state( &fsrs, @@ -589,7 +589,7 @@ mod tests { fn bypassed_learning_is_handled() -> Result<()> { // cards without any learning steps due to truncated history still have memory // state calculated - let fsrs = FSRS::new(Some(&[])).unwrap(); + let fsrs = FSRS::new(&[]).unwrap(); let item = fsrs_item_for_memory_state( &fsrs, vec![ @@ -662,7 +662,7 @@ mod tests { reps: 1, ..Default::default() }; - card.set_memory_state(&FSRS::new(Some(&[])).unwrap(), None, 0.9)?; + card.set_memory_state(&FSRS::new(&[]).unwrap(), None, 0.9)?; assert_int_eq( card.memory_state, Some( diff --git a/rslib/src/scheduler/fsrs/params.rs b/rslib/src/scheduler/fsrs/params.rs index 6f438a5d2bc..3e5734ac9e8 100644 --- a/rslib/src/scheduler/fsrs/params.rs +++ b/rslib/src/scheduler/fsrs/params.rs @@ -19,6 +19,7 @@ use fsrs::FSRSItem; use fsrs::FSRSReview; use fsrs::MemoryState; use fsrs::ModelEvaluation; +use fsrs::TrainingConfig; use fsrs::FSRS; use itertools::Itertools; use prost::Message; @@ -94,7 +95,7 @@ impl Collection { self.clear_progress(); let timing = self.timing_today()?; let revlogs = self.revlog_for_srs(search)?; - let (items, review_count) = + let (items, card_ids, review_count) = fsrs_items_for_training(revlogs.clone(), timing.next_day_at, ignore_revlogs_before); let fsrs_items = items.len() as u32; @@ -135,18 +136,22 @@ impl Collection { }; let (progress, progress_thread) = create_progress_thread()?; - let fsrs = FSRS::new(None)?; let input = ComputeParametersInput { train_set: items.clone(), + card_ids: Some(card_ids), progress: Some(progress.clone()), enable_short_term: true, num_relearning_steps: Some(num_of_relearning_steps), + training_config: Some(TrainingConfig { + num_epochs: 8, + ..Default::default() + }), }; - let mut params = fsrs.compute_parameters(input.clone())?; + let mut params = fsrs::compute_parameters(input.clone())?; progress_thread.join().ok(); - if let Ok(current_fsrs) = FSRS::new(Some(current_params)) { + if let Ok(current_fsrs) = FSRS::new(current_params) { let current_log_loss = current_fsrs.evaluate(items.clone(), |_| true)?.log_loss; - let optimized_fsrs = FSRS::new(Some(¶ms))?; + let optimized_fsrs = FSRS::new(¶ms)?; let optimized_log_loss = optimized_fsrs.evaluate(items.clone(), |_| true)?.log_loss; if current_log_loss <= optimized_log_loss { if num_of_relearning_steps <= 1 { @@ -175,8 +180,7 @@ impl Collection { } let health_check_passed = if health_check && input.train_set.len() > 300 { - let fsrs = FSRS::new(None)?; - fsrs.evaluate_with_time_series_splits(input, |_| true) + fsrs::evaluate_with_time_series_splits(input, |_| true) .ok() .map(|eval| { let r = items.iter().fold(0, |p, item| { @@ -279,18 +283,22 @@ impl Collection { ) -> Result { let timing = self.timing_today()?; let revlogs = self.revlog_for_srs(search)?; - let (items, review_count) = + let (items, card_ids, review_count) = fsrs_items_for_training(revlogs, timing.next_day_at, ignore_revlogs_before); let mut anki_progress = self.new_progress_handler::(); anki_progress.state.reviews = review_count as u32; - let fsrs = FSRS::new(None)?; let input = ComputeParametersInput { train_set: items.clone(), + card_ids: Some(card_ids), progress: None, enable_short_term: true, num_relearning_steps: Some(num_of_relearning_steps), + training_config: Some(TrainingConfig { + num_epochs: 8, + ..Default::default() + }), }; - Ok(fsrs.evaluate_with_time_series_splits(input, |ip| { + Ok(fsrs::evaluate_with_time_series_splits(input, |ip| { anki_progress .update(false, |p| { p.total_iterations = ip.total as u32; @@ -313,10 +321,10 @@ impl Collection { .col .storage .get_revlog_entries_for_searched_cards_in_card_order()?; - let (items, review_count) = + let (items, _, review_count) = fsrs_items_for_training(revlogs, timing.next_day_at, ignore_revlogs_before); anki_progress.state.reviews = review_count as u32; - let fsrs = FSRS::new(Some(params))?; + let fsrs = FSRS::new(params)?; Ok(fsrs.evaluate(items, |ip| { anki_progress .update(false, |p| { @@ -344,26 +352,33 @@ fn fsrs_items_for_training( revlogs: Vec, next_day_at: TimestampSecs, review_revlogs_before: TimestampMillis, -) -> (Vec, usize) { +) -> (Vec, Vec, usize) { let mut review_count: usize = 0; let mut revlogs = revlogs .into_iter() .chunk_by(|r| r.cid) .into_iter() - .filter_map(|(_cid, entries)| { + .filter_map(|(cid, entries)| { reviews_for_fsrs(entries.collect(), next_day_at, true, review_revlogs_before) + .map(|reviews| (cid, reviews)) }) - .flat_map(|i| { - review_count += i.filtered_revlogs.len(); + .flat_map(|(cid, reviews)| { + review_count += reviews.filtered_revlogs.len(); - i.fsrs_items + reviews + .fsrs_items + .into_iter() + .map(move |(revlog_id, item)| (revlog_id, cid, item)) }) .collect_vec(); // Sort by RevlogId - revlogs.sort_by_key(|(revlog_id, _)| revlog_id.0); - // Extract only the FSRSItems after sorting - let revlogs = revlogs.into_iter().map(|(_, item)| item).collect_vec(); - (revlogs, review_count) + revlogs.sort_by_key(|(revlog_id, _, _)| revlog_id.0); + // Extract FSRSItems and card ids after sorting, preserving alignment. + let (card_ids, items) = revlogs + .into_iter() + .map(|(_, cid, item)| (cid.0, item)) + .unzip(); + (items, card_ids, review_count) } pub(crate) struct ReviewsForFsrs { @@ -576,6 +591,13 @@ pub(crate) mod tests { } } + fn revlog_for_card(cid: i64, review_kind: RevlogReviewKind, days_ago: i64) -> RevlogEntry { + RevlogEntry { + cid: CardId(cid), + ..revlog(review_kind, days_ago) + } + } + pub(crate) fn review(delta_t: u32) -> FSRSReview { FSRSReview { rating: 3, delta_t } } @@ -647,6 +669,28 @@ pub(crate) mod tests { Ok(()) } + #[test] + fn card_ids_align_with_sorted_training_items() { + let (items, card_ids, review_count) = fsrs_items_for_training( + vec![ + revlog_for_card(1, RevlogReviewKind::Learning, 10), + revlog_for_card(1, RevlogReviewKind::Review, 7), + revlog_for_card(1, RevlogReviewKind::Review, 1), + revlog_for_card(2, RevlogReviewKind::Learning, 9), + revlog_for_card(2, RevlogReviewKind::Review, 8), + ], + NEXT_DAY_AT, + 0.into(), + ); + + assert_eq!(card_ids, vec![2, 1, 1]); + assert_eq!( + items.iter().map(|item| item.reviews.len()).collect_vec(), + vec![2, 2, 3] + ); + assert_eq!(review_count, 5); + } + #[test] fn cram_is_filtered() { assert_eq!( diff --git a/rslib/src/scheduler/fsrs/retention.rs b/rslib/src/scheduler/fsrs/retention.rs index 4c21623bbb8..fac58455f8d 100644 --- a/rslib/src/scheduler/fsrs/retention.rs +++ b/rslib/src/scheduler/fsrs/retention.rs @@ -3,7 +3,6 @@ use anki_proto::scheduler::SimulateFsrsReviewRequest; use fsrs::extract_simulator_config; use fsrs::SimulatorConfig; -use fsrs::FSRS; use crate::prelude::*; use crate::revlog::RevlogEntry; @@ -17,26 +16,24 @@ pub struct ComputeRetentionProgress { impl Collection { pub fn compute_optimal_retention(&mut self, req: SimulateFsrsReviewRequest) -> Result { let mut anki_progress = self.new_progress_handler::(); - let fsrs = FSRS::new(None)?; if req.days_to_simulate == 0 { invalid_input!("no days to simulate") } let (config, cards) = self.simulate_request_to_config(&req)?; - Ok(fsrs - .optimal_retention( - &config, - &req.params, - |ip| { - anki_progress - .update(false, |p| { - p.current = ip.current as u32; - }) - .is_ok() - }, - Some(cards), - None, - )? - .clamp(0.7, 0.95)) + Ok(fsrs::optimal_retention( + &config, + &req.params, + |ip| { + anki_progress + .update(false, |p| { + p.current = ip.current as u32; + }) + .is_ok() + }, + Some(cards), + None, + )? + .clamp(0.7, 0.95)) } pub fn get_optimal_retention_parameters( diff --git a/rslib/src/scheduler/fsrs/simulator.rs b/rslib/src/scheduler/fsrs/simulator.rs index 25dc317c923..a4a2887b09c 100644 --- a/rslib/src/scheduler/fsrs/simulator.rs +++ b/rslib/src/scheduler/fsrs/simulator.rs @@ -14,7 +14,6 @@ use fsrs::ReviewPriorityFn; use fsrs::SimulatorConfig; use fsrs::FSRS; use itertools::Itertools; -use rand::rngs::StdRng; use rand::Rng; use rayon::iter::IntoParallelIterator; use rayon::iter::ParallelIterator; @@ -37,7 +36,7 @@ pub(crate) fn apply_load_balance_and_easy_days( max_interval: f32, day_elapsed: usize, due_cnt_per_day: &[usize], - rng: &mut StdRng, + fuzz_seed: u64, next_day_at: TimestampSecs, easy_days_percentages: &[EasyDay; 7], ) -> f32 { @@ -75,7 +74,6 @@ pub(crate) fn apply_load_balance_and_easy_days( sibling_modifier: 1.0, easy_days_modifier: easy_days_modifier[interval_index], }); - let fuzz_seed = rng.random(); select_weighted_interval(intervals, Some(fuzz_seed)).unwrap() as f32 } @@ -83,37 +81,36 @@ fn create_review_priority_fn( review_order: ReviewCardOrder, deck_size: usize, ) -> Option { - // Helper macro to wrap closure in ReviewPriorityFn macro_rules! wrap { ($f:expr) => { - Some(ReviewPriorityFn(std::sync::Arc::new($f))) + Some(ReviewPriorityFn::new($f)) }; } match review_order { // Ease-based ordering - EaseAscending => wrap!(|c, _w| -(c.difficulty * 100.0) as i32), - EaseDescending => wrap!(|c, _w| (c.difficulty * 100.0) as i32), + EaseAscending => wrap!(|c: &fsrs::Card| -(c.difficulty * 100.0) as i32), + EaseDescending => wrap!(|c: &fsrs::Card| (c.difficulty * 100.0) as i32), // Interval-based ordering - IntervalsAscending => wrap!(|c, _w| c.interval as i32), - IntervalsDescending => wrap!(|c, _w| (c.interval as i32).saturating_neg()), + IntervalsAscending => wrap!(|c: &fsrs::Card| c.interval as i32), + IntervalsDescending => wrap!(|c: &fsrs::Card| (c.interval as i32).saturating_neg()), // Retrievability-based ordering RetrievabilityAscending => { - wrap!(move |c, w| (c.retrievability(w) * 1000.0) as i32) + wrap!(move |c: &fsrs::Card| (c.retrievability() * 1000.0) as i32) } RetrievabilityDescending => { - wrap!(move |c, w| -(c.retrievability(w) * 1000.0) as i32) + wrap!(move |c: &fsrs::Card| -(c.retrievability() * 1000.0) as i32) } // Due date ordering Day | DayThenDeck | DeckThenDay => { - wrap!(|c, _w| c.scheduled_due() as i32) + wrap!(|c: &fsrs::Card| c.scheduled_due() as i32) } // Random ordering Random => { - wrap!(move |_c, _w| rand::rng().random_range(0..deck_size) as i32) + wrap!(move |_c: &fsrs::Card| rand::rng().random_range(0..deck_size) as i32) } // Not implemented yet @@ -155,11 +152,13 @@ impl Collection { .filter(|c| c.ctype == CardType::New && c.queue != CardQueue::Suspended) .count() + req.deck_size as usize; - let fsrs = FSRS::new(Some(&req.params))?; + let fsrs = FSRS::new(&req.params)?; + let fsrs_card_params = Arc::new(fsrs::check_and_fill_parameters(&req.params)?); let mut converted_cards = cards .into_iter() .filter(is_included_card) .filter_map(|c| { + let desired_retention = c.desired_retention.unwrap_or(req.desired_retention); let memory_state = match c.memory_state { Some(state) => state, // cards that lack memory states after compute_memory_state have no FSRS items, @@ -173,7 +172,13 @@ impl Collection { .ok()? .into(), }; - Card::convert(c, days_elapsed, memory_state) + Card::convert( + c, + days_elapsed, + memory_state, + desired_retention, + fsrs_card_params.clone(), + ) }) .collect_vec(); let introduced_today_count = self @@ -189,6 +194,8 @@ impl Collection { due: ((introduced_today_count + i) / req.new_limit as usize) as f32, interval: f32::NEG_INFINITY, lapses: 0, + desired_retention: req.desired_retention, + parameters: fsrs_card_params.clone(), }); converted_cards.extend(new_cards); } @@ -200,19 +207,19 @@ impl Collection { let post_scheduling_fn: Option = if self.get_config_bool(BoolKey::LoadBalancerEnabled) { - Some(PostSchedulingFn(Arc::new( - move |card, max_interval, today, due_cnt_per_day, rng| { + Some(PostSchedulingFn::new( + move |mut ctx: fsrs::PostSchedulingContext<'_>| { apply_load_balance_and_easy_days( - card.interval, - max_interval, - today, - due_cnt_per_day, - rng, + ctx.card.interval, + ctx.max_interval, + ctx.today, + ctx.due_counts_per_day, + ctx.random_u64(), next_day_at, &easy_days_percentages, ) }, - ))) + )) } else { None }; @@ -300,9 +307,9 @@ impl Collection { )) }) .collect::>>()?; - let reviewless_end_memorized = cards.iter().fold(0., |p, c| { - p + c.retention_on(&req.params, req.days_to_simulate as f32) - }); + let reviewless_end_memorized = cards + .iter() + .fold(0., |p, c| p + c.retention_on(req.days_to_simulate as f32)); Ok(SimulateFsrsWorkloadResponse { reviewless_end_memorized, memorized: dr_workload.iter().map(|(k, v)| (*k, v.0)).collect(), @@ -317,6 +324,8 @@ impl Card { card: Card, days_elapsed: i32, memory_state: FsrsMemoryState, + desired_retention: f32, + parameters: Arc>, ) -> Option { match card.queue { CardQueue::DayLearn | CardQueue::Review => { @@ -331,6 +340,8 @@ impl Card { due: relative_due as f32, interval: card.interval as f32, lapses: card.lapses, + desired_retention, + parameters, }) } CardQueue::New => None, @@ -342,6 +353,8 @@ impl Card { due: 0.0, interval: card.interval as f32, lapses: card.lapses, + desired_retention, + parameters, }), CardQueue::PreviewRepeat => None, CardQueue::Suspended => None, diff --git a/rslib/src/scheduler/service/mod.rs b/rslib/src/scheduler/service/mod.rs index 9f42a79f7fb..0d2add41d2d 100644 --- a/rslib/src/scheduler/service/mod.rs +++ b/rslib/src/scheduler/service/mod.rs @@ -20,7 +20,6 @@ use anki_proto::scheduler::SimulateFsrsWorkloadResponse; use fsrs::ComputeParametersInput; use fsrs::FSRSItem; use fsrs::FSRSReview; -use fsrs::FSRS; use crate::backend::Backend; use crate::prelude::*; @@ -389,13 +388,14 @@ impl crate::services::BackendSchedulerService for Backend { &self, req: scheduler::ComputeFsrsParamsFromItemsRequest, ) -> Result { - let fsrs = FSRS::new(None)?; let fsrs_items = req.items.len() as u32; - let params = fsrs.compute_parameters(ComputeParametersInput { + let params = fsrs::compute_parameters(ComputeParametersInput { train_set: req.items.into_iter().map(fsrs_item_proto_to_fsrs).collect(), + card_ids: None, progress: None, enable_short_term: true, num_relearning_steps: None, + training_config: None, })?; Ok(ComputeFsrsParamsResponse { params, @@ -408,17 +408,18 @@ impl crate::services::BackendSchedulerService for Backend { &self, req: scheduler::FsrsBenchmarkRequest, ) -> Result { - let fsrs = FSRS::new(None)?; let train_set = req .train_set .into_iter() .map(fsrs_item_proto_to_fsrs) .collect(); - let params = fsrs.benchmark(ComputeParametersInput { + let params = fsrs::benchmark(ComputeParametersInput { train_set, + card_ids: None, progress: None, enable_short_term: true, num_relearning_steps: None, + training_config: None, }); Ok(FsrsBenchmarkResponse { params }) } diff --git a/rslib/src/stats/card.rs b/rslib/src/stats/card.rs index 0dabff5e52f..596aaa78502 100644 --- a/rslib/src/stats/card.rs +++ b/rslib/src/stats/card.rs @@ -53,11 +53,7 @@ impl Collection { .zip(Some(seconds_elapsed)) .zip(Some(card.decay.unwrap_or(FSRS5_DEFAULT_DECAY))) .map(|((state, seconds), decay)| { - FSRS::new(None).unwrap().current_retrievability_seconds( - state.into(), - seconds, - decay, - ) + fsrs::current_retrievability(state.into(), seconds as f32 / 86_400.0, decay) }); let original_deck = if card.original_deck_id == DeckId(0) { @@ -161,7 +157,7 @@ impl Collection { .get_deck_config(conf_id)? .or_not_found(conf_id)?; let historical_retention = config.inner.historical_retention; - let fsrs = FSRS::new(Some(config.fsrs_params()))?; + let fsrs = FSRS::new(config.fsrs_params())?; let next_day_at = self.timing_today()?.next_day_at; let ignore_before = ignore_revlogs_before_ms_from_config(&config)?; diff --git a/rslib/src/stats/graphs/retrievability.rs b/rslib/src/stats/graphs/retrievability.rs index 69ac4d45067..19401e6767c 100644 --- a/rslib/src/stats/graphs/retrievability.rs +++ b/rslib/src/stats/graphs/retrievability.rs @@ -2,7 +2,6 @@ // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html use anki_proto::stats::graphs_response::Retrievability; -use fsrs::FSRS; use fsrs::FSRS5_DEFAULT_DECAY; use crate::prelude::TimestampSecs; @@ -20,7 +19,6 @@ impl GraphsContext { now: TimestampSecs::now(), next_day_at: self.next_day_start, }; - let fsrs = FSRS::new(None).unwrap(); // note id -> (sum, count) let mut note_retrievability: std::collections::HashMap = std::collections::HashMap::new(); @@ -31,9 +29,9 @@ impl GraphsContext { entry.1 += 1; if let Some(state) = card.memory_state { let elapsed_seconds = card.seconds_since_last_review(&timing).unwrap_or_default(); - let r = fsrs.current_retrievability_seconds( + let r = fsrs::current_retrievability( state.into(), - elapsed_seconds, + elapsed_seconds as f32 / 86_400.0, card.decay.unwrap_or(FSRS5_DEFAULT_DECAY), ); diff --git a/rslib/src/storage/sqlite.rs b/rslib/src/storage/sqlite.rs index 7f68496b42e..dfaaa48ed85 100644 --- a/rslib/src/storage/sqlite.rs +++ b/rslib/src/storage/sqlite.rs @@ -11,7 +11,6 @@ use std::sync::Arc; use bitflags::bitflags; use fnv::FnvHasher; -use fsrs::FSRS; use fsrs::FSRS5_DEFAULT_DECAY; use regex::Regex; use rusqlite::functions::FunctionFlags; @@ -359,11 +358,7 @@ fn add_extract_fsrs_retrievability(db: &Connection) -> rusqlite::Result<()> { }; let decay = card_data.decay.unwrap_or(FSRS5_DEFAULT_DECAY); let retrievability = card_data.memory_state().map(|state| { - FSRS::new(None).unwrap().current_retrievability_seconds( - state.into(), - seconds_elapsed, - decay, - ) + fsrs::current_retrievability(state.into(), seconds_elapsed as f32 / 86_400.0, decay) }); Ok(retrievability) }, @@ -432,10 +427,12 @@ fn add_extract_fsrs_relative_retrievability(db: &Connection) -> rusqlite::Result secs_elapsed }; - let current_retrievability = FSRS::new(None) - .unwrap() - .current_retrievability_seconds(state.into(), seconds_elapsed, decay) - .max(0.0001); + let current_retrievability = fsrs::current_retrievability( + state.into(), + seconds_elapsed as f32 / 86_400.0, + decay, + ) + .max(0.0001); return Ok(Some( -(current_retrievability.powf(-1.0 / decay) - 1.)