[package] name = "keep" version = "0.1.0" edition = "2024" description = "Keep and manage temporary files with automatic compression and metadata generation" readme = "README.md" categories = ["command-line-utilities"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] anyhow = "1.0.72" axum = { version = "0.8.4", optional = true } derive_more = { version = "2.0", features = ["full"] } smart-default = "0.7" thiserror = "1.0" base64 = "0.22.1" chrono = { version = "0.4.26", features = ["serde"] } clap = { version = "4.3.10", features = ["derive", "env"] } config = "0.14.0" ctor = "0.2" directories = "6.0.0" dns-lookup = "2.0.2" enum-map = "2.6.1" flate2 = { version = "1.0.27", features = ["zlib-ng-compat"], optional = true } futures = "0.3" gethostname = "1.0.2" humansize = "2.1.3" async-stream = "0.3" hyper = { version = "1.0", features = ["full"] } http-body-util = "0.1" inventory = "0.3" is-terminal = "0.4.9" lazy_static = "1.4.0" libc = "0.2.147" local-ip-address = "0.6.5" log = "0.4.19" lz4_flex = { version = "0.11.1", optional = true } magic = { version = "0.13.0", optional = true } nix = "0.30.1" once_cell = "1.19.0" comfy-table = "7.2.0" pwhash = "1.0.0" regex = "1.9.5" ringbuf = "0.3" rmcp = { version = "0.2.0", features = ["server"], optional = true } rusqlite = { version = "0.37.0", features = ["bundled", "array", "chrono"] } rusqlite_migration = "2.3.0" serde = { version = "1.0.219", features = ["derive"] } serde_json = "1.0.142" serde_yaml = "0.9.34" sha2 = "0.10.0" md5 = "0.7.0" stderrlog = "0.6.0" strum = { version = "0.27.2", features = ["derive"] } term = "1.1.0" tokio = { version = "1.0", features = ["full"] } tokio-stream = "0.1" tokio-util = "0.7.16" tower = { version = "0.5.2", optional = true } tower-http = { version = "0.6.6", features = ["cors", "fs", "trace"], optional = true } utoipa = { version = "5.4.0", features = ["axum_extras"], optional = true } utoipa-swagger-ui = { version = "9.0.2", features = ["axum"], optional = true } uzers = "0.12.1" which = "8.0.0" xdg = "2.5.2" strip-ansi-escapes = "0.2.1" pest = "2.8.1" pest_derive = "2.8.1" dirs = "6.0.0" similar = { version = "2.7.0", default-features = false, features = ["text"] } ureq = { version = "3", features = ["json"], optional = true } os_pipe = { version = "1", optional = true } [features] # Default features include core compression engines and swagger UI default = ["magic", "lz4", "gzip"] # Full #default = ["server", "magic", "lz4", "swagger"] # Server feature (includes axum and related dependencies) server = ["dep:axum", "dep:tower", "dep:tower-http", "dep:utoipa"] # Compression features gzip = ["flate2"] lz4 = ["lz4_flex"] bzip2 = [] xz = [] zstd = [] # Plugin features (meta and filter) all-meta-plugins = ["dep:magic"] all-filter-plugins = [] # Individual plugin features magic = ["dep:magic"] # MCP feature (Model Context Protocol support) mcp = ["dep:rmcp"] # Swagger UI feature swagger = ["dep:utoipa-swagger-ui"] # Client feature (HTTP client for remote server) client = ["dep:ureq", "dep:os_pipe"] [dev-dependencies] tempfile = "3.3.0" rand = "0.8.5"