Прогноз погоды — FastAPI Web App
Это веб-приложение позволяет пользователю ввести название города и получить актуальный прогноз погоды на 5 дней. Используется API от https://openweathermap.org/api. Реализована автоподстановка городов при вводе.
Что реализовано:
- Прогноз погоды на 5 дней по городу
- Подсказки городов при вводе
- Обработка ошибок (неверный город, недоступный API)
Используемые технологии
- FastAPI — асинхронный Python-фреймворк для веб-приложений
- Jinja2 — шаблонизатор HTML
- httpx — асинхронные HTTP-запросы к OpenWeather API
- JavaScript (Vanilla) — автоподсказки при вводе города
- HTML + CSS — интерфейс
- Pytest — модульное тестирование
- OpenWeatherMap API — источник данных о погоде
Как запустить проект
-
Клонировать репозиторий
-
Установить зависимости pip install -r requirements.txt
-
Получить API-ключ
- Зарегистрироваться на openweathermap.org
- Перейти в API Keys
- Создать новый ключ
- Добавить в файл .env в корень проекта: OPENWEATHER_API_KEY=ваш_ключ
- Запустить сервер uvicorn main:app --reload
Перейти в браузере по адресу: http://127.0.0.1:8000
Как запустить тестрование
- pytest или python -m pytest [...]
Автозаполнение городов работает ТОЛЬКО на английском языке ( сайт источник - https://openweathermap.org/api англоязычный ) Можно при проверке использовать Moscow Saint Petersburg Saratov