weatherapi-rs 0.3.1

Small weather CLI util for weatherapi.com
Documentation
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Debug)]
pub struct Location {
    name: String,
    region: String,
    country: String,
    lat: f32,
    lon: f32,
    tz_id: String,
    localtime_epoch: i32,
    localtime: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Current {
    last_updated_epoch: i32,
    last_updated: String,
    pub temp_c: f32,
    temp_f: f32,
    pub is_day: i32,
    pub condition: Condition,
    wind_mph: f32,
    wind_kph: f32,
    wind_degree: i32,
    wind_dir: String,
    pressure_mb: f32,
    pressure_in: f32,
    precip_mm: f32,
    precip_in: f32,
    humidity: i32,
    cloud: i32,
    feelslike_c: f32,
    feelslike_f: f32,
    vis_km: f32,
    vis_miles: f32,
    uv: f32,
    gust_mph: f32,
    gust_kph: f32,
    pub air_quality: Option<AirQuality>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Condition {
    pub text: String,
    pub icon: String,
    pub code: i32,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct AirQuality {
    co: f32,
    no2: f32,
    o3: f32,
    so2: f32,
    pm2_5: f32,
    pm10: f32,
    #[serde(rename = "us-epa-index")]
    pub us_epa_index: i32,
    #[serde(rename = "gb-defra-index")]
    gb_defra_index: i32,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Weather {
    pub location: Location,
    pub current: Current,
}