Перейти к содержанию

pygismeteo

Добро пожаловать в документацию pygismeteo, обёртки для Gismeteo API на Python!

Асинхронная версия здесь.

Разработка приостановлена

Для использования библиотеки нужен API токен, который можно запросить по электронной почте b2b@gismeteo.ru.

В настоящее время у разработчика отсутствует API токен, что делает невозможными тестирование и дальнейшую разработку.

Если вам нужна погодная библиотека без API токена, можете рассмотреть https://github.com/monosans/pywttr.

Установка

Последнюю версию можно установить следующей командой:

pip install -U pygismeteo pygismeteo-base

API Reference

Обёртка для Gismeteo API.

Examples:

with pygismeteo.Gismeteo(token="56b30cb255.3443075") as gismeteo:
    search_results = gismeteo.search.by_query("Москва")
    city_id = search_results[0].id
    current = gismeteo.current.by_id(city_id)
print(current)

Кастомный базовый URL:

with pygismeteo.Gismeteo(
    token=..., base_url=pydantic.AnyHttpUrl("https://api.example.com/v1")
) as gismeteo:
    ...

Другой язык:

with pygismeteo.Gismeteo(token=..., lang=pygismeteo.Lang.EN) as gismeteo:
    ...

Кастомный httpx.Client:

with httpx.Client(
    timeout=httpx.Timeout(60, connect=5), follow_redirects=True
) as session:
    gismeteo = pygismeteo.Gismeteo(token=..., session=session)
    ...

__version__ module-attribute

__version__ = '8.0.1'

Gismeteo

Gismeteo(
    *,
    token: str,
    base_url: AnyHttpUrl = build(
        scheme="https", host="api.gismeteo.net", path="v2"
    ),
    lang: Lang = RU,
    session: Client | None = None,
)

Обёртка для Gismeteo API.

Examples:

with gismeteo.Gismeteo(token="56b30cb255.3443075") as gismeteo:
    search_results = gismeteo.search.by_query("Москва")
    city_id = search_results[0].id
    current = gismeteo.current.by_id(city_id)
print(current)

Кастомный базовый URL:

with gismeteo.Gismeteo(
    token=...,
    base_url=pydantic.AnyHttpUrl("https://api.example.com/v1"),
) as gismeteo:
    ...

Другой язык:

with gismeteo.Gismeteo(token=..., lang=gismeteo.Lang.EN) as gismeteo:
    ...

Кастомный httpx.Client:

with httpx.Client(
    timeout=httpx.Timeout(60, connect=5), follow_redirects=True
) as session:
    gismeteo = gismeteo.Gismeteo(token=..., session=session)
    ...

Parameters:

  • token

    (str) –

    X-Gismeteo-Token. Запросить можно по электронной почте b2b@gismeteo.ru.

Examples:

with gismeteo.Gismeteo(token="56b30cb255.3443075") as gismeteo:
    search_results = gismeteo.search.by_query("Москва")
    city_id = search_results[0].id
    current = gismeteo.current.by_id(city_id)
print(current)

Кастомный базовый URL:

with gismeteo.Gismeteo(
    token=...,
    base_url=pydantic.AnyHttpUrl("https://api.example.com/v1"),
) as gismeteo:
    ...

Другой язык:

with gismeteo.Gismeteo(
    token=..., lang=gismeteo.Lang.EN
) as gismeteo:
    ...

Кастомный httpx.Client:

with httpx.Client(
    timeout=httpx.Timeout(60, connect=5), follow_redirects=True
) as session:
    gismeteo = gismeteo.Gismeteo(token=..., session=session)
    ...

current property

current: Current

Текущая погода.

search property

search: Search

Поиск.

step3 property

step3: Step3

Погода с шагом 3 часа.

step6 property

step6: Step6

Погода с шагом 6 часа.

step24 property

step24: Step24

Погода с шагом 24 часов.

token property

token: str

X-Gismeteo-Token.

base_url property

base_url: AnyHttpUrl

lang property

lang: Lang

session property

session: Client | None

close

close() -> None

Закрыть HTTP сессию.

__enter__

__enter__() -> Self

__exit__

__exit__(*_: object) -> None

models

Pydantic модели ответов Gismeteo API.

current

Precipitation

Bases: FrozenModel

