[package]
edition = "2021"
rust-version = "1.75"
name = "emotiv"
version = "0.0.11"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Async Rust client and TUI for Emotiv EEG headsets via the Cortex API WebSocket (JSON-RPC 2.0)"
homepage = "https://github.com/eugenehp/emotiv-rs"
documentation = "https://docs.rs/emotiv"
readme = "README.md"
keywords = [
"eeg",
"bci",
"emotiv",
"cortex",
"neuroscience",
]
categories = [
"science",
"api-bindings",
"command-line-utilities",
]
license = "MIT"
repository = "https://github.com/eugenehp/emotiv-rs"
[features]
config-toml = ["dep:toml"]
default = ["tui"]
raw = [
"dep:btleplug",
"dep:hidapi",
"dep:aes",
"dep:cipher",
"dep:ndarray",
"dep:num",
]
simulate = []
tui = [
"dep:ratatui",
"dep:crossterm",
]
[lib]
name = "emotiv"
path = "src/lib.rs"
[[bin]]
name = "emotiv-cli"
path = "src/main.rs"
[[bin]]
name = "emotiv-raw"
path = "src/bin/raw.rs"
required-features = ["raw"]
[[bin]]
name = "emotiv-tui"
path = "src/bin/tui.rs"
required-features = ["tui"]
[[example]]
name = "client_mode"
path = "examples/client_mode.rs"
[[example]]
name = "facial_expression_train"
path = "examples/facial_expression_train.rs"
[[example]]
name = "live_advance"
path = "examples/live_advance.rs"
[[example]]
name = "marker"
path = "examples/marker.rs"
[[example]]
name = "mental_command_train"
path = "examples/mental_command_train.rs"
[[example]]
name = "query_records"
path = "examples/query_records.rs"
[[example]]
name = "raw_stream"
path = "examples/raw_stream.rs"
[[example]]
name = "record"
path = "examples/record.rs"
[[example]]
name = "simulate"
path = "examples/simulate.rs"
required-features = ["simulate"]
[[example]]
name = "sub_data"
path = "examples/sub_data.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[dependencies.aes]
version = "0.8"
optional = true
[dependencies.anyhow]
version = "1"
[dependencies.btleplug]
version = "0.11"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.cipher]
version = "0.4"
optional = true
[dependencies.crossterm]
version = "0.29"
optional = true
[dependencies.env_logger]
version = "0.11"
[dependencies.futures-util]
version = "0.3"
[dependencies.hidapi]
version = "2.6"
optional = true
[dependencies.log]
version = "0.4"
[dependencies.ndarray]
version = "0.16"
optional = true
[dependencies.num]
version = "0.4"
optional = true
[dependencies.rand]
version = "0.8"
[dependencies.ratatui]
version = "0.30.0"
features = ["crossterm"]
optional = true
[dependencies.rustls]
version = "0.23"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-tungstenite]
version = "0.26"
features = ["rustls-tls-native-roots"]
[dependencies.toml]
version = "0.9"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1"
features = ["v4"]
[dev-dependencies.tokio]
version = "1"
features = [
"full",
"test-util",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]