internetarchive-rs 0.1.4

Async Rust client for Internet Archive item metadata, search, uploads, metadata updates, and downloads.
Documentation
#![doc = include_str!("../README.md")]
#![forbid(unsafe_code)]
#![deny(missing_docs)]
#![deny(
    clippy::all,
    clippy::pedantic,
    clippy::expect_used,
    clippy::missing_errors_doc,
    clippy::missing_panics_doc,
    clippy::panic,
    clippy::todo,
    clippy::unimplemented,
    clippy::unwrap_used
)]
#![allow(clippy::module_name_repetitions)]
#![cfg_attr(
    test,
    allow(
        clippy::expect_used,
        clippy::missing_errors_doc,
        clippy::missing_panics_doc,
        clippy::panic,
        clippy::too_many_lines,
        clippy::unwrap_used
    )
)]

pub mod client;
mod client_uploader_traits_impl;
pub mod downloads;
pub mod endpoint;
pub mod error;
pub mod ids;
pub mod metadata;
pub mod model;
pub mod poll;
pub mod search;
mod serde_util;
pub mod upload;
pub mod workflow;

pub use client::{Auth, InternetArchiveClient, InternetArchiveClientBuilder};
pub use downloads::{DownloadTarget, ResolvedDownload};
pub use endpoint::Endpoint;
pub use error::InternetArchiveError;
pub use ids::{IdentifierError, ItemIdentifier, TaskId};
#[cfg(feature = "indicatif")]
pub use indicatif;
pub use metadata::{
    ItemMetadata, ItemMetadataBuilder, MediaType, MetadataChange, MetadataTarget, MetadataValue,
    PatchOperation,
};
pub use model::{
    Item, ItemFile, MetadataWriteResponse, S3LimitCheck, SearchDocument, SearchResponse,
    SearchResponseHeader, SearchResultPage, TaskSubmission,
};
pub use poll::PollOptions;
pub use search::{SearchQuery, SearchQueryBuilder, SearchSort, SortDirection};
pub use upload::{DeleteOptions, FileConflictPolicy, UploadOptions, UploadSource, UploadSpec};
pub use workflow::{PublishOutcome, PublishRequest};