/forecasting-weather-project

forecasting-weather-project (Процессы и потоки). Приложение написано в качестве учебного проекта.

Primary LanguagePythonMIT LicenseMIT

forecasting-weather-project (Процессы и потоки)

Приложение написано в качестве учебного проекта.

Поставленная задача:

Проанализировать данные по погодным условиям, взяв их от API Яндекс Погоды.

1. Получить информацию о погодных условиях для указанного списка городов, используя API Яндекс Погоды.

Список городов находится в переменной `CITIES` в файле utils.py. Для взаимодействия с API использован класс `YandexWeatherAPI` в модуле `api_client.py`.

2. Вычислить среднюю температуру и проанализируйте информацию об осадках за указанный период для всех городов.

Условия и требования:

- период вычислений в течение дня — с 9 до 19 часов;
- средняя температура рассчитывается за указанный промежуток времени;
- сумма времени (часов), когда погода без осадков (без дождя, снега, града или грозы), рассчитывается за указанный промежуток времени;
- информация о температуре для указанного дня за определённый час находится по следующему пути: `forecasts> [день]> hours> temp`;
- информация об осадках для указанного дня за определённый час находится по следующему пути: `forecasts> [день]> hours> condition`.

3. Объединить полученные данные и сохраните результат в текстовом файле.

Формат сохраняемого файла - **csv**.

4. Проанализировать результат и сделать вывод, какой из городов наиболее благоприятен для поездки.

Наиболее благоприятным городом считать тот, в котором средняя температура за всё время была самой высокой, а количество времени без осадков — максимальным.
Если таких городов более одного, то выводить все.

Стек

  • Python 3.10

Запуск

  • Установите зависимости poetry install
  • Запустите файл forecasting.py

Тестирование

  • Запустите файл api_test.py