[package]
name = "usls"
version = "0.1.0"
rust-version = "1.80.1"
edition = "2021"
description = "A Rust library integrated with ONNXRuntime, providing a collection of ML models."
repository = "https://github.com/jamjamjon/usls"
authors = ["Jamjamjon <xxyydzml@outlook.com>"]
license = "MIT"
readme = "README.md"
exclude = ["assets/*", "examples/*", "runs/*", "benches/*"]

[dependencies]
aksr = { version = "0.0.2" }
image = { version = "0.25.2" }
imageproc = { version = "0.24" }
ndarray = { version = "0.16.1", features = ["rayon", "serde"] }
rayon = { version = "1.10.0" }
anyhow = { version = "1.0.75" }
regex = { version = "1.5.4" }
rand = { version = "0.8.5" }
chrono = { version = "0.4.30" }
tokenizers = { version = "0.15.2" }
log = { version = "0.4.22" }
indicatif = "0.17.8"
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
ort = { version = "2.0.0-rc.9", default-features = false}
prost = "0.12.4"
ab_glyph = "0.2.23"
dirs = { version = "5.0.1" }
tempfile = "3.12.0"
geo = "0.28.0"
half = { version = "2.3.1" }
ureq = { version = "2.12.1", default-features = false, features = [ "tls" ] }
fast_image_resize = { version = "4.2.1", features = ["image"]}
natord = "1.0.9"
video-rs = { version = "0.10.0", features = ["ndarray"], optional = true }
minifb = { version = "0.27.0", optional = true }
sha2 = "0.10.8"
ndarray-npy = "0.9.1"

[dev-dependencies]
argh = "0.1.13"
tracing-subscriber = { version = "0.3.18", features = ["env-filter", "chrono"] }

[[example]]
name = "viewer"
required-features = ["ffmpeg"]

[features]
default = [
   "ort/ndarray",
   "ort/copy-dylibs",
   "ort/load-dynamic",
   "ort/half",
]
auto = ["ort/download-binaries"]
ffmpeg = ["dep:video-rs", "dep:minifb"]
cuda = [ "ort/cuda" ]
trt = [ "ort/tensorrt" ]
mps = [ "ort/coreml" ]

[profile.release]
# lto = true
strip = true
panic = "abort"
