[package]
name = "ara2"
version.workspace = true
edition.workspace = true
authors.workspace = true
description.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true
readme.workspace = true
keywords = ["neural-network", "inference", "accelerator", "ara2", "edgefirst"]
categories = ["hardware-support", "science", "embedded"]
exclude = ["target/", "*.dvm", "*.onnx"]

[features]
# Enables the libcamera-based live-inference example (yolov8_live).
# Off by default so building the library and file-based examples does not
# require libcamera or Wayland client libraries on the host.
camera = ["dep:libcamera", "dep:wayland-client", "dep:wayland-protocols"]

[dependencies]
ara2-sys.workspace = true
edgefirst-hal.workspace = true
libcamera = { workspace = true, optional = true }
libloading.workspace = true
log.workspace = true
ndarray.workspace = true
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
wayland-client = { workspace = true, optional = true }
wayland-protocols = { workspace = true, optional = true }
zip = { version = "8.6", default-features = false }

[dev-dependencies]
clap.workspace = true
criterion.workspace = true

[[bench]]
name = "model_benchmark"
harness = false

[[example]]
name = "test_dvm_metadata"
path = "../../examples/test_dvm_metadata.rs"

[[example]]
name = "yolov8"
path = "../../examples/yolov8.rs"

[[example]]
name = "yolov8_live"
path = "../../examples/yolov8_live.rs"
required-features = ["camera"]

[[example]]
name = "async_infer"
path = "../../examples/async_infer.rs"

[[example]]
name = "async_pipeline"
path = "../../examples/async_pipeline.rs"

[[example]]
name = "async_multi_model"
path = "../../examples/async_multi_model.rs"