type_ext class-attribute instance-attribute
type_ext: int | None = None
intensity instance-attribute
correction class-attribute instance-attribute
correction: bool | None = None
amount class-attribute instance-attribute
amount: float | None = None
duration instance-attribute
duration: int
type instance-attribute
Pressure

Bases: FrozenModel

h_pa class-attribute instance-attribute
h_pa: int | None = None
mm_hg_atm class-attribute instance-attribute
mm_hg_atm: int | None = None
in_hg class-attribute instance-attribute
in_hg: float | None = None
Humidity

Bases: FrozenModel

percent class-attribute instance-attribute
percent: int | None = None
Direction

Bases: FrozenModel

degree class-attribute instance-attribute
degree: int | None = None
scale_8 class-attribute instance-attribute
scale_8: WindScale8 | None = None
Speed

Bases: FrozenModel

km_h instance-attribute
km_h: int
m_s instance-attribute
m_s: int
mi_h instance-attribute
mi_h: int
Wind

Bases: FrozenModel

direction instance-attribute
direction: Direction
speed instance-attribute
speed: Speed
Cloudiness

Bases: FrozenModel

type instance-attribute
percent instance-attribute
percent: int
Date

Bases: FrozenModel

utc class-attribute instance-attribute
utc: str = Field(alias='UTC')
local instance-attribute
local: str
time_zone_offset instance-attribute
time_zone_offset: int
hr_to_forecast class-attribute instance-attribute
hr_to_forecast: int | None = None
unix instance-attribute
unix: int
Radiation

Bases: FrozenModel

uvb_index class-attribute instance-attribute
uvb_index: int | None = None
uvb class-attribute instance-attribute
uvb: int | None = Field(default=None, alias='UVB')
Comfort

Bases: FrozenModel

c class-attribute instance-attribute
c: float = Field(alias='C')
f class-attribute instance-attribute
f: float = Field(alias='F')
Water

Bases: FrozenModel

c class-attribute instance-attribute
c: float = Field(alias='C')
f class-attribute instance-attribute
f: float = Field(alias='F')
Air

Bases: FrozenModel

c class-attribute instance-attribute
c: float = Field(alias='C')
f class-attribute instance-attribute
f: float = Field(alias='F')
Temperature

Bases: FrozenModel

comfort instance-attribute
comfort: Comfort
water instance-attribute
water: Water
air instance-attribute
air: Air
Description

Bases: FrozenModel

full instance-attribute
full: str
Model

Bases: FrozenModel

precipitation instance-attribute
precipitation: Precipitation
pressure instance-attribute
pressure: Pressure
humidity instance-attribute
humidity: Humidity
icon instance-attribute
icon: str
gm instance-attribute
wind instance-attribute
wind: Wind
cloudiness instance-attribute
cloudiness: Cloudiness
date instance-attribute
date: Date
phenomenon class-attribute instance-attribute
phenomenon: int | None = None
radiation instance-attribute
radiation: Radiation
city instance-attribute
city: int
kind instance-attribute
storm instance-attribute
storm: bool
temperature instance-attribute
temperature: Temperature
description instance-attribute
description: Description

enums

Description dataclass
Description(en: str, ru: str)
en instance-attribute
en: str
ru instance-attribute
ru: str
IntEnumWithDescription
IntEnumWithDescription(
    _: Any, description_en: str, description_ru: str
)

Bases: _DescriptionMixin, IntEnum

StrEnumWithDescription
StrEnumWithDescription(
    _: Any, description_en: str, description_ru: str
)

Bases: _DescriptionMixin, StrEnum

WeatherDataType
WeatherDataType(
    _: Any, description_en: str, description_ru: str
)

Bases: StrEnumWithDescription

OBS class-attribute instance-attribute
OBS = ('Obs', 'Observation', 'Наблюдение')
FRC class-attribute instance-attribute
FRC = ('Frc', 'Forecast', 'Прогноз')
CloudinessType
CloudinessType(
    _: Any, description_en: str, description_ru: str
)

Bases: IntEnumWithDescription

