[package] name = "atuin" edition = "2024" description = "atuin - magical shell history" readme = "./README.md" rust-version = { workspace = true } version = { workspace = true } authors = { workspace = true } license = { workspace = true } homepage = { workspace = true } repository = { workspace = true } [features] default = [ "clipboard", "daemon", "hex", "sync", "client", ] clipboard = ["arboard"] daemon = ["pty-proxy"] pty-proxy = [] client = [] hex = ["dep:hex"] sync = ["urlencoding", "reqwest", "sha2", "hex"] [dependencies] argon2 = "0.5" async-trait = "0.1.58" atuin-nucleo-matcher = { workspace = true } atuin-nucleo = { workspace = true } axum = "0.8" base64 = "0.22" clap = { version = "4.5.7", features = ["derive"] } clap_complete = "4.5.8" clap_complete_nushell = "4.5.4" colored = "2.0.4" config = { version = "0.15.8", default-features = false, features = ["toml"] } crossterm = {version = "0.29.0", features = ["use-dev-tty", "serde"] } crypto_secretbox = "0.1.1" dashmap = "6.1.0" directories = "6.0.0" eyre = "0.6" fs-err = "3.1" fs4 = "0.13.1" futures = "0.3" futures-util = "0.3" fuzzy-matcher = "0.3.7" generic-array = { version = "0.14", features = ["serde"] } getrandom = "0.2" glob-match = "0.2.1" hex = { version = "0.4", optional = true } humantime = "2.1.0" hyper-util = "0.1" imara-diff = "0.2" indicatif = "0.18.0" interim = { version = "0.2.0", features = ["time_0_3"] } itertools = "0.14.0" lasso = { version = "0.7", features = ["multi-threaded"] } log = "0.4" memchr = "2.7" metrics = "0.24" metrics-exporter-prometheus = { version = "0.18", default-features = false } minijinja = "2.9.0" minspan = "0.1.5" norm = { version = "0.1.1", features = ["fzf-v2"] } notify = "7" open = "5" palette = { version = "0.7.5", features = ["serializing"] } pretty_assertions = "1.3.0" prost = "0.14" prost-types = "0.14" rand = { version = "0.8.5", features = ["std"] } ratatui = "0.30.0" regex = "1.10.5" reqwest = { version = "0.13", optional = true, features = ["json", "rustls-no-provider", "stream"], default-features = false } rmp = { version = "0.8.14" } rpassword = "7.0" runtime-format = "0.1.3" rustix = { version = "1.1.4", features = ["process", "fs"] } rustls = { version = "0.23", default-features = false, features = [ "ring", "std", "tls12", ] } rusty_paserk = { version = "0.5.0", default-features = false, features = [ "v4", "serde", ] } rusty_paseto = { version = "0.8.0", default-features = false } semver = "1.0.20" serde = { version = "1.0.202", features = ["derive"] } serde_json = "1.0.119" serde_regex = "1.1.0" serde_with = "3.8.1" sha2 = { version = "0.10", optional = true } shellexpand = "3" shlex = "1.3.0" sql-builder = "3" sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "time", "postgres", "uuid", "sqlite", "regexp"] } strum = { version = "0.27", features = ["strum_macros"] } strum_macros = "0.27" sysinfo = "0.30.7" tempfile = { version = "3.19" } thiserror = "2" time = { version = "0.3.47", features = [ "serde-human-readable", "macros", "local-offset", "macros", "formatting", "parsing"] } tokio = { version = "1", features = ["full"] } tokio-stream = { version = "0.1.14", features = ["net"] } toml_edit = "0.25.4" tonic = "0.14" tonic-prost = "0.14" tonic-types = "0.14" tower = "0.5" tower-http = { version = "0.6", features = ["trace"] } tracing = "0.1" tracing-appender = "0.2" tracing-subscriber = { version = "0.3", features = ["ansi", "fmt", "registry", "env-filter", "json"] } typed-builder = "0.18.2" unicode-segmentation = "1.11.0" unicode-width = "0.2" url = "2.5.2" urlencoding = { version = "2.1.0", optional = true } uuid = { version = "1.9", features = ["v4", "v7", "serde"] } vt100 = "0.16" whoami = "2.1.0" xxhash-rust = { version = "0.8", features = ["xxh3"] } [target.'cfg(target_os = "linux")'.dependencies] arboard = { version = "3.4", optional = true, default-features = false, features = [ "wayland-data-control", ] } listenfd = "1.0.1" [target.'cfg(unix)'.dependencies] daemonize = "0.5.0" portable-pty = "0.9" signal-hook = "0.3" [dev-dependencies] tracing-tree = "0.4" divan = "0.1.14" tokio = { version = "1", features = ["full"] } testing_logger = "0.1.1" [build-dependencies] protox = "0.9" tonic-build = "0.14" tonic-prost-build = "0.14"