[package]
name = "liteboxfs"
version = "0.2.0"
edition = "2024"
rust-version = "1.90.0"
authors = ["Lark Aster <lark@lark.gay>"]
description = "A modern POSIX filesystem in a SQLite database"
homepage = "https://codeberg.org/justlark/liteboxfs"
repository = "https://codeberg.org/justlark/liteboxfs"
documentation = "https://docs.rs/liteboxfs"
readme = "../README.md"
keywords = ["sqlite", "database", "filesystem", "archive"]
categories = ["filesystem"]
license = "Apache-2.0"
[package.metadata.docs.rs]
all-features = true
[dependencies]
thiserror = "2.0.17"
bitflags = "2.10.0"
blake3 = "1.8.2"
uuid = { version = "1.18.1", features = ["v4"] }
rusqlite = { version = "0.37.0", features = ["functions", "i128_blob"] }
fastcdc = { version = "3.2.1", optional = true }
zstd = { version = "0.13.3", optional = true }
secrecy = { version = "0.10.3", optional = true }
[target.'cfg(target_family = "unix")'.dependencies]
nix = { version = "0.30.1", features = ["fs", "user"], optional = true }
xattr = { version = "1.6.1", optional = true }
[target.'cfg(target_os = "linux")'.dependencies]
fuser = { version = "0.17.0", optional = true }
[dev-dependencies]
rand = "0.9.2"
rusqlite = { version = "0.37.0", features = ["functions", "i128_blob"] }
xpct = { version = "0.5.1", features = ["diff"] }
criterion = { version = "0.8.1", features = ["html_reports"] }
tempfile = "3.24.0"
[features]
default = ["fs"]
fs = ["dep:nix", "dep:xattr"]
chunking = ["dep:fastcdc"]
compression = ["dep:zstd"]
fuse = ["fs", "dep:fuser"]
bundled-sqlite = ["rusqlite/bundled"]
_encryption = ["dep:secrecy"]
sqlcipher = ["rusqlite/sqlcipher", "_encryption"]
bundled-sqlcipher = ["rusqlite/bundled-sqlcipher", "_encryption"]
bundled-sqlcipher-vendored-openssl = [
"rusqlite/bundled-sqlcipher-vendored-openssl",
"_encryption",
]
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = [
"cfg(coverage,coverage_nightly)",
] }
[[bench]]
name = "read"
harness = false
[[bench]]
name = "write"
harness = false
[[bench]]
name = "children"
harness = false
[[bench]]
name = "descendants"
harness = false
[[bench]]
name = "walk"
harness = false
[[bench]]
name = "snapshot"
harness = false
[[bench]]
name = "archive"
harness = false
[[bench]]
name = "copy"
harness = false
[[bench]]
name = "rename"
harness = false
[[bench]]
name = "create"
harness = false