# generated by action0-client-openapi v0.1.2 from air-quality.yml — do not edit
from __future__ import annotations
import enum
from dataclasses import dataclass
from typing import Any
[docs]
class GetV1AirQualityHourlyItem(enum.Enum):
"""The ``GetV1AirQualityHourlyItem`` values."""
PM10 = "pm10"
PM2_5 = "pm2_5"
CARBON_MONOXIDE = "carbon_monoxide"
CARBON_DIOXIDE = "carbon_dioxide"
NITROGEN_DIOXIDE = "nitrogen_dioxide"
SULPHUR_DIOXIDE = "sulphur_dioxide"
OZONE = "ozone"
AEROSOL_OPTICAL_DEPTH = "aerosol_optical_depth"
DUST = "dust"
UV_INDEX = "uv_index"
UV_INDEX_CLEAR_SKY = "uv_index_clear_sky"
AMMONIA = "ammonia"
METHANE = "methane"
ALDER_POLLEN = "alder_pollen"
BIRCH_POLLEN = "birch_pollen"
GRASS_POLLEN = "grass_pollen"
MUGWORT_POLLEN = "mugwort_pollen"
OLIVE_POLLEN = "olive_pollen"
RAGWEED_POLLEN = "ragweed_pollen"
FORMALDEHYDE = "formaldehyde"
GLYOXAL = "glyoxal"
NON_METHANE_VOLATILE_ORGANIC_COMPOUNDS = "non_methane_volatile_organic_compounds"
PM10_WILDFIRES = "pm10_wildfires"
PEROXYACYL_NITRATES = "peroxyacyl_nitrates"
SECONDARY_INORGANIC_AEROSOL = "secondary_inorganic_aerosol"
RESIDENTIAL_ELEMENTARY_CARBON = "residential_elementary_carbon"
TOTAL_ELEMENTARY_CARBON = "total_elementary_carbon"
PM2_5_TOTAL_ORGANIC_MATTER = "pm2_5_total_organic_matter"
SEA_SALT_AEROSOL = "sea_salt_aerosol"
NITROGEN_MONOXIDE = "nitrogen_monoxide"
EUROPEAN_AQI = "european_aqi"
EUROPEAN_AQI_PM2_5 = "european_aqi_pm2_5"
EUROPEAN_AQI_PM10 = "european_aqi_pm10"
EUROPEAN_AQI_NITROGEN_DIOXIDE = "european_aqi_nitrogen_dioxide"
EUROPEAN_AQI_OZONE = "european_aqi_ozone"
EUROPEAN_AQI_SULPHUR_DIOXIDE = "european_aqi_sulphur_dioxide"
US_AQI = "us_aqi"
US_AQI_PM2_5 = "us_aqi_pm2_5"
US_AQI_PM10 = "us_aqi_pm10"
US_AQI_NITROGEN_DIOXIDE = "us_aqi_nitrogen_dioxide"
US_AQI_CARBON_MONOXIDE = "us_aqi_carbon_monoxide"
US_AQI_OZONE = "us_aqi_ozone"
US_AQI_SULPHUR_DIOXIDE = "us_aqi_sulphur_dioxide"
IS_DAY = "is_day"
[docs]
class GetV1AirQualityCurrentItem(enum.Enum):
"""The ``GetV1AirQualityCurrentItem`` values."""
EUROPEAN_AQI = "european_aqi"
US_AQI = "us_aqi"
PM10 = "pm10"
PM2_5 = "pm2_5"
CARBON_MONOXIDE = "carbon_monoxide"
NITROGEN_DIOXIDE = "nitrogen_dioxide"
SULPHUR_DIOXIDE = "sulphur_dioxide"
OZONE = "ozone"
AEROSOL_OPTICAL_DEPTH = "aerosol_optical_depth"
DUST = "dust"
UV_INDEX = "uv_index"
UV_INDEX_CLEAR_SKY = "uv_index_clear_sky"
AMMONIA = "ammonia"
ALDER_POLLEN = "alder_pollen"
BIRCH_POLLEN = "birch_pollen"
GRASS_POLLEN = "grass_pollen"
MUGWORT_POLLEN = "mugwort_pollen"
OLIVE_POLLEN = "olive_pollen"
RAGWEED_POLLEN = "ragweed_pollen"
[docs]
class GetV1AirQualityDomains(enum.Enum):
"""The ``GetV1AirQualityDomains`` values."""
AUTO = "auto"
CAMS_EUROPE = "cams_europe"
CAMS_GLOBAL = "cams_global"
[docs]
@dataclass
class GetV1AirQualityResponseHourly:
"""The ``GetV1AirQualityResponseHourly`` model."""
time: list[str] | None = None
pm10: list[float] | None = None
pm2_5: list[float] | None = None
carbon_monoxide: list[float] | None = None
carbon_dioxide: list[float] | None = None
nitrogen_dioxide: list[float] | None = None
sulphur_dioxide: list[float] | None = None
ozone: list[float] | None = None
aerosol_optical_depth: list[float] | None = None
dust: list[float] | None = None
uv_index: list[float] | None = None
uv_index_clear_sky: list[float] | None = None
ammonia: list[float] | None = None
methane: list[float] | None = None
alder_pollen: list[float] | None = None
birch_pollen: list[float] | None = None
grass_pollen: list[float] | None = None
mugwort_pollen: list[float] | None = None
olive_pollen: list[float] | None = None
ragweed_pollen: list[float] | None = None
formaldehyde: list[float] | None = None
glyoxal: list[float] | None = None
non_methane_volatile_organic_compounds: list[float] | None = None
pm10_wildfires: list[float] | None = None
peroxyacyl_nitrates: list[float] | None = None
secondary_inorganic_aerosol: list[float] | None = None
residential_elementary_carbon: list[float] | None = None
total_elementary_carbon: list[float] | None = None
pm2_5_total_organic_matter: list[float] | None = None
sea_salt_aerosol: list[float] | None = None
nitrogen_monoxide: list[float] | None = None
european_aqi: list[int] | None = None
european_aqi_pm2_5: list[int] | None = None
european_aqi_pm10: list[int] | None = None
european_aqi_nitrogen_dioxide: list[int] | None = None
european_aqi_ozone: list[int] | None = None
european_aqi_sulphur_dioxide: list[int] | None = None
us_aqi: list[int] | None = None
us_aqi_pm2_5: list[int] | None = None
us_aqi_pm10: list[int] | None = None
us_aqi_nitrogen_dioxide: list[int] | None = None
us_aqi_carbon_monoxide: list[int] | None = None
us_aqi_ozone: list[int] | None = None
us_aqi_sulphur_dioxide: list[int] | None = None
is_day: list[int] | None = None
[docs]
def get_v1_air_quality_response_hourly_from_json(data: Any) -> GetV1AirQualityResponseHourly:
"""
Build a :py:class:`GetV1AirQualityResponseHourly` from one decoded JSON object.
:param data: the decoded JSON object
:return: the GetV1AirQualityResponseHourly
"""
return GetV1AirQualityResponseHourly(
time=data.get("time"),
pm10=data.get("pm10"),
pm2_5=data.get("pm2_5"),
carbon_monoxide=data.get("carbon_monoxide"),
carbon_dioxide=data.get("carbon_dioxide"),
nitrogen_dioxide=data.get("nitrogen_dioxide"),
sulphur_dioxide=data.get("sulphur_dioxide"),
ozone=data.get("ozone"),
aerosol_optical_depth=data.get("aerosol_optical_depth"),
dust=data.get("dust"),
uv_index=data.get("uv_index"),
uv_index_clear_sky=data.get("uv_index_clear_sky"),
ammonia=data.get("ammonia"),
methane=data.get("methane"),
alder_pollen=data.get("alder_pollen"),
birch_pollen=data.get("birch_pollen"),
grass_pollen=data.get("grass_pollen"),
mugwort_pollen=data.get("mugwort_pollen"),
olive_pollen=data.get("olive_pollen"),
ragweed_pollen=data.get("ragweed_pollen"),
formaldehyde=data.get("formaldehyde"),
glyoxal=data.get("glyoxal"),
non_methane_volatile_organic_compounds=data.get("non_methane_volatile_organic_compounds"),
pm10_wildfires=data.get("pm10_wildfires"),
peroxyacyl_nitrates=data.get("peroxyacyl_nitrates"),
secondary_inorganic_aerosol=data.get("secondary_inorganic_aerosol"),
residential_elementary_carbon=data.get("residential_elementary_carbon"),
total_elementary_carbon=data.get("total_elementary_carbon"),
pm2_5_total_organic_matter=data.get("pm2_5_total_organic_matter"),
sea_salt_aerosol=data.get("sea_salt_aerosol"),
nitrogen_monoxide=data.get("nitrogen_monoxide"),
european_aqi=data.get("european_aqi"),
european_aqi_pm2_5=data.get("european_aqi_pm2_5"),
european_aqi_pm10=data.get("european_aqi_pm10"),
european_aqi_nitrogen_dioxide=data.get("european_aqi_nitrogen_dioxide"),
european_aqi_ozone=data.get("european_aqi_ozone"),
european_aqi_sulphur_dioxide=data.get("european_aqi_sulphur_dioxide"),
us_aqi=data.get("us_aqi"),
us_aqi_pm2_5=data.get("us_aqi_pm2_5"),
us_aqi_pm10=data.get("us_aqi_pm10"),
us_aqi_nitrogen_dioxide=data.get("us_aqi_nitrogen_dioxide"),
us_aqi_carbon_monoxide=data.get("us_aqi_carbon_monoxide"),
us_aqi_ozone=data.get("us_aqi_ozone"),
us_aqi_sulphur_dioxide=data.get("us_aqi_sulphur_dioxide"),
is_day=data.get("is_day"),
)
[docs]
@dataclass
class GetV1AirQualityResponseHourlyUnits:
"""The ``GetV1AirQualityResponseHourlyUnits`` model."""
time: str | None = None
pm10: str | None = None
pm2_5: str | None = None
carbon_monoxide: str | None = None
carbon_dioxide: str | None = None
nitrogen_dioxide: str | None = None
sulphur_dioxide: str | None = None
ozone: str | None = None
aerosol_optical_depth: str | None = None
dust: str | None = None
uv_index: str | None = None
uv_index_clear_sky: str | None = None
ammonia: str | None = None
methane: str | None = None
alder_pollen: str | None = None
birch_pollen: str | None = None
grass_pollen: str | None = None
mugwort_pollen: str | None = None
olive_pollen: str | None = None
ragweed_pollen: str | None = None
formaldehyde: str | None = None
glyoxal: str | None = None
non_methane_volatile_organic_compounds: str | None = None
pm10_wildfires: str | None = None
peroxyacyl_nitrates: str | None = None
secondary_inorganic_aerosol: str | None = None
residential_elementary_carbon: str | None = None
total_elementary_carbon: str | None = None
pm2_5_total_organic_matter: str | None = None
sea_salt_aerosol: str | None = None
nitrogen_monoxide: str | None = None
european_aqi: str | None = None
european_aqi_pm2_5: str | None = None
european_aqi_pm10: str | None = None
european_aqi_nitrogen_dioxide: str | None = None
european_aqi_ozone: str | None = None
european_aqi_sulphur_dioxide: str | None = None
us_aqi: str | None = None
us_aqi_pm2_5: str | None = None
us_aqi_pm10: str | None = None
us_aqi_nitrogen_dioxide: str | None = None
us_aqi_carbon_monoxide: str | None = None
us_aqi_ozone: str | None = None
us_aqi_sulphur_dioxide: str | None = None
is_day: str | None = None
[docs]
def get_v1_air_quality_response_hourly_units_from_json(
data: Any,
) -> GetV1AirQualityResponseHourlyUnits:
"""
Build a :py:class:`GetV1AirQualityResponseHourlyUnits` from one decoded JSON object.
:param data: the decoded JSON object
:return: the GetV1AirQualityResponseHourlyUnits
"""
return GetV1AirQualityResponseHourlyUnits(
time=data.get("time"),
pm10=data.get("pm10"),
pm2_5=data.get("pm2_5"),
carbon_monoxide=data.get("carbon_monoxide"),
carbon_dioxide=data.get("carbon_dioxide"),
nitrogen_dioxide=data.get("nitrogen_dioxide"),
sulphur_dioxide=data.get("sulphur_dioxide"),
ozone=data.get("ozone"),
aerosol_optical_depth=data.get("aerosol_optical_depth"),
dust=data.get("dust"),
uv_index=data.get("uv_index"),
uv_index_clear_sky=data.get("uv_index_clear_sky"),
ammonia=data.get("ammonia"),
methane=data.get("methane"),
alder_pollen=data.get("alder_pollen"),
birch_pollen=data.get("birch_pollen"),
grass_pollen=data.get("grass_pollen"),
mugwort_pollen=data.get("mugwort_pollen"),
olive_pollen=data.get("olive_pollen"),
ragweed_pollen=data.get("ragweed_pollen"),
formaldehyde=data.get("formaldehyde"),
glyoxal=data.get("glyoxal"),
non_methane_volatile_organic_compounds=data.get("non_methane_volatile_organic_compounds"),
pm10_wildfires=data.get("pm10_wildfires"),
peroxyacyl_nitrates=data.get("peroxyacyl_nitrates"),
secondary_inorganic_aerosol=data.get("secondary_inorganic_aerosol"),
residential_elementary_carbon=data.get("residential_elementary_carbon"),
total_elementary_carbon=data.get("total_elementary_carbon"),
pm2_5_total_organic_matter=data.get("pm2_5_total_organic_matter"),
sea_salt_aerosol=data.get("sea_salt_aerosol"),
nitrogen_monoxide=data.get("nitrogen_monoxide"),
european_aqi=data.get("european_aqi"),
european_aqi_pm2_5=data.get("european_aqi_pm2_5"),
european_aqi_pm10=data.get("european_aqi_pm10"),
european_aqi_nitrogen_dioxide=data.get("european_aqi_nitrogen_dioxide"),
european_aqi_ozone=data.get("european_aqi_ozone"),
european_aqi_sulphur_dioxide=data.get("european_aqi_sulphur_dioxide"),
us_aqi=data.get("us_aqi"),
us_aqi_pm2_5=data.get("us_aqi_pm2_5"),
us_aqi_pm10=data.get("us_aqi_pm10"),
us_aqi_nitrogen_dioxide=data.get("us_aqi_nitrogen_dioxide"),
us_aqi_carbon_monoxide=data.get("us_aqi_carbon_monoxide"),
us_aqi_ozone=data.get("us_aqi_ozone"),
us_aqi_sulphur_dioxide=data.get("us_aqi_sulphur_dioxide"),
is_day=data.get("is_day"),
)
[docs]
@dataclass
class GetV1AirQualityResponseCurrent:
"""The ``GetV1AirQualityResponseCurrent`` model."""
time: str | None = None
interval: int | None = None
european_aqi: int | None = None
us_aqi: int | None = None
pm10: float | None = None
pm2_5: float | None = None
carbon_monoxide: float | None = None
nitrogen_dioxide: float | None = None
sulphur_dioxide: float | None = None
ozone: float | None = None
aerosol_optical_depth: float | None = None
dust: float | None = None
uv_index: float | None = None
uv_index_clear_sky: float | None = None
ammonia: float | None = None
alder_pollen: float | None = None
birch_pollen: float | None = None
grass_pollen: float | None = None
mugwort_pollen: float | None = None
olive_pollen: float | None = None
ragweed_pollen: float | None = None
[docs]
def get_v1_air_quality_response_current_from_json(data: Any) -> GetV1AirQualityResponseCurrent:
"""
Build a :py:class:`GetV1AirQualityResponseCurrent` from one decoded JSON object.
:param data: the decoded JSON object
:return: the GetV1AirQualityResponseCurrent
"""
return GetV1AirQualityResponseCurrent(
time=data.get("time"),
interval=data.get("interval"),
european_aqi=data.get("european_aqi"),
us_aqi=data.get("us_aqi"),
pm10=data.get("pm10"),
pm2_5=data.get("pm2_5"),
carbon_monoxide=data.get("carbon_monoxide"),
nitrogen_dioxide=data.get("nitrogen_dioxide"),
sulphur_dioxide=data.get("sulphur_dioxide"),
ozone=data.get("ozone"),
aerosol_optical_depth=data.get("aerosol_optical_depth"),
dust=data.get("dust"),
uv_index=data.get("uv_index"),
uv_index_clear_sky=data.get("uv_index_clear_sky"),
ammonia=data.get("ammonia"),
alder_pollen=data.get("alder_pollen"),
birch_pollen=data.get("birch_pollen"),
grass_pollen=data.get("grass_pollen"),
mugwort_pollen=data.get("mugwort_pollen"),
olive_pollen=data.get("olive_pollen"),
ragweed_pollen=data.get("ragweed_pollen"),
)
[docs]
@dataclass
class GetV1AirQualityResponseCurrentUnits:
"""The ``GetV1AirQualityResponseCurrentUnits`` model."""
time: str | None = None
european_aqi: str | None = None
us_aqi: str | None = None
pm10: str | None = None
pm2_5: str | None = None
carbon_monoxide: str | None = None
nitrogen_dioxide: str | None = None
sulphur_dioxide: str | None = None
ozone: str | None = None
aerosol_optical_depth: str | None = None
dust: str | None = None
uv_index: str | None = None
uv_index_clear_sky: str | None = None
ammonia: str | None = None
alder_pollen: str | None = None
birch_pollen: str | None = None
grass_pollen: str | None = None
mugwort_pollen: str | None = None
olive_pollen: str | None = None
ragweed_pollen: str | None = None
[docs]
def get_v1_air_quality_response_current_units_from_json(
data: Any,
) -> GetV1AirQualityResponseCurrentUnits:
"""
Build a :py:class:`GetV1AirQualityResponseCurrentUnits` from one decoded JSON object.
:param data: the decoded JSON object
:return: the GetV1AirQualityResponseCurrentUnits
"""
return GetV1AirQualityResponseCurrentUnits(
time=data.get("time"),
european_aqi=data.get("european_aqi"),
us_aqi=data.get("us_aqi"),
pm10=data.get("pm10"),
pm2_5=data.get("pm2_5"),
carbon_monoxide=data.get("carbon_monoxide"),
nitrogen_dioxide=data.get("nitrogen_dioxide"),
sulphur_dioxide=data.get("sulphur_dioxide"),
ozone=data.get("ozone"),
aerosol_optical_depth=data.get("aerosol_optical_depth"),
dust=data.get("dust"),
uv_index=data.get("uv_index"),
uv_index_clear_sky=data.get("uv_index_clear_sky"),
ammonia=data.get("ammonia"),
alder_pollen=data.get("alder_pollen"),
birch_pollen=data.get("birch_pollen"),
grass_pollen=data.get("grass_pollen"),
mugwort_pollen=data.get("mugwort_pollen"),
olive_pollen=data.get("olive_pollen"),
ragweed_pollen=data.get("ragweed_pollen"),
)
[docs]
@dataclass
class GetV1AirQualityResponse:
"""The ``GetV1AirQualityResponse`` model."""
latitude: float | None = None
longitude: float | None = None
elevation: float | None = None
generationtime_ms: float | None = None
utc_offset_seconds: int | None = None
timezone: str | None = None
timezone_abbreviation: str | None = None
hourly: GetV1AirQualityResponseHourly | None = None
hourly_units: GetV1AirQualityResponseHourlyUnits | None = None
current: GetV1AirQualityResponseCurrent | None = None
current_units: GetV1AirQualityResponseCurrentUnits | None = None
[docs]
def get_v1_air_quality_response_from_json(data: Any) -> GetV1AirQualityResponse:
"""
Build a :py:class:`GetV1AirQualityResponse` from one decoded JSON object.
:param data: the decoded JSON object
:return: the GetV1AirQualityResponse
"""
return GetV1AirQualityResponse(
latitude=data.get("latitude"),
longitude=data.get("longitude"),
elevation=data.get("elevation"),
generationtime_ms=data.get("generationtime_ms"),
utc_offset_seconds=data.get("utc_offset_seconds"),
timezone=data.get("timezone"),
timezone_abbreviation=data.get("timezone_abbreviation"),
hourly=(
get_v1_air_quality_response_hourly_from_json(data["hourly"])
if data.get("hourly") is not None
else None
),
hourly_units=(
get_v1_air_quality_response_hourly_units_from_json(data["hourly_units"])
if data.get("hourly_units") is not None
else None
),
current=(
get_v1_air_quality_response_current_from_json(data["current"])
if data.get("current") is not None
else None
),
current_units=(
get_v1_air_quality_response_current_units_from_json(data["current_units"])
if data.get("current_units") is not None
else None
),
)
[docs]
@dataclass
class GetV1AirQualityError:
"""The ``GetV1AirQualityError`` model."""
error: bool | None = None
reason: str | None = None
[docs]
def get_v1_air_quality_error_from_json(data: Any) -> GetV1AirQualityError:
"""
Build a :py:class:`GetV1AirQualityError` from one decoded JSON object.
:param data: the decoded JSON object
:return: the GetV1AirQualityError
"""
return GetV1AirQualityError(
error=data.get("error"),
reason=data.get("reason"),
)