[package]
name = "arch-toolkit"
version = "0.2.0"
edition = "2024"
description = "Complete Rust toolkit for Arch Linux package management"
license = "MIT"
repository = "https://github.com/Firstp1ck/arch-toolkit"
keywords = ["archlinux", "aur", "pacman", "package-manager"]
categories = ["api-bindings", "command-line-utilities"]
[features]
default = ["aur"]
aur = ["dep:reqwest", "dep:tokio", "dep:scraper", "dep:chrono", "dep:rand", "dep:lru", "dep:async-trait"]
deps = []
cache-disk = ["dep:dirs"]
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "2.0"
tracing = "0.1"
reqwest = { version = "0.12", features = ["json"], optional = true }
tokio = { version = "1", features = ["rt", "time"], optional = true }
scraper = { version = "0.25", optional = true }
chrono = { version = "0.4", optional = true }
rand = { version = "0.9", optional = true }
lru = { version = "0.12", optional = true }
async-trait = { version = "0.1", optional = true }
dirs = { version = "5.0", optional = true }
[dev-dependencies]
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
wiremock = "0.6"
tempfile = "3.10"
[package.metadata.docs.rs]
all-features = true
[lints.clippy]
cognitive_complexity = "warn"
pedantic = { level = "deny", priority = -1 }
nursery = { level = "deny", priority = -1 }
unwrap_used = "deny"
missing_docs_in_private_items = "warn"
[lints.rust]
missing_docs = "warn"