SUNNY class-attribute instance-attribute
SUNNY = (0, 'Sunny', 'Ясно')
MOSTLY_SUNNY class-attribute instance-attribute
MOSTLY_SUNNY = (1, 'Mostly sunny', 'Малооблачно')
MOSTLY_CLOUDY class-attribute instance-attribute
MOSTLY_CLOUDY = (2, 'Mostly cloudy', 'Облачно')
OVERCAST class-attribute instance-attribute
OVERCAST = (3, 'Overcast', 'Пасмурно')
PARTLY_CLOUDY class-attribute instance-attribute
PARTLY_CLOUDY = (
    101,
    "Partly cloudy",
    "Переменная облачность",
)
PrecipitationType
PrecipitationType(
    _: Any, description_en: str, description_ru: str
)

Bases: IntEnumWithDescription

NO_PRECIPITATION class-attribute instance-attribute
NO_PRECIPITATION = (0, 'No precipitation', 'Нет осадков')
RAIN class-attribute instance-attribute
RAIN = (1, 'Rain', 'Дождь')
SNOW class-attribute instance-attribute
SNOW = (2, 'Snow', 'Снег')
MIXED_PRECIPITATION class-attribute instance-attribute
MIXED_PRECIPITATION = (
    3,
    "Mixed precipitation",
    "Смешанные осадки",
)
PrecipitationIntensity
PrecipitationIntensity(
    _: Any, description_en: str, description_ru: str
)

Bases: IntEnumWithDescription

NO_PRECIPITATION class-attribute instance-attribute
NO_PRECIPITATION = (0, 'No precipitation', 'Нет осадков')
RAIN class-attribute instance-attribute
RAIN = (1, 'Light rain / snow', 'Небольшой дождь / снег')
SNOW class-attribute instance-attribute
SNOW = (2, 'Rain / snow', 'Дождь / снег')
MIXED_PRECIPITATION class-attribute instance-attribute
MIXED_PRECIPITATION = (
    3,
    "Heavy rain / snow",
    "Сильный дождь / снег",
)
GeomagneticField
GeomagneticField(
    _: Any, description_en: str, description_ru: str
)

Bases: IntEnumWithDescription

NO_SIGNIFICANT_DISTURBANCES class-attribute instance-attribute
NO_SIGNIFICANT_DISTURBANCES = (
    1,
    "No significant disturbances",
    "Нет заметных возмущений",
)
SMALL_DISTURBANCES class-attribute instance-attribute
SMALL_DISTURBANCES = (
    2,
    "Small disturbances",
    "Небольшие возмущения",
)
WEAK_GEOMAGNETIC_STORM class-attribute instance-attribute
WEAK_GEOMAGNETIC_STORM = (
    3,
    "Weak geomagnetic storm",
    "Слабая геомагнитная буря",
)
MINOR_GEOMAGNETIC_STORM class-attribute instance-attribute
MINOR_GEOMAGNETIC_STORM = (
    4,
    "Minor geomagnetic storm",
    "Малая геомагнитная буря",
)
MODERATE_GEOMAGNETIC_STORM class-attribute instance-attribute
MODERATE_GEOMAGNETIC_STORM = (
    5,
    "Moderate geomagnetic storm",
    "Умеренная геомагнитная буря",
)
STRONG_GEOMAGNETIC_STORM class-attribute instance-attribute
STRONG_GEOMAGNETIC_STORM = (
    6,
    "Strong geomagnetic storm",
    "Сильная геомагнитная буря",
)
SEVERE_GEOMAGNETIC_STORM class-attribute instance-attribute
SEVERE_GEOMAGNETIC_STORM = (
    7,
    "Severe geomagnetic storm",
    "Жесткий геомагнитный шторм",
)
EXTREME_GEOMAGNETIC_STORM class-attribute instance-attribute
EXTREME_GEOMAGNETIC_STORM = (
    8,
    "Extreme geomagnetic storm",
    "Экстремальный шторм",
)
WindScale8
WindScale8(
    _: Any, description_en: str, description_ru: str
)

Bases: IntEnumWithDescription

CALM class-attribute instance-attribute
CALM = (0, 'Calm', 'Штиль')
NORTHERLY class-attribute instance-attribute
NORTHERLY = (1, 'Northerly', 'Северный')
NORTHEASTERLY class-attribute instance-attribute
NORTHEASTERLY = (2, 'Northeasterly', 'Северо-восточный')
EASTERLY class-attribute instance-attribute
EASTERLY = (3, 'Easterly', 'Восточный')
SOUTHEASTERLY class-attribute instance-attribute
SOUTHEASTERLY = (4, 'Southeasterly', 'Юго-восточный')
SOUTHERLY class-attribute instance-attribute
SOUTHERLY = (5, 'Southerly', 'Южный')
SOUTHWESTERLY class-attribute instance-attribute
SOUTHWESTERLY = (6, 'Southwesterly', 'Юго-западный')
WESTERLY class-attribute instance-attribute
WESTERLY = (7, 'Westerly', 'Западный')
NORTHWESTERLY class-attribute instance-attribute
NORTHWESTERLY = (8, 'Northwesterly', 'Северо-западный')
GeographicObjectType
GeographicObjectType(
    _: Any, description_en: str, description_ru: str
)

