cargo-features = ["panic-immediate-abort"]
[workspace]
resolver = "2"
[package]
name = "grr-cli"
version = "2.4.0"
edition = "2024"
license = "MIT"
authors = ["Debanjan Basu <debanjanbasu2006@gmail.com>"]
repository = "https://github.com/debanjanbasu/grr-cli"
homepage = "https://grr-cli.pages.dev"
documentation = "https://grr-cli.pages.dev/docs/"
description = "Google tools from the terminal, at maximum performance: 401 methods across 14 Google APIs in one generated command tree, zero-config, over HTTP/3"
readme = "README.md"
keywords = ["google", "gmail", "http3", "cli", "oauth"]
categories = ["command-line-utilities", "api-bindings", "email", "network-programming", "web-programming"]
[package.metadata.docs.rs]
cargo-args = ["--config", 'build.rustflags=["--cfg","reqwest_unstable","--cfg","hyper_unstable_ffi","--cfg","tokio_unstable"]']
[lib]
name = "grr_cli"
path = "src/lib.rs"
[[bin]]
name = "grr"
path = "src/main.rs"
required-features = ["cli"]
[dependencies]
reqwest = { version = "0.13.5", default-features = false, features = ["http2", "http3", "rustls", "json", "form", "gzip", "deflate", "zstd", "brotli"] }
tokio = { version = "1.53.2", features = ["macros", "rt-multi-thread", "sync", "time", "fs", "net", "io-util", "io-std", "process"] }
serde = { version = "1.0.229", features = ["derive"] }
serde_json = "1.0.154"
url = "2.5.8"
clap = { version = "4.6.7", features = ["derive", "env", "wrap_help", "string", "help", "usage", "cargo", "color", "unicode"] }
clap_complete = { version = "4.6.11", optional = true }
dirs = "7.0.0"
figment = { version = "0.10.19", features = ["env", "toml"] }
tracing = { version = "0.1.44", features = ["std"] }
tracing-subscriber = { version = "0.3.23", features = ["env-filter", "fmt"], optional = true }
anyhow = "1.0.104"
thiserror = "2.0.21"
base64 = { version = "0.23.1", features = ["alloc", "std"] }
rand = { version = "0.10.3", features = ["std"] }
sha2 = "0.11.1"
diffy = "0.5.2"
urlencoding = "2.1.3"
open = "5.4"
keyring = { version = "4.2.0", features = ["windows-native-keyring-store", "apple-native-keyring-store", "zbus-secret-service-keyring-store"] }
comfy-table = "8.0"
[target.'cfg(target_os = "linux")'.dependencies]
io-uring = "0.7.15"
[dev-dependencies]
wiremock = "0.6.5"
tempfile = "3.27.0"
assert_cmd = "2.2"
predicates = "3.1"
[features]
default = ["cli"]
cli = ["dep:tracing-subscriber", "dep:clap_complete"]
[profile.dev]
opt-level = 1
panic = "abort"
incremental = true
debug = 1
[profile.dev.package."*"]
opt-level = 3
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "immediate-abort"
strip = "symbols"
incremental = false
overflow-checks = false
trim-paths = "all"
[profile.release.build-override]
opt-level = 3
[profile.bench]
opt-level = 3
lto = "fat"
codegen-units = 1
debug = 1
[profile.test]
opt-level = 3
lto = "fat"
codegen-units = 1