Skip to main content

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

Project description

✨⛅ 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

Использование python для запуска

Сборка

Сборка под linux

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

python -m venv .venv
source .venv/bin/activate

Установка зависимостей для сборки

pip install -r requirements-build.txt

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

sh build.sh # самодостаточный
sh build_shiv.sh # файл .pyz

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wthrcli-1.0.1.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wthrcli-1.0.1-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file wthrcli-1.0.1.tar.gz.

File metadata

  • Download URL: wthrcli-1.0.1.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for wthrcli-1.0.1.tar.gz
Algorithm Hash digest
SHA256 eb36287d7c05efb69baab82f293722acdd23fa7b0d66ca57cb2ee1746d954069
MD5 dc2c2611fe4b1270a7122969ec7ea763
BLAKE2b-256 9c06bd63c1dda7734d5e8f0df052a21aeede2d048ef3ed9ee141a7b6cf690d21

See more details on using hashes here.

File details

Details for the file wthrcli-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: wthrcli-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 17.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for wthrcli-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9b202ccdce532e8a17cbdc56da0d757d8011e00006ab7a1bccfef7dd54e9bd47
MD5 f46800cf9804d19b74041d97f7b4954e
BLAKE2b-256 f5ecf4bee62b71c4194be61cc19db9d3b2211c66c5fcce3f02e4e0ab8c4c5c6f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page