Bases: StrEnumWithDescription

CITY class-attribute instance-attribute
CITY = ('T', 'City', 'Город')
METROPOLIS class-attribute instance-attribute
METROPOLIS = ('C', 'Metropolis', 'Метрополис')
AIRPORT class-attribute instance-attribute
AIRPORT = ('A', 'Airport', 'Аэропорт')
WEATHER_STATION class-attribute instance-attribute
WEATHER_STATION = ('M', 'Weather station', 'Метеостанция')

search_by_coordinates

Model module-attribute
Model: TypeAlias = tuple[ModelItem, ...]
District

Bases: FrozenModel

name instance-attribute
name: str
name_p class-attribute instance-attribute
name_p: str = Field(alias='nameP')
SubDistrict

Bases: FrozenModel

name instance-attribute
name: str
name_p class-attribute instance-attribute
name_p: str = Field(alias='nameP')
Country

Bases: FrozenModel

name instance-attribute
name: str
code instance-attribute
code: str
name_p class-attribute instance-attribute
name_p: str = Field(alias='nameP')
ModelItem

Bases: FrozenModel

district class-attribute instance-attribute
district: District | None = None
id instance-attribute
id: int
sub_district class-attribute instance-attribute
sub_district: SubDistrict | None = None
url instance-attribute
url: str
name_p class-attribute instance-attribute
name_p: str = Field(alias='nameP')
name instance-attribute
name: str
distance instance-attribute
distance: float
kind instance-attribute
country instance-attribute
country: Country

search_by_ip

District

Bases: FrozenModel

name instance-attribute
name: str
name_p class-attribute instance-attribute
name_p: str = Field(alias='nameP')
SubDistrict

Bases: FrozenModel

name instance-attribute
name: str
name_p class-attribute instance-attribute
name_p: str = Field(alias='nameP')
Country

Bases: FrozenModel

name instance-attribute
name: str
code instance-attribute
code: str
name_p class-attribute instance-attribute
name_p: str = Field(alias='nameP')
Model

Bases: FrozenModel

district class-attribute instance-attribute
district: District | None = None
id instance-attribute
id: int
sub_district class-attribute instance-attribute
sub_district: SubDistrict | None = None
url instance-attribute
url: str
name_p class-attribute instance-attribute
name_p: str = Field(alias='nameP')
name instance-attribute
name: str
kind instance-attribute
country instance-attribute
country: Country

search_by_query

Model module-attribute
Model: TypeAlias = tuple[ModelItem, ...]
District

Bases: FrozenModel

name instance-attribute
name: str
name_p class-attribute instance-attribute
name_p: str | None = Field(default=None, alias='nameP')
Country

Bases: FrozenModel

name instance-attribute
name: str
code instance-attribute
code: str
name_p class-attribute instance-attribute
name_p: str | None = Field(default=None, alias='nameP')
SubDistrict

Bases: FrozenModel

name instance-attribute
name: str
name_p class-attribute instance-attribute
name_p: str | None = Field(default=None, alias='nameP')
ModelItem

Bases: FrozenModel

district class-attribute instance-attribute
district: District | None = None
id instance-attribute
id: int
sub_district class-attribute instance-attribute
sub_district: SubDistrict | None = None
url instance-attribute
url: str
name_p class-attribute instance-attribute
name_p: str | None = Field(default=None, alias='nameP')
name instance-attribute
name: str
rate instance-attribute
rate: int
weight instance-attribute
weight: int
kind instance-attribute
country instance-attribute
country: Country

step24

Min1 module-attribute
Min1 = Min
Min2 module-attribute
Min2 = Min
Model module-attribute
Model: TypeAlias = tuple[ModelItem, ...]
Precipitation

Bases: FrozenModel

