Skip to content

Repository files navigation

✨⛅ weather-cli

Командная утилита для получения текущей погоды в любом месте.

📋 Содержание

🛠 Технологический стек

  • Typer — для создания удобного интерфейса командной строки (CLI). Позволяет легко определять аргументы и опции (например, название места и тип прогноза), автоматически генерирует подсказки и обрабатывает ввод пользователя.
  • Niquests — современный HTTP-клиент (форк requests). Используется для отправки запросов к Nominatim и Open-Meteo и получения данных о месте и погоде, соответственно.
  • Pydantic — для валидации и парсинга данных. С его помощью мы определяем структуру ответа API и автоматически преобразуем JSON в удобные объекты Python с проверкой типов.

🌐 Используемые API

  • Nominatim — геокодирование координат
  • Open-Meteo — получение прогноза по координатам

⚠️ Ограничения API

  • Nominatim — Максимум 1 запрос в секунду
  • Open-Meteo — Не более 10,000 запросов в день, 5,000 в час и 600 в минуту

🔮 Использование

Возможные команды weather-cli можно увидеть прописав --help, так же можно использовать --help и у отдельных команд, чтобы увидеть их описание

wthr --help

Доступные команды:

  • weather – Показать прогноз погоды для указанного места.
  • set – Сохранить место в конфиг, чтобы в дальнейшем автоматически использовать его для получения погоды
  • get – Проверить текущее место в конфиге
  • clear – Очистить конфиг и кеш

Также доступно использование просто wthr

Использование исполняемого файла на linux

Выбрать подходящую версию из релизов

  • wthr — самодостаточный исполняемый файл
  • whtr.pyz — исполняемый файл, который требует установленный python для запуска (требуется лишь интерпретатор, все зависимости он хранит в себе)
  1. поместить исполняемый файл в /usr/local/bin
  2. запускать командой wthr / wthr.pyz

Установка через pip

pip install wthrcli
python -m wthr
wthr

🏗️ Сборка

Сборка под linux

Создание и активация виртуального окружения python, установка зависимостей для сборки

make setup

Сборка исполняемых файлов

make build
make build-dist # wheel
make build-exe # самодостаточный
make build-shiv # файл .pyz

Результат сборки лежит в папке /dist

About

A smart CLI weather tool: no coordinates needed, just name your location and go

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages