Expand description
Prelude module for convenient imports.
This module re-exports commonly used types, traits, and functions,
allowing you to import everything you need with a single use arch_toolkit::prelude::*;.
§Example
use arch_toolkit::prelude::*;
let client = ArchClient::new()?;
let packages: Vec<AurPackage> = client.aur().search("yay").await?;
Ok(())Prelude module for convenient imports.
This module re-exports commonly used types, traits, and functions from arch-toolkit,
allowing you to import everything you need with a single use arch_toolkit::prelude::*;.
§Examples
§Basic Usage
use arch_toolkit::prelude::*;
let client = ArchClient::new()?;
let packages: Vec<AurPackage> = client.aur().search("yay").await?;
Ok(())§With Custom Configuration
use arch_toolkit::prelude::*;
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?;
Ok(())§Using Mock for Testing
use arch_toolkit::prelude::*;
let mock = MockAurApi::new()
.with_search_result("yay", Ok(vec![]));
let packages = mock.search("yay").await?;
Ok(())§Dependency Resolution
ⓘ
use arch_toolkit::prelude::*;
let resolver = DependencyResolver::new();
let packages = vec![
PackageRef {
name: "firefox".into(),
version: "121.0".into(),
source: PackageSource::Official {
repo: "extra".into(),
arch: "x86_64".into(),
},
},
];
let result = resolver.resolve(&packages).unwrap();
println!("Found {} dependencies", result.dependencies.len());Re-exports§
pub use crate::client::ArchClient;pub use crate::client::ArchClientBuilder;pub use crate::types::AurComment;pub use crate::types::AurPackage;pub use crate::types::AurPackageDetails;pub use crate::error::ArchToolkitError as Error;pub use crate::error::Result;pub use crate::aur::AurApi;pub use crate::aur::MockAurApi;pub use crate::cache::CacheConfig;pub use crate::cache::CacheConfigBuilder;pub use crate::aur::validation::ValidationConfig;pub use crate::client::RetryPolicy;pub use crate::client::CacheInvalidator;pub use crate::types::HealthStatus;pub use crate::types::ServiceStatus;pub use crate::types::Dependency;pub use crate::types::DependencySource;pub use crate::types::DependencySpec;pub use crate::types::DependencyStatus;pub use crate::types::PackageRef;pub use crate::types::PackageSource;pub use crate::types::ReverseDependencySummary;pub use crate::types::SrcinfoData;pub use crate::types::dependency::DependencyConstraintRange;pub use crate::types::dependency::DependencyGraphConfig;pub use crate::types::dependency::DependencyGraphDiagnostic;pub use crate::types::dependency::DependencyGraphDiagnosticKind;pub use crate::types::dependency::DependencyGraphEdge;pub use crate::types::dependency::DependencyGraphNode;pub use crate::types::dependency::DependencyGraphNodeStatus;pub use crate::types::dependency::DependencyGraphResolution;pub use crate::types::dependency::DependencyMetadata;pub use crate::types::dependency::DependencyMetadataResponse;pub use crate::types::dependency::DependencyProvenance;pub use crate::types::dependency::DependencyVersionBound;pub use crate::deps::DependencyMetadataProvider;pub use crate::deps::DependencyResolution;pub use crate::deps::DependencyResolver;pub use crate::deps::ResolverConfig;pub use crate::deps::ReverseDependencyAnalyzer;pub use crate::deps::ReverseDependencyReport;pub use crate::deps::get_installed_packages;pub use crate::deps::parse_dep_spec;pub use crate::deps::version_satisfies;pub use crate::types::index::IndexQueryResult;pub use crate::types::index::InstalledPackagesMode;pub use crate::types::index::MirrorDiscoveryLimits;pub use crate::types::index::MirrorInfo;pub use crate::types::index::OfficialIndex;pub use crate::types::index::OfficialPackage;pub use crate::index::IndexRefreshHandle;pub use crate::index::detect_enabled_repos;pub use crate::index::fetch_arch_mirrors;pub use crate::index::fetch_mirrors_from;pub use crate::index::fetch_official_index;pub use crate::index::fetch_official_index_for_repos;pub use crate::index::generate_mirrorlist;pub use crate::index::load_from_disk;pub use crate::index::load_from_disk_or_default;pub use crate::index::save_to_disk;pub use crate::index::search_official;pub use crate::index::spawn_index_refresh;pub use crate::types::install::AurHelper;pub use crate::types::install::CascadeMode;pub use crate::types::install::CommandSpec;pub use crate::types::install::InstallOptions;pub use crate::types::install::PrivilegeTool;pub use crate::install::InstallPlan;pub use crate::install::aur_install_shell_fallback;pub use crate::install::aur_update_shell_fallback;pub use crate::install::build_aur_install;pub use crate::install::build_aur_update_command;pub use crate::install::build_batch_install;pub use crate::install::build_force_sync_update_command;pub use crate::install::build_pacman_install;pub use crate::install::build_remove_command;pub use crate::install::build_update_command;pub use crate::install::detect_aur_helper;pub use crate::install::detect_privilege_tool;pub use crate::install::with_privilege;pub use crate::types::news::AdvisorySeverity;pub use crate::types::news::ArchNewsItem;pub use crate::types::news::SecurityAdvisory;pub use crate::news::FeedCache;pub use crate::news::InMemoryFeedCache;pub use crate::news::extract_article_text;pub use crate::news::fetch_arch_news;pub use crate::news::fetch_arch_news_cached;pub use crate::news::fetch_article_text;pub use crate::news::fetch_security_advisories;pub use crate::news::fetch_security_advisories_cached;pub use crate::types::sandbox::DependencyDelta;pub use crate::types::sandbox::SandboxAnalysisLimitation;pub use crate::types::sandbox::SandboxFinding;pub use crate::types::sandbox::SandboxInfo;pub use crate::types::sandbox::SandboxRuleId;pub use crate::types::sandbox::SandboxStaticAnalysis;pub use crate::sandbox::analyze_pkgbuild;pub use crate::sandbox::analyze_pkgbuild_security;pub use crate::sandbox::analyze_srcinfo;pub use crate::aur::ARCH_PACKAGE_SEARCH_URL;pub use crate::aur::check_mirror_health;pub use crate::aur::fetch_arch_package_detail;pub use crate::aur::fetch_official_package_detail_from;pub use crate::types::package::MetadataFetchLimits;pub use crate::types::package::MirrorHealth;pub use crate::types::package::MirrorHealthLimits;pub use crate::types::package::MirrorHealthStatus;