type_ext class-attribute instance-attribute
type_ext: int | None = None
intensity instance-attribute
amount instance-attribute
amount: float
type instance-attribute
HPa

Bases: FrozenModel

max instance-attribute
max: int
min instance-attribute
min: int
MmHgAtm

Bases: FrozenModel

max instance-attribute
max: int
min instance-attribute
min: int
InHg

Bases: FrozenModel

max instance-attribute
max: float
min instance-attribute
min: float
Pressure

Bases: FrozenModel

h_pa instance-attribute
h_pa: HPa
mm_hg_atm instance-attribute
mm_hg_atm: MmHgAtm
in_hg instance-attribute
in_hg: InHg
Percent

Bases: FrozenModel

max instance-attribute
max: int
min instance-attribute
min: int
avg instance-attribute
avg: int
Humidity

Bases: FrozenModel

percent instance-attribute
percent: Percent
Description

Bases: FrozenModel

full instance-attribute
full: str
Cloudiness

Bases: FrozenModel

type instance-attribute
percent instance-attribute
percent: int
Date

Bases: FrozenModel

utc class-attribute instance-attribute
utc: str = Field(alias='UTC')
local instance-attribute
local: str
time_zone_offset instance-attribute
time_zone_offset: int
unix instance-attribute
unix: int
Radiation

Bases: FrozenModel

max class-attribute instance-attribute
max: int | None = None
max_index class-attribute instance-attribute
max_index: int | None = None
Max

Bases: FrozenModel

c class-attribute instance-attribute
c: float = Field(alias='C')
f class-attribute instance-attribute
f: float = Field(alias='F')
Min

Bases: FrozenModel

c class-attribute instance-attribute
c: float = Field(alias='C')
f class-attribute instance-attribute
f: float = Field(alias='F')
Comfort

Bases: FrozenModel

max instance-attribute
max: Max
min instance-attribute
min: Min
Max1

Bases: FrozenModel

c class-attribute instance-attribute
c: float | None = Field(default=None, alias='C')
f class-attribute instance-attribute
f: float | None = Field(default=None, alias='F')
Water

Bases: FrozenModel

max instance-attribute
max: Max1
min instance-attribute
min: Min
Max2

Bases: FrozenModel

c class-attribute instance-attribute
c: float = Field(alias='C')
f class-attribute instance-attribute
f: float = Field(alias='F')
Avg

Bases: FrozenModel

c class-attribute instance-attribute
c: float = Field(alias='C')
f class-attribute instance-attribute
f: float = Field(alias='F')
Air

Bases: FrozenModel

max instance-attribute
max: Max2
min instance-attribute
min: Min
avg instance-attribute
avg: Avg
Temperature

Bases: FrozenModel

comfort instance-attribute
comfort: Comfort
water instance-attribute
water: Water
air instance-attribute
air: Air
Max3

Bases: FrozenModel

km_h instance-attribute
km_h: int
m_s instance-attribute
m_s: int
mi_h instance-attribute
mi_h: int
Min3

Bases: FrozenModel

km_h instance-attribute
km_h: int
m_s instance-attribute
m_s: int
mi_h instance-attribute
mi_h: int
Avg1

Bases: FrozenModel

km_h class-attribute instance-attribute
km_h: int | None = None
m_s class-attribute instance-attribute
m_s: int | None = None
mi_h class-attribute instance-attribute
mi_h: int | None = None
Speed

Bases: FrozenModel

max instance-attribute
max: Max3
min instance-attribute
min: Min3
avg instance-attribute
avg: Avg1
Max4

Bases: FrozenModel

degree class-attribute instance-attribute
degree: int | None = None
scale_8 class-attribute instance-attribute
scale_8: WindScale8 | None = None
Min4

Bases: FrozenModel

degree class-attribute instance-attribute
degree: int | None = None
scale_8 class-attribute instance-attribute
scale_8: WindScale8 | None = None
Avg2

Bases: FrozenModel

degree class-attribute instance-attribute
degree: int | None = None
scale_8 class-attribute instance-attribute
scale_8: WindScale8 | None = None
Direction

Bases: FrozenModel

max instance-attribute
max: Max4
min instance-attribute
min: Min4
avg instance-attribute
avg: Avg2
Wind

Bases: FrozenModel

speed instance-attribute
speed: Speed
direction instance-attribute
direction: Direction
ModelItem

