Создание инструмента командной... Заметка
DEV Community на русском

Создание инструмента командной строки с помощью Python (Click)

Этот материал описывает Penny — простой трекер расходов в командной строке, созданный на Python с использованием библиотеки Click. Penny позволяет пользователям добавлять, перечислять, суммировать и очищать расходы непосредственно из терминала, без необходимости веб-интерфейса или базы данных. Автор выбрал Click вместо встроенного в Python argparse из-за его более интуитивного подхода, основанного на декораторах, для определения команд и опций.Проект состоит из трех основных файлов: commands.py для логики отдельных команд, penny.py для группировки этих команд в единый инструмент командной строки и pyproject.toml для упаковки и определения точки входа. Penny хранит данные о расходах в обычном JSON-файле с именем expenses.json, читая и записывая в него при каждой операции. Команда add создает JSON-файл, если он не существует, добавляет новые расходы и сохраняет обновленный список, предоставляя цветное подтверждение.Команда list отображает сохраненные расходы в табличном формате, выдавая предупреждение, если расходы не найдены. Команда summary вычисляет и выводит общие суммы расходов по категориям и общую сумму, представляя результаты в виде отформатированного JSON. Команда clear включает запрос подтверждения перед перезаписью файла expenses.json пустым списком.Файл penny.py использует функциональность группировки Click для объединения всех команд под единым исполняемым файлом penny. Файл pyproject.toml настраивает эту группировку, делая Penny глобально устанавливаемым инструментом командной строки через pip install .. Автор подчеркивает преимущества декларативного стиля Click, пригодность JSON для простого хранения данных, важность мелких деталей пользовательского опыта и то, как группировка команд превращает скрипт в отточенное приложение командной строки.