depthai 0.1.2

Experimental Rust bindings and idiomatic wrapper for Luxonis DepthAI-Core v3.
Documentation
[workspace]
resolver = "3"
members = [
    "./depthai-sys",
    "./depthai-macros",
]

[workspace.package]
edition = "2024"
version = "0.1.2"
authors = ["Groupe CARVI Inc."]
license = "MIT"
repository = "https://github.com/groupe-carvi/depthai-rs"
homepage = "https://github.com/groupe-carvi/depthai-rs"
rust-version = "1.85"

[workspace.dependencies]
autocxx = "0.30.0"
cxx = "1.0.194"
autocxx-build = "0.30.0"
cxx-build = "1.0.194"



[package]
name = "depthai"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
description = "Experimental Rust bindings and idiomatic wrapper for Luxonis DepthAI-Core v3."
repository.workspace = true
homepage.workspace = true
documentation = "https://docs.rs/depthai"
readme = "README.md"
keywords = ["depthai", "luxonis", "computer-vision", "camera", "vision"]
categories = ["api-bindings", "computer-vision"]
include = [
    "Cargo.toml",
    "README.md",
    "LICENSE",
    "build.rs",
    "src/**",
    "examples/**",
    "tests/**",
]

[features]
default = ["native","opencv-download"]
native = ["depthai-sys/native"]
opencv-download = ["depthai-sys/opencv-download"]
docs = ["depthai-sys/no-native"]
hit = [] # Hardware Integration Tests
rerun = ["dep:rerun", "dep:tokio", "dep:re_web_viewer_server"]

# DepthAI-Core version selection.
#
# Cargo feature names can't contain dots, so version selectors use `v3-2-1` to mean tag `v3.2.1`.
# If none are selected, `depthai-sys` uses `latest` (the default).
latest = ["depthai-sys/latest"]
v3-3-0 = ["depthai-sys/v3-3-0"]
v3-2-1 = ["depthai-sys/v3-2-1"]
v3-2-0 = ["depthai-sys/v3-2-0"]
v3-1-0 = ["depthai-sys/v3-1-0"]

[package.metadata.docs.rs]
# docs.rs builds are time-limited and network-restricted; avoid building DepthAI-Core.
no-default-features = true
features = ["docs"]
rustdoc-args = ["--cfg", "docsrs"]


[dependencies]
image = "0.25.9"
memmap2 = "0.9.9"
ndarray = "0.17.2"
# Include both `path` and `version` so local workspace builds use the path,
# while published crates will use the version on crates.io.
depthai-sys = { version = "0.1.2", path = "./depthai-sys", default-features = false }
depthai-macros = { version = "0.1.2", path = "./depthai-macros" }
imageproc = "0.26.0"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
autocxx.workspace = true
rerun = { version = "0.28.2", default-features = false, features = ["sdk", "server", "web_viewer"], optional = true }
tokio = { version = "1.49.0", features = ["rt-multi-thread", "time", "net"], optional = true }
re_web_viewer_server = { version = "0.28.2", optional = true }

[lib]
doctest = false

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

[[example]]
name = "rgbd_rerun"
path = "examples/rgbd_rerun.rs"
required-features = ["rerun"]

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

[[example]]
name = "image_manip"
path = "examples/image_manip.rs"
required-features = ["rerun"]

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

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

[[example]]
name = "rerun_host_node"
path = "examples/rerun_host_node.rs"
required-features = ["rerun"]

[[example]]
name = "video_encoder_rerun"
path = "examples/video_encoder_rerun.rs"
required-features = ["rerun"]

[[example]]
name = "video_encoder_rerun_h265"
path = "examples/video_encoder_rerun_h265.rs"
required-features = ["rerun"]