[package]
name = "rustnn"
version = "0.5.9"
edition = "2024"
description = "W3C WebNN implementation with ONNX, CoreML, and TensorRT backends [DO NOT USE IN PRODUCTION - Development Release]"
license = "Apache-2.0"
repository = "https://github.com/tarekziade/rust-webnn-graph"
keywords = ["webnn", "onnx", "coreml", "tensorrt", "neural-networks"]
categories = ["science", "api-bindings"]
exclude = [
    "site/*",
    "docs/*",
    "tests/*",
    "examples/*",
    ".github/*",
    "*.md",
    "!README.md",
]
readme = "README.md"

[features]
default = []
coreml-runtime = ["objc"]
onnx-runtime = ["ort", "ndarray"]
trtx-runtime = ["trtx"]
trtx-runtime-mock = ["trtx/mock"]
python = ["pyo3"]

[dependencies]
clap = { version = "4.5", features = ["derive"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_with = { version = "3.8", features = ["base64"] }
thiserror = "1.0"
base64 = "0.22"
prost = "0.12"
prost-types = "0.12"
bytes = "1.6"
bytemuck = { version = "1.15", features = ["extern_crate_std"] }
ndarray = { version = "0.16", optional = true }
objc = { version = "0.2", optional = true }
ort = { version = "2.0.0-rc.10", optional = true, features = ["ndarray", "half", "download-binaries", "copy-dylibs"] }
half = "2.4"
trtx = { version = "0.2.0", optional = true }
pyo3 = { version = "0.22", features = ["extension-module"], optional = true }
regex = "1.11"
webnn-graph = "0.2.1"

[build-dependencies]
prost-build = "0.12"

[lib]
name = "rustnn"
crate-type = ["rlib", "cdylib"]
doctest = false
