[package] name = "sd-core" version = "0.1.0" description = "Virtual distributed filesystem engine that powers Spacedrive." authors = ["Spacedrive Technology Inc."] license = "GNU GENERAL PUBLIC LICENSE" repository = "https://github.com/spacedriveapp/spacedrive" edition = "2021" rust-version = "1.67.0" [features] default = ["p2p"] p2p = [] # This feature controls whether the Spacedrive Core contains the Peer to Peer syncing engine (It isn't required for the hosted core so we can disable it). mobile = [] # This feature allows features to be disabled when the Core is running on mobile. android = ["dep:tracing-android"] ffmpeg = ["dep:ffmpeg-next", "dep:sd-ffmpeg"] # This feature controls whether the Spacedrive Core contains functionality which requires FFmpeg. location-watcher = ["dep:notify"] [dependencies] hostname = "0.3.1" # Universal Dependencies base64 = "0.13.0" serde = { version = "1.0", features = ["derive"] } chrono = { version = "0.4.22", features = ["serde"] } serde_json = "1.0" futures = "0.3" int-enum = "0.5.0" rmp = "^0.8.11" rmp-serde = "^1.1.1" blake3 = "1.3.1" # Project dependencies rspc = { workspace = true, features = ["uuid", "chrono", "tracing"] } httpz = { workspace = true } prisma-client-rust = { workspace = true } specta = { workspace = true } uuid = { version = "1.1.2", features = ["v4", "serde"] } sysinfo = "0.26.4" thiserror = "1.0.37" tokio = { workspace = true, features = [ "sync", "rt-multi-thread", "io-util", "macros", "time", ] } include_dir = { version = "0.7.2", features = ["glob"] } async-trait = "^0.1.57" image = "0.24.4" webp = "0.2.2" ffmpeg-next = { version = "5.1.1", optional = true, features = [] } sd-ffmpeg = { path = "../crates/ffmpeg", optional = true } sd-crypto = { path = "../crates/crypto", features = ["rspc", "serde"] } sd-file-ext = { path = "../crates/file-ext" } sd-sync = { path = "../crates/sync" } tracing = "0.1.36" tracing-subscriber = { version = "0.3.15", features = ["env-filter"] } tracing-android = { version = "0.2.0", optional = true } async-stream = "0.3.3" once_cell = "1.15.0" ctor = "0.1.23" globset = { version = "^0.4.9", features = ["serde1"] } itertools = "^0.10.5" enumflags2 = "0.7.5" notify = { version = "5.0.0", default-features = false, features = [ "macos_fsevent", ], optional = true } uhlc = "0.5.1" http-range = "0.1.5" mini-moka = "0.10.0" serde_with = "2.2.0" dashmap = { version = "5.4.0", features = ["serde"] } [dev-dependencies] tempfile = "^3.3.0" tracing-test = "^0.2.3"