[package] name = "psylink" description = "GUI for PsyLink neural interface for receiving/graphing biosignals and predicting user's intentions" license = "GPL-3.0-only" rust-version = "1.76.0" repository = "https://codeberg.org/psylink/psylink" homepage = "https://psylink.me" categories = ["accessibility", "hardware-support", "science::neuroscience", "visualization"] keywords = ["hardware", "embedded", "bci", "neuroscience", "ai"] exclude = ["additional", "www", "archive", "schematics", "arduino", ".gitignore"] #include = ["src/*", "Cargo.lock", "Cargo.toml", "LICENSE", "README.md", "build.rs"] edition = "2021" version = "0.3.0" [dependencies] btleplug = "0.11.5" clap = { version = "4.5.17", features = ["derive"] } tokio = { version = "1.40.0", features = ["sync", "rt", "macros", "rt-multi-thread"] } slint = { version = "1.7.2", optional = true, default-features = false, features = ["accessibility", "backend-winit", "compat-1-2", "renderer-software", "std"] } plotters = { version = "0.3.6", default-features = false, features = ["all_series", "all_elements", "bitmap_backend", "bitmap_encoder", "bitmap_gif", "chrono", "colormaps", "deprecated_items", "full_palette", "image", "svg_backend"] } burn = { version = "0.13.2", features = ["wgpu", "train"] } enigo = { version = "0.2.1", features = ["x11rb"] } rodio = { version = "0.19.0", default-features = false, features = ["mp3"] } #plotters = { version = "0.3.6", default-features = false, features = ["bitmap_backend", "line_series", "fontconfig-dlopen", "ttf"] } rand = "0.8.5" uuid = "1.10.0" [target.'cfg(target_os = "linux")'.dependencies] slint = { version = "1.7.2", optional = true, default-features = false, features = ["accessibility", "backend-winit", "compat-1-2", "renderer-software", "std"] } [target.'cfg(target_os = "android")'.dependencies] slint = { version = "1.7.2", optional = true, default-features = false, features = ["accessibility", "backend-android-activity-06", "backend-winit", "compat-1-2", "renderer-software", "std"] } [dev-dependencies] tokio = { version = "1.37.0", features = ["sync", "rt", "macros", "rt-multi-thread"] } approx_eq = "0.1" [build-dependencies] slint-build = "1.7.2" [features] default = ["gui"] gui = ["dep:slint"] [lib] name = "psylink" crate-type = ["lib", "cdylib"] path = "src/lib.rs" [[bin]] name = "psylink" path = "src/main.rs" [profile.dev] opt-level = 0 [profile.release] lto = true opt-level = 'z' codegen-units = 1 incremental = false debug = false strip = true # Andoroid settings # See more: https://github.com/rust-mobile/cargo-apk?tab=readme-ov-file#manifest [package.metadata.android] package = "me.psylink.psylink" resources = "android-res" build_targets = [ "aarch64-linux-android" ] [package.metadata.android.application] label = "PsyLink" [[package.metadata.android.uses_permission]] name = "android.permission.BLUETOOTH" [[package.metadata.android.uses_permission]] name = "android.permission.BLUETOOTH_ADMIN" [[package.metadata.android.uses_permission]] name = "android.permission.BLUETOOTH_SCAN"