openrouter-rust 0.1.0

A modular, type-safe Rust client for the OpenRouter API
Documentation
use openrouter_rust::OpenRouterClient;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = OpenRouterClient::builder()
        .api_key(std::env::var("OPENROUTER_API_KEY")?)
        .build()?;

    println!("Providers API Example\n");

    let providers = client.list_providers().await?;

    println!("Available providers: {}\n", providers.data.len());

    for (i, provider) in providers.data.iter().enumerate() {
        println!("{}. {}", i + 1, provider.name);
        println!("   Slug: {}", provider.slug);
        
        if let Some(ref privacy) = provider.privacy_policy_url {
            println!("   Privacy Policy: {}", privacy);
        }
        
        if let Some(ref tos) = provider.terms_of_service_url {
            println!("   Terms of Service: {}", tos);
        }
        
        if let Some(ref status) = provider.status_page_url {
            println!("   Status Page: {}", status);
        }
        
        println!();
    }

    Ok(())
}