Crate arch_toolkit

Crate arch_toolkit 

Source
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 fetching
  • deps: 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

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.