Bases: FrozenModel

precipitation instance-attribute
precipitation: Precipitation
pressure instance-attribute
pressure: Pressure
humidity instance-attribute
humidity: Humidity
gm instance-attribute
description instance-attribute
description: Description
cloudiness instance-attribute
cloudiness: Cloudiness
date instance-attribute
date: Date
phenomenon class-attribute instance-attribute
phenomenon: int | None = None
radiation instance-attribute
radiation: Radiation
city instance-attribute
city: int
kind class-attribute instance-attribute
kind: WeatherDataType | None = None
storm instance-attribute
storm: bool
temperature instance-attribute
temperature: Temperature
wind instance-attribute
wind: Wind
icon instance-attribute
icon: str

step3

Model module-attribute
Model: TypeAlias = tuple[ModelItem, ...]
Precipitation

Bases: FrozenModel

type_ext class-attribute instance-attribute
type_ext: int | None = None
intensity instance-attribute
correction class-attribute instance-attribute
correction: bool | None = None
amount class-attribute instance-attribute
amount: float | None = None
duration instance-attribute
duration: int
type instance-attribute
Pressure

Bases: FrozenModel

h_pa instance-attribute
h_pa: int
mm_hg_atm instance-attribute
mm_hg_atm: int
in_hg instance-attribute
in_hg: float
Humidity

Bases: FrozenModel

percent class-attribute instance-attribute
percent: int | None = None
Direction

Bases: FrozenModel

degree class-attribute instance-attribute
degree: int | None = None
scale_8 class-attribute instance-attribute
scale_8: WindScale8 | None = None
Speed

Bases: FrozenModel

km_h instance-attribute
km_h: int
m_s instance-attribute
m_s: int
mi_h instance-attribute
mi_h: int
Wind

Bases: FrozenModel

direction instance-attribute
direction: Direction
speed instance-attribute
speed: Speed
Cloudiness

Bases: FrozenModel

type instance-attribute
percent instance-attribute
percent: int
Date

Bases: FrozenModel

utc class-attribute instance-attribute
utc: str = Field(alias='UTC')
time_zone_offset instance-attribute
time_zone_offset: int
local instance-attribute
local: str
hr_to_forecast class-attribute instance-attribute
hr_to_forecast: int | None = None
unix instance-attribute
unix: int
Radiation

Bases: FrozenModel

uvb_index class-attribute instance-attribute
uvb_index: int | None = None
uvb class-attribute instance-attribute
uvb: int = Field(alias='UVB')
Comfort

Bases: FrozenModel

c class-attribute instance-attribute
c: float = Field(alias='C')
f class-attribute instance-attribute
f: float = Field(alias='F')
Water

Bases: FrozenModel

c class-attribute instance-attribute
c: float = Field(alias='C')
f class-attribute instance-attribute
f: float = Field(alias='F')
Air

Bases: FrozenModel

c class-attribute instance-attribute
c: float = Field(alias='C')
f class-attribute instance-attribute
f: float = Field(alias='F')
Temperature

Bases: FrozenModel

comfort instance-attribute
comfort: Comfort
water instance-attribute
water: Water
air instance-attribute
air: Air
Description

Bases: FrozenModel

full instance-attribute
full: str
ModelItem

Bases: FrozenModel

precipitation instance-attribute
precipitation: Precipitation
pressure instance-attribute
pressure: Pressure
humidity instance-attribute
humidity: Humidity
icon instance-attribute
icon: str
gm instance-attribute
wind instance-attribute
wind: Wind
cloudiness instance-attribute
cloudiness: Cloudiness
date instance-attribute
date: Date
phenomenon class-attribute instance-attribute
phenomenon: int | None = None
radiation instance-attribute
radiation: Radiation
city instance-attribute
city: int
kind instance-attribute
storm instance-attribute
storm: bool
temperature instance-attribute
temperature: Temperature
description instance-attribute
description: Description

step6

Model module-attribute
Model: TypeAlias = tuple[ModelItem, ...]
Precipitation

Bases: FrozenModel

type_ext class-attribute instance-attribute
type_ext: int | None = None
intensity instance-attribute
correction class-attribute instance-attribute
correction: bool | None = None
amount class-attribute instance-attribute
amount: float | None = None
duration instance-attribute
duration: int
type instance-attribute
Pressure

Bases: FrozenModel

