[package]
name = "kubetui"
version = "1.12.1"
authors = ["kosay <ekr59uv25@gmail.com>"]
edition = "2021"
license = "MIT"
description = "An intuitive Terminal User Interface (TUI) tool for real-time monitoring and exploration of Kubernetes resources."
documentation = "https://github.com/sarub0b0/kubetui"
repository = "https://github.com/sarub0b0/kubetui"
keywords = ["kubernetes", "tui", "terminal", "monitor"]
exclude = ["/.github", "/test", "/script", "/screenshots", "/assets", ".gitignore", "Makefile", "renovate.json", "cspell.json"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
crossbeam = "0.8.4"
clap = { version = "4.5.4", features = ["wrap_help", "derive", "cargo", "env"] }
nom = { version = "8.0.0", features = ["alloc"] }

# clipboard
arboard = { version = "3.4.1", default-features = false, features = ["wayland-data-control"] }
base64 = "0.22.1"

# tui
async-trait = "0.1.80"
chrono = "0.4.38"
enum_dispatch = "0.3.13"
nucleo-matcher = "0.3.1"
ratatui = { version = "0.30.0", features = ["serde"] }
rayon = "1.10"
unicode-segmentation = "1.11"
unicode-width = "0.2.0"

# log
log = "0.4.21"
log4rs = { version = "1.3.0", default-features = false, features = ["file_appender", "json_encoder"] }

bytes = "1.6.0"
futures = "0.3.30"
http = "1.1.0"
k8s-openapi = { version = "0.26.0", default-features = false, features = ["latest"] }
kube = { version = "2.0.0", features = ["derive", "http-proxy"] }
serde = { version = "1.0.200", features = ["derive"] }
serde_json = "1.0.116"
serde_yaml = "0.9.34"
tokio = { version = "1.37.0", features = ["rt", "rt-multi-thread"] }

thiserror = "2.0.0"
anyhow = "1.0.82"

ctrlc = { version = "3.4.3", features = ["termination"] }
once_cell = "1.19.0"
regex = "1.10.4"

indoc = "2.0.5"
flate2 = "1.0.30"
strum = { version = "0.27.0", features = ["derive"] }
paste = "1.0.14"
figment = { version = "0.10.19", features = ["yaml", "env"] }
bitflags = "2.6.0"
dirs = "6.0.0"
nom-language = "0.1.0"
jaq-core = "2.2.1"
jaq-std = "2.1.2"
jaq-json = { version = "1.1.3", features = ["serde_json"] }
jmespath = { version = "0.5.0", features = ["sync"] }
hyper-util = { version = "0.1.20", features = ["client-proxy"] }


[dev-dependencies]
pretty_assertions = "1.4.0"
indoc = "2.0.5"
mockall = "0.14.0"
mockall_double = "0.3.1"
tokio = { version = "1.37.0", features = ["rt", "rt-multi-thread", "macros"] }
rstest = "0.26.0"
