[package]
name = "kasl-cli"
version = "1.0.0"
edition = "2024"
rust-version = "1.97"
description = "kasl is a comprehensive command-line utility 🛠️ designed to streamline the tracking of work activities 📊, including start times ⏰, pauses ⏸, and task completion"
repository = "https://github.com/lacodda/kasl.git"
authors = ["Kirill Lakhtachev <lahtachev@gmail.com> (https://lacodda.com)"]
readme = "README.md"
license = "MIT"
keywords = ["cli", "tool", "work", "time", "flow"]
categories = ["command-line-utilities"]
build = "build.rs"
exclude = ["docs/", "tools/", ".github/", ".changeset/", "kasl.webp", "CNAME"]
[lib]
name = "kasl"
[[bin]]
name = "kasl"
path = "src/main.rs"
[[bin]]
name = "ka"
path = "src/bin/ka.rs"
[package.metadata]
owner = "lacodda"
[dependencies]
anyhow = "1.0.104"
thiserror = "2.0.19"
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", features = ["env-filter", "fmt"] }
base64 = "0.23.1"
aes = "0.9.2"
cbc = { version = "0.2.1", features = ["alloc"] }
chrono = "0.4.45"
clap = { version = "4.6.6", features = ["derive"] }
dialoguer = "0.12.0"
prettytable-rs = "0.10.0"
reqwest = { version = "0.13.4", features = ["json", "multipart", "cookies", "query"] }
tokio = { version = "1.53.1", features = ["full"] }
rusqlite = { version = "0.40.1", features = ["bundled", "chrono"] }
serde = { version = "1.0.229", features = ["derive"] }
serde_json = "1.0.151"
dotenv = "0.15.0"
tar = "0.4.46"
flate2 = "1.1.9"
rdev = "0.5.3"
parking_lot = "0.12.5"
sysinfo = "0.39.6"
encoding_rs = "0.8.35"
csv = "1.4.0"
rust_xlsxwriter = "0.97.1"
indicatif = "0.18.6"
terminal_size = "0.4.4"
unicode-width = "0.2.2"
clap_complete = "4.6.9"
keyring = { version = "4.1.6", features = ["apple-native-keyring-store", "windows-native-keyring-store", "zbus-secret-service-keyring-store"] }
[build-dependencies]
toml = "1.1.4"
winres = "0.1.12"
dotenv = "0.15.0"
[target.'cfg(unix)'.dependencies]
nix = { version = "0.31.3", features = ["process", "poll"] }
[target.'cfg(not(windows))'.dependencies]
notify-rust = "=4.11.0"
[target.'cfg(windows)'.dependencies]
win-toast-notify = "0.1.6"
winapi = { version = "0.3", features = [
"processthreadsapi",
"winnt",
"handleapi",
"errhandlingapi",
"securitybaseapi",
"processenv",
"winbase",
"namedpipeapi",
"fileapi",
"minwindef",
"consoleapi",
"synchapi",
"wincontypes",
] }
[dev-dependencies]
serial_test = "4.0.1"
tempfile = "3.27.0"
test-context = "0.5.8"