[package]
edition = "2024"
rust-version = "1.89"
name = "rlx-web"
version = "0.2.18"
authors = [
"Eugene Hauptmann",
"Nataliya Kosmyna",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "WebAssembly entry point for RLX — run models in the browser (CPU backend; WebGPU device bring-up)"
documentation = "https://docs.rs/rlx"
readme = "README.md"
keywords = [
"ml",
"tensor",
"compiler",
"neural-network",
"autodiff",
]
categories = [
"science",
"algorithms",
"compilers",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/MIT-RLX/rlx"
resolver = "2"
[package.metadata.docs.rs]
default-target = "wasm32-unknown-unknown"
targets = ["wasm32-unknown-unknown"]
features = [
"webgpu",
"webgl",
"browser",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
all-features = false
[features]
browser = [
"webgpu",
"webgl",
]
default = []
webgl = [
"dep:rlx-webgl",
"rlx-runtime/opengl",
"rlx-runtime/browser",
]
webgpu = [
"dep:rlx-wgpu",
"rlx-runtime/webgpu",
"rlx-runtime/browser",
]
[lib]
name = "rlx_web"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[test]]
name = "webgpu_trainable_models"
path = "tests/webgpu_trainable_models.rs"
[dependencies.rlx-autodiff]
version = "0.2.18"
[dependencies.rlx-ir]
version = "0.2.18"
[dependencies.rlx-opt]
version = "0.2.18"
[dependencies.rlx-runtime]
version = "0.2.18"
features = ["cpu"]
default-features = false
[dependencies.rlx-webgl]
version = "0.2.18"
optional = true
[dependencies.rlx-wgpu]
version = "0.2.18"
optional = true
[dependencies.wasm-bindgen]
version = "0.2.118"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4.68"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3.95"
features = [
"console",
"Window",
"Performance",
]
[lints.cargo]
unused_dependencies = "allow"
unused_workspace_dependencies = "allow"
[lints.clippy]
collapsible_if = "allow"
doc_lazy_continuation = "allow"
doc_overindented_list_items = "allow"
large_enum_variant = "allow"
manual_range_contains = "allow"
missing_safety_doc = "allow"
needless_range_loop = "allow"
should_implement_trait = "allow"
single_range_in_vec_init = "allow"
too_many_arguments = "allow"
type_complexity = "allow"
unnecessary_wraps = "allow"
upper_case_acronyms = "allow"
useless_conversion = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.rust.unused]
level = "warn"
priority = 0