Expand description
Complete Rust toolkit for Arch Linux package management.
This crate provides a unified API for interacting with Arch Linux package management, including AUR (Arch User Repository) operations, dependency resolution, package index queries, installation command building, news feeds, and security advisories.
§Features
aur: AUR search, package info, comments, and PKGBUILD fetchingdeps: Dependency resolution and SRCINFO parsing (planned)index: Package database queries (planned)install: Installation command building (planned)news: News feeds and security advisories (planned)sandbox: PKGBUILD security analysis (planned)
§Examples
§Basic AUR Search
use arch_toolkit::ArchClient;
let client = ArchClient::new()?;
let packages = client.aur().search("yay").await?;
println!("Found {} packages", packages.len());§Fetch Package Details
use arch_toolkit::ArchClient;
let client = ArchClient::new()?;
let details = client.aur().info(&["yay", "paru"]).await?;
for pkg in details {
println!("{}: {}", pkg.name, pkg.description);
}§Custom Configuration
use arch_toolkit::ArchClient;
use std::time::Duration;
let client = ArchClient::builder()
.timeout(Duration::from_secs(60))
.user_agent("my-app/1.0")
.build()?;
let packages = client.aur().search("yay").await?;§Fetch Comments
use arch_toolkit::ArchClient;
let client = ArchClient::new()?;
let comments = client.aur().comments("yay").await?;
for comment in comments.iter().take(5) {
println!("{}: {}", comment.author, comment.content);
}§Fetch PKGBUILD
use arch_toolkit::ArchClient;
let client = ArchClient::new()?;
let pkgbuild = client.aur().pkgbuild("yay").await?;
println!("PKGBUILD:\n{}", pkgbuild);Re-exports§
pub use error::ArchToolkitError as Error;pub use error::Result;pub use types::AurComment;pub use types::AurPackage;pub use types::AurPackageDetails;pub use types::HealthStatus;pub use types::ServiceStatus;pub use aur::AurApi;pub use aur::MockAurApi;pub use client::ArchClient;pub use client::ArchClientBuilder;pub use client::CacheInvalidator;pub use client::RetryPolicy;pub use cache::CacheConfig;pub use cache::CacheConfigBuilder;pub use aur::validation::ValidationConfig;
Modules§
- aur
- AUR (Arch User Repository) operations.
- cache
- Caching layer for arch-toolkit operations.
- client
- HTTP client with rate limiting for arch-toolkit.
- error
- Unified error type for arch-toolkit.
- health
- Health check functionality for archlinux.org services.
- prelude
- Prelude module for convenient imports.
- types
- Shared data types for arch-toolkit.