h_pa instance-attribute
h_pa: int
mm_hg_atm instance-attribute
mm_hg_atm: int
in_hg instance-attribute
in_hg: float
Humidity

Bases: FrozenModel

percent class-attribute instance-attribute
percent: int | None = None
Direction

Bases: FrozenModel

degree class-attribute instance-attribute
degree: int | None = None
scale_8 class-attribute instance-attribute
scale_8: WindScale8 | None = None
Speed

Bases: FrozenModel

km_h instance-attribute
km_h: int
m_s instance-attribute
m_s: int
mi_h instance-attribute
mi_h: int
Wind

Bases: FrozenModel

direction instance-attribute
direction: Direction
speed instance-attribute
speed: Speed
Cloudiness

Bases: FrozenModel

type instance-attribute
percent instance-attribute
percent: int
Date

Bases: FrozenModel

utc class-attribute instance-attribute
utc: str = Field(alias='UTC')
time_zone_offset instance-attribute
time_zone_offset: int
local instance-attribute
local: str
hr_to_forecast class-attribute instance-attribute
hr_to_forecast: int | None = None
unix instance-attribute
unix: int
Radiation

Bases: FrozenModel

uvb_index class-attribute instance-attribute
uvb_index: int | None = None
uvb class-attribute instance-attribute
uvb: int = Field(alias='UVB')
Comfort

Bases: FrozenModel

c class-attribute instance-attribute
c: float = Field(alias='C')
f class-attribute instance-attribute
f: float = Field(alias='F')
Water

Bases: FrozenModel

c class-attribute instance-attribute
c: float = Field(alias='C')
f class-attribute instance-attribute
f: float = Field(alias='F')
Air

Bases: FrozenModel

c class-attribute instance-attribute
c: float = Field(alias='C')
f class-attribute instance-attribute
f: float = Field(alias='F')
Temperature

Bases: FrozenModel

comfort instance-attribute
comfort: Comfort
water instance-attribute
water: Water
air instance-attribute
air: Air
Description

Bases: FrozenModel

full instance-attribute
full: str
ModelItem

Bases: FrozenModel

precipitation instance-attribute
precipitation: Precipitation
pressure instance-attribute
pressure: Pressure
humidity instance-attribute
humidity: Humidity
icon instance-attribute
icon: str
gm instance-attribute
wind instance-attribute
wind: Wind
cloudiness instance-attribute
cloudiness: Cloudiness
date instance-attribute
date: Date
phenomenon class-attribute instance-attribute
phenomenon: int | None = None
radiation instance-attribute
radiation: Radiation
city instance-attribute
city: int
kind instance-attribute
storm instance-attribute
storm: bool
temperature instance-attribute
temperature: Temperature
description instance-attribute
description: Description

types

Может пригодиться для типизации кода, использующего библиотеку.

Latitude module-attribute

Latitude: TypeAlias = Annotated[
    int | float, Field(ge=-90, le=90)
]

Широта.

LocalityID module-attribute

LocalityID: TypeAlias = Annotated[int, Field(ge=1)]

ID географического объекта.

Longitude module-attribute

Longitude: TypeAlias = Annotated[
    int | float, Field(ge=-180, le=180)
]

Долгота.

SearchLimit module-attribute

SearchLimit: TypeAlias = Annotated[int, Field(ge=1, le=36)]

Ограничение количества географических объектов у поиска по координатам.

Step3Days module-attribute

Step3Days: TypeAlias = Annotated[int, Field(ge=1, le=10)]

Количество дней у погоды с шагом 3 часа.

Step6Days module-attribute

Step6Days: TypeAlias = Annotated[int, Field(ge=3, le=10)]

Количество дней у погоды с шагом 6 часов.

Step24Days module-attribute

Step24Days: TypeAlias = Annotated[int, Field(ge=3, le=10)]

Количество дней у погоды с шагом 24 часа.

Lang

Bases: StrEnum

Поддерживаемые Gismeteo API языки.

RU class-attribute instance-attribute
RU = 'ru'
EN class-attribute instance-attribute
EN = 'en'
UA class-attribute instance-attribute
UA = 'ua'
LT class-attribute instance-attribute
LT = 'lt'
LV class-attribute instance-attribute
LV = 'lv'
PL class-attribute instance-attribute
PL = 'pl'
RO class-attribute instance-attribute
RO = 'ro'

