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