content: [package]
  authors = ["nathanielsimard <nathaniel.simard.42@gmail.com>"]
  categories = ["science", "no-std", "embedded", "wasm"]
  description = "Tensor library with user-friendly APIs and automatic differentiation support"
  documentation = "https://docs.rs/burn-tensor"
  edition.workspace = true
  keywords = ["deep-learning", "machine-learning", "tensor", "pytorch", "ndarray"]
  license.workspace = true
  name = "burn-tensor"
  readme.workspace = true
  repository = "https://github.com/tracel-ai/burn/tree/main/crates/burn-tensor"
  version.workspace = true
  
  [lints]
  workspace = true
  
  [features]
  default = ["std", "burn-common/rayon"]
  cubecl = ["dep:cubecl"]
  cubecl-cuda = ["cubecl", "cubecl/cuda"]
  cubecl-hip = ["cubecl", "cubecl/hip"]
  cubecl-wgpu = ["cubecl", "cubecl/wgpu"]
  cubecl-cpu = ["cubecl", "cubecl/cpu"]
  doc = ["default"]
  experimental-named-tensor = []
  export_tests = ["burn-tensor-testgen", "cubecl"]
  std = ["rand/std", "half/std", "num-traits/std", "burn-common/std", "colored"]
  
  [dependencies]
  burn-common = { path = "../burn-common", version = "0.19.0", default-features = false }
  burn-tensor-testgen = { path = "../burn-tensor-testgen", version = "0.19.0", optional = true }
  cubecl = { workspace = true, optional = true, default-features = false }
  cubecl-quant = { workspace = true }
  
  bytemuck = { workspace = true, features = ["extern_crate_alloc"] }
  colored = { workspace = true, optional = true }
  derive-new = { workspace = true }
  half = { workspace = true, features = ["bytemuck"] }
  num-traits = { workspace = true }
  rand = { workspace = true, default-features = false }
  rand_distr = { workspace = true }                                  # use instead of statrs because it supports no_std
  
  # The same implementation of HashMap in std but with no_std support (only needs alloc crate)
  hashbrown = { workspace = true } # no_std compatible
  
  # Serialization
  serde = { workspace = true }
  serde_bytes = { workspace = true }
  
  [dev-dependencies]
  bincode = { workspace = true }
  rand = { workspace = true, features = ["thread_rng"] } # Default enables std
  paste = { workspace = true }
  
  [package.metadata.docs.rs]
  features = ["doc"]
  # KaTeX header is copied to the crate root in the publish workflow
  rustdoc-args = ["--cfg", "docsrs", "--html-in-header", "katex-header.html"]
  