[package]
name = "luminal"
version = "0.2.0"
edition.workspace = true
rust-version = "1.85"
description = "Deep learning at the speed of light."
license = "MIT OR Apache-2.0"

[dependencies]
itertools = "0.11.0"
num-traits = "0.2.16"
petgraph = "0.6.4"
rand = "0.9.2"
urlencoding = "2.1.2"
dyn-clone = "1.0.12"
half = {version="2.7.1", features=["num-traits"]}
tinyvec = { version = "1.6.0", features = ["serde"] }
colored = "2.0.4"
regex = "1.9.5"
rustc-hash = "2.1.1"
as-any = "0.3.1"
serde = { version = "1.0.202", features = ["derive"] }
generational-box = "0.5.6"
serde_json = "1.0.140"
egglog = {git="https://github.com/egraphs-good/egglog", rev="0a8cc35a6c68d0460c20449d5fa19ca3caba2923"}
egglog-ast = {git="https://github.com/egraphs-good/egglog", rev="0a8cc35a6c68d0460c20449d5fa19ca3caba2923"}
egraph-serialize = { version = "0.3.0", default-features = false, features = ["graphviz", "serde"]}
tracing = "0.1.43"
paste = "1.0.15"
pretty-duration = "0.1.1"
anyhow = "1.0"
graphviz-rust = { version = "0.9", default-features = false}
lru = "0.16.2"

[workspace.package]
edition = "2024"

[dev-dependencies]
candle-core = "0.9.1"
candle-nn = "0.9.1"
ordered-float = "5.1.0"
proptest = "1.9.0"

[workspace]
members = [
    "examples/*",
    "crates/luminal_nn",
    "crates/luminal_cuda",
    "crates/luminal_metal",
    "crates/luminal_tracing",
    "crates/luminal_bench",
]