✨⛅ 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
Установка через 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
Metadata
Release files for wthrcli 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wthrcli-1.0.2.tar.gz | 15.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wthrcli-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.4 kB
Release files / wthrcli-1.0.2.tar.gz
| Download URL | wthrcli-1.0.2.tar.gz |
|---|---|
| Size | 15.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a198c33a4cc490f28f21998e12cce069eb99e635b3daed49823db0bd96d01024
|
|
BLAKE2b-256 checksum How to use checksums |
809cd98a2e00453fae5e8aa174fbfecef5ecabb411b36900aa98fa3b3f18e80f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / wthrcli-1.0.2-py3-none-any.whl
| Download URL | wthrcli-1.0.2-py3-none-any.whl |
|---|---|
| Size | 17.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
87b6b4cbb10e6438203d54dae501ad761004274fe142af22ed360a965090b471
|
|
BLAKE2b-256 checksum How to use checksums |
2952c6b56703ecbe04b73519529082056e0e2bacea2b78c7c399af18b7fae98b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|