[package] name = "possum-db" version = "0.3.0" edition = "2021" description = "concurrent disk-backed cache supporting efficient direct file I/O, transactions, and snapshots using file cloning and sparse files" license = "MPL-2.0" autobenches = false readme = "README.md" repository = "https://github.com/anacrolix/possum" authors = ["Matt Joiner "] categories = ["caching", "database-implementations", "filesystem", "embedded", "data-structures"] keywords = ["database", "embedded", "persistence", "sqlite"] [lib] name = "possum" crate-type = ["staticlib", "cdylib", "lib"] # Prevent unrecognized option errors for cargo bench. bench = false [dependencies] anyhow = { version = "1.0.75", features = ["backtrace"] } cfg-if = "1.0.0" chrono = "0.4.31" clap = { version = "4.4.2", features = ["derive"] } env_logger = "0.10.0" fdlimit = { version = "0.3.0", optional = true } itertools = "0.12.0" anacrolix-libc = { path = "libc", version = "0.2.151" } log = "0.4.20" memmap2 = "0.9.0" nix = { version = "0.27.1", features = ["fs", "process"] } num = "0.4.1" positioned-io = "0.3.2" rand = { version = "0.8.5", features = ["small_rng"] } rayon = { version = "1.8.0", optional = true } # Need sqlite3 3.42 or later. rusqlite = { version = "0.30.0", features = ["bundled"] } stable_deref_trait = "1.2.0" take_mut = "0.2.2" tempfile = "3.8.0" thiserror = "1.0.50" tracing = { version = "0.1.40", features = ["log"] } twox-hash = { version = "1.6.3", optional = true } once_cell = "1.19.0" ctx-thread = "0.1.1" [target.'cfg(windows)'.dependencies.windows] version = "0.52.0" features = [ "Win32_Foundation", "Win32_System_IO", "Win32_System_Ioctl", "Win32_Storage_FileSystem", "Win32_System_Threading", "Win32_Security", "Win32_System", "Win32_System_SystemServices", ] [dev-dependencies] bytesize = "1.3.0" criterion = "0.5.1" possum-db = { path = ".", features = ["testing"] } test-log = "0.2.14" [target.'cfg(loom)'.dev-dependencies] loom = "0.7" [target.'cfg(shuttle)'.dependencies] shuttle = "0.7.1" [features] default = [] testing = ["dep:fdlimit", "dep:rayon", "dep:twox-hash"] [[bench]] name = "possum" harness = false [[bin]] name = "possum" bench = false path = "src/main.rs"