openmeteo-rs 1.0.0

Rust client for the Open-Meteo weather API.
Documentation
use openmeteo_rs::{Client, ClimateDailyVar, ClimateModel, Result, Timezone};
use time::macros::date;

#[tokio::main]
async fn main() -> Result<()> {
    let client = Client::new();
    let response = client
        .climate(
            47.3769,
            8.5417,
            date!(2025 - 01 - 01),
            date!(2025 - 01 - 02),
        )
        .daily([
            ClimateDailyVar::Temperature2mMax,
            ClimateDailyVar::PrecipitationSum,
        ])
        .models([ClimateModel::CmccCm2Vhr4])
        .timezone(Timezone::Iana("Europe/Zurich".to_owned()))
        .send()
        .await?;

    if let Some(daily) = response.daily {
        for series in daily.variables {
            println!("{}: {:?}", series.descriptor.api_name, series.values_f32());
        }
    }

    Ok(())
}