//! # Immich SDK //! //! A modern Rust SDK for the [Immich](https://immich.app/) photo and video management server. //! //! ## Features //! //! - **Async-first**: Built on `tokio` and `reqwest` for modern async Rust //! - **Builder pattern**: Ergonomic API with fluent builders //! - **Type-safe**: Strongly typed models //! - **Error handling**: Comprehensive error types with `thiserror` //! //! ## Quick Start //! //! ```rust,no_run //! use immich_sdk::Client; //! //! #[tokio::main] //! async fn main() -> Result<(), Box> { //! // Create a client //! let client = Client::from_url("https://immich.example.com")? //! .with_api_key("your-api-key"); //! //! // List albums //! let albums = client.albums().list().execute().await?; //! println!("Found {} albums", albums.len()); //! //! Ok(()) //! } //! ``` //! //! ## Authentication //! //! The SDK supports API key authentication: //! //! ```rust,ignore //! use immich_sdk::Client; //! //! let client = Client::from_url("https://immich.example.com")? //! .with_api_key("your-api-key-here"); //! # Ok::<(), Box>(()) //! ``` #![warn(missing_docs)] pub mod apis; pub mod client; pub mod error; pub mod models; // Re-export main types pub use client::{Client, Config}; pub use error::{ImmichError, Result}; // Re-export models pub use models::*; /// Immich API version this SDK targets pub const IMMICH_API_VERSION: &str = env!("CARGO_PKG_VERSION");