Командная утилита для получения текущей погоды в любом месте.
- Typer — для создания удобного интерфейса командной строки (CLI). Позволяет легко определять аргументы и опции (например, название места и тип прогноза), автоматически генерирует подсказки и обрабатывает ввод пользователя.
- Niquests — современный HTTP-клиент (форк
requests). Используется для отправки запросов к Nominatim и Open-Meteo и получения данных о месте и погоде, соответственно. - Pydantic — для валидации и парсинга данных. С его помощью мы определяем структуру ответа API и автоматически преобразуем JSON в удобные объекты Python с проверкой типов.
- Nominatim — геокодирование координат
- Open-Meteo — получение прогноза по координатам
- Nominatim — Максимум 1 запрос в секунду
- Open-Meteo — Не более 10,000 запросов в день, 5,000 в час и 600 в минуту
Возможные команды weather-cli можно увидеть прописав --help, так же можно использовать --help и у отдельных команд, чтобы увидеть их описание
wthr --helpДоступные команды:
- weather – Показать прогноз погоды для указанного места.
- set – Сохранить место в конфиг, чтобы в дальнейшем автоматически использовать его для получения погоды
- get – Проверить текущее место в конфиге
- clear – Очистить конфиг и кеш
Также доступно использование просто wthr
Выбрать подходящую версию из релизов
- wthr — самодостаточный исполняемый файл
- whtr.pyz — исполняемый файл, который требует установленный python для запуска (требуется лишь интерпретатор, все зависимости он хранит в себе)
- поместить исполняемый файл в
/usr/local/bin - запускать командой
wthr/wthr.pyz
pip install wthrclipython -m wthr
wthrСоздание и активация виртуального окружения python, установка зависимостей для сборки
make setupСборка исполняемых файлов
make build
make build-dist # wheel
make build-exe # самодостаточный
make build-shiv # файл .pyzРезультат сборки лежит в папке /dist