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 для запуска (требуется лишь интерпретатор, все зависимости он хранит в себе)
- поместить исполняемый файл в
/usr/local/bin - запускать командой
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb36287d7c05efb69baab82f293722acdd23fa7b0d66ca57cb2ee1746d954069
|
|
| MD5 |
dc2c2611fe4b1270a7122969ec7ea763
|
|
| BLAKE2b-256 |
9c06bd63c1dda7734d5e8f0df052a21aeede2d048ef3ed9ee141a7b6cf690d21
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b202ccdce532e8a17cbdc56da0d757d8011e00006ab7a1bccfef7dd54e9bd47
|
|
| MD5 |
f46800cf9804d19b74041d97f7b4954e
|
|
| BLAKE2b-256 |
f5ecf4bee62b71c4194be61cc19db9d3b2211c66c5fcce3f02e4e0ab8c4c5c6f
|