Current

Current(session: THttpClient)

Bases: CurrentBase[HttpxClient]

Текущая погода.

by_coordinates
by_coordinates(
    latitude: Latitude, longitude: Longitude
) -> Model

По координатам.

Parameters:

Examples:

current = gismeteo.current.by_coordinates(55.75222, 37.61556)
print(current)
by_id
by_id(id_: LocalityID) -> Model

По ID географического объекта.

Parameters:

  • id_
    (LocalityID) –

    ID географического объекта. Получить можно через поиск.

Examples:

search_results = gismeteo.search.by_query("Москва")
city_id = search_results[0].id
current = gismeteo.current.by_id(city_id)
print(current)

Search

Search(session: THttpClient)

Bases: SearchBase[HttpxClient]

Поиск.

by_coordinates
by_coordinates(
    latitude: Latitude,
    longitude: Longitude,
    *,
    limit: SearchLimit,
) -> Model

По координатам.

Parameters:

  • latitude
    (Latitude) –

    Широта.

  • longitude
    (Longitude) –

    Долгота.

  • limit
    (SearchLimit) –

    Ограничение количества результатов.

Examples:

search_results = gismeteo.search.by_coordinates(
    55.75222, 37.61556, limit=36
)
print(search_results)
by_ip
by_ip(ip: IPv4Address) -> Model

По IPv4-адресу.

Parameters:

Examples:

from ipaddress import IPv4Address

search_results = gismeteo.search.by_ip(IPv4Address("8.8.8.8"))
print(search_results)
by_query
by_query(query: str) -> Model

По строке.

Parameters:

  • query
    (str) –

    Город, район, область, страна или аэропорт.

Examples:

search_results = gismeteo.search.by_query("Москва")
print(search_results)

Step3

Step3(session: THttpClient)

Bases: Step3Base[HttpxClient]

Погода с шагом 3 часа.

by_coordinates
by_coordinates(
    latitude: Latitude,
    longitude: Longitude,
    *,
    days: Step3Days,
) -> Model

По координатам.

Parameters:

Examples:

step3 = gismeteo.step3.by_coordinates(55.75222, 37.61556, days=10)
print(step3)
by_id
by_id(id_: LocalityID, /, *, days: Step3Days) -> Model

По ID географического объекта.

Parameters:

  • id_
    (LocalityID) –

    ID географического объекта. Получить можно через поиск.

  • days
    (Step3Days) –

    Количество дней.

Examples:

search_results = gismeteo.search.by_query("Москва")
city_id = search_results[0].id
step3 = gismeteo.step3.by_id(city_id, days=10)
print(step3)

Step6

Step6(session: THttpClient)

Bases: Step6Base[HttpxClient]

Погода с шагом 6 часов.

by_coordinates
by_coordinates(
    latitude: Latitude,
    longitude: Longitude,
    *,
    days: Step6Days,
) -> Model

По координатам.

Parameters:

Examples:

step6 = gismeteo.step6.by_coordinates(55.75222, 37.61556, days=10)
print(step6)
by_id
by_id(id_: LocalityID, /, *, days: Step6Days) -> Model

По ID географического объекта.

Parameters:

  • id_
    (LocalityID) –

    ID географического объекта. Получить можно через поиск.

  • days
    (Step6Days) –

    Количество дней.

Examples:

search_results = gismeteo.search.by_query("Москва")
city_id = search_results[0].id
step6 = gismeteo.step6.by_id(city_id, days=10)
print(step6)

Step24

Step24(session: THttpClient)

Bases: Step24Base[HttpxClient]

Погода с шагом 24 часа.

by_coordinates
by_coordinates(
    latitude: Latitude,
    longitude: Longitude,
    *,
    days: Step24Days,
) -> Model

По координатам.

Parameters:

Examples:

step24 = gismeteo.step24.by_coordinates(55.75222, 37.61556, days=10)
print(step24)
by_id
by_id(id_: LocalityID, /, *, days: Step24Days) -> Model

По ID географического объекта.

Parameters:

  • id_
    (LocalityID) –

    ID географического объекта. Получить можно через поиск.

  • days
    (Step24Days) –

    Количество дней.

Examples:

search_results = gismeteo.search.by_query("Москва")
city_id = search_results[0].id
step24 = gismeteo.step24.by_id(city_id, days=10)
print(step24)