[package]
name = "evlib"
version = "0.8.6"
authors = ["Tarek Allam <t.allam.jr@gmail.com>"]
edition = "2021"
resolver = "2"
description = "Event Camera Data Processing Library"
readme = "README.md"
license = "MIT"
repository = "https://github.com/tallamjr/evlib"
homepage = "https://github.com/tallamjr/evlib"
documentation = "https://docs.rs/evlib"
keywords = ["event-camera", "vision", "rust", "python", "pyo3"]
categories = ["science", "multimedia"]
exclude = [
"data/**/*",
"dist/**/*",
"examples/**/*",
"python/**/*",
"tests/**/*",
"*.png",
"*.mp4",
]
[lib]
name = "evlib"
crate-type = ["cdylib", "rlib"]
[[bench]]
name = "memory_efficiency"
harness = false
[[bench]]
name = "streaming_performance"
harness = false
[[bench]]
name = "format_comparison"
harness = false
[[bench]]
name = "basic_performance"
harness = false
[[bench]]
name = "standalone_benchmark"
harness = false
[dependencies]
numpy = { version = "0.25.0", optional = true }
pyo3 = { version = "0.25.1", features = ["extension-module"], optional = true }
pyo3-ffi = { version = "0.25.1", optional = true }
ndarray = "0.15.6"
ndarray-rand = "0.14.0"
rand = "=0.8.5"
rand_distr = "=0.4.3"
fastrand = "2.0"
tch = { version = "0.16", optional = true }
ort = { version = "2.0.0-rc.9", default-features = false, features = ["download-binaries", "copy-dylibs"], optional = true }
polars = { version = "0.49.1", default-features = true, features = ["temporal", "dtype-u16", "dtype-i8", "lazy"], optional = true }
pyo3-polars = { version = "0.22.0", optional = true }
arrow = { version = "55.0", default-features = false, optional = true }
arrow-array = { version = "55.0", optional = true }
pyo3-arrow = { version = "0.10.1", optional = true }
memmap2 = "0.5"
image = "0.24"
async-channel = "1.6"
lazy_static = "1.4"
byteorder = "1.5"
gstreamer = { version = "0.22", optional = true }
gstreamer-app = { version = "0.22", optional = true }
gstreamer-video = { version = "0.22", optional = true }
reqwest = { version = "0.11", features = ["blocking"] }
tokio = { version = "1.35", features = ["full"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
num_cpus = "1.16"
thiserror = "1.0"
warp = "0.3"
uuid = { version = "1.6", features = ["v4", "serde"] }
dashmap = "5.5"
futures = "0.3"
ratatui = { version = "0.28", optional = true }
crossterm = { version = "0.28", optional = true }
clap = { version = "4.0", features = ["derive"], optional = true }
[target.'cfg(unix)'.dependencies]
hdf5-metno = { version = "0.10.1", features = ["blosc-all"] }
hdf5-metno-sys = { version = "0.10.1" }
tracing = { version = "0.1.40" }
tracing-subscriber = { version = "0.3.18", features = ["env-filter", "fmt", "json"] }
[dev-dependencies]
tempfile = "3.8"
criterion = { version = "0.5", features = ["html_reports"] }
[features]
default = ["polars", "python", "arrow"]
python = ["dep:pyo3", "dep:pyo3-ffi", "dep:numpy", "dep:pyo3-polars"]
gstreamer = ["dep:gstreamer", "dep:gstreamer-app", "dep:gstreamer-video"]
pytorch = ["dep:tch"]
onnx = ["dep:ort"]
polars = ["dep:polars"]
arrow = ["dep:arrow", "dep:arrow-array", "dep:pyo3-arrow"]
zero-copy = ["arrow"]
terminal = ["dep:ratatui", "dep:crossterm", "dep:clap"]