7 лучших CLI-библиотек Python в 2023 году

Народная мудрость гласит: “Зачем изобретать колесо?”. Библиотеки  —  лучшее тому подтверждение. Они помогают просто написать сложную и трудоемкую функциональность. На мой взгляд, лучшие проекты создаются с помощью лучших из доступных библиотек.

Не думаю, что Python нуждается в представлении. Это один из самых используемых и универсальных языков программирования. Собранные здесь 7 полезных CLI-библиотек Python помогут вам в разработке проектов.


1. Typer

Это одна из самых популярных библиотек на GitHub с более чем 10,5 тыс. звезд. Она поможет легко разрабатывать CLI-приложения, которые понравятся пользователям. Typer предоставляет простой способ создания CLI-приложений на Python благодаря автоматической справке, автоматическому заполнению и преобразованию входных и выходных данных. Эта библиотека поддерживает различные типы и стили команд и аргументов. Ознакомьтесь с Typer здесь.

2. Click

Эта библиотека помогает создавать интерфейсы командной строки компонуемым способом с минимальным количеством кода. Название “Click” расшифровывается как “command line interface creation kit” (набор для создания интерфейса командной строки).

Click отличается гибкой конфигурацией и поставляется с хорошими настройками по умолчанию. Этот модуль способен сделать процесс написания инструментов командной строки быстрым и увлекательным, а также предотвратить разочарование, вызванное невозможностью реализовать задуманный API CLI. На GitHub у Click более 13,5 тыс. звезд. Вы можете ознакомиться с этой библиотекой здесь.

3. Fire

Эта библиотека от Google предназначена для автоматической генерации интерфейсов командной строки из абсолютно любого объекта Python. Она предоставляет много возможностей, таких как инструмент для разработки и отладки кода Python, изучение существующего кода и превращение чужого кода в CLI, облегчение перехода между Bash и Python и многое другое. На GitHub у нее более 24 тыс. звезд. Вы можете ознакомиться с этой библиотекой здесь.

4. Tqdm

Отображение индикатора выполнения при загрузке данных  —  один из распространенных способов создания хорошего пользовательского опыта. Эта библиотека предоставляет быстрый, расширяемый индикатор выполнения для Python и CLI. Tqdm использует умные алгоритмы для предсказания оставшегося времени и пропуска ненужных показов итераций, что позволяет в большинстве случаев снизить накладные расходы. На GitHub у нее более 24,5 тыс. звезд. Ознакомиться с этой библиотекой можно здесь.

5. Plumbum

Вы когда-нибудь мечтали о том, чтобы компактность скриптов оболочки была воплощена в реальном языке программирования? Эта библиотека поможет осуществить вашу мечту. Помимо оболочкоподобного синтаксиса и удобных шорткатов, библиотека обеспечивает локальное и удаленное выполнение команд (через SSH), локальные и удаленные пути к файловой системе, упрощенное управление рабочим каталогом и средой, а также набор инструментов для программирования CLI. Она имеет более 2,5 тыс. звезд на GitHub. Вы можете ознакомиться с этой библиотекой здесь.

6. Argcomplete

Кажется, все предпочитают автозаполнение. Это упрощает жизнь. Библиотека Argcomplete предоставляет возможность добавить заполнение вкладок в приложения CLI с автоматической генерацией скриптов завершения и хуков для различных оболочек. Она поддерживает различные режимы и конфигурации. Это особенно полезно, если программа обладает множеством опций или подпарсеров и может динамически предлагать завершения для значений аргументов/опций (например, когда пользователь просматривает ресурсы в сети). У библиотеки более 1 тыс. звезд на GitHub. Ознакомьтесь с ней здесь.

7. Termgraph

Если нужно создавать ASCII-графику и диаграммы в CLI-приложении, то Termgraph  —  подходящий для этого ресурс. Как вы уже догадались, он предоставляет возможность создания ASCII-графов и диаграмм с различными типами и стилями графики и форматами данных. Termgraph поддерживает гистограммы, цветные диаграммы, эмодзи и другие типы графики. У этой библиотеки более 3 тыс. звезд на GitHub. Ознакомиться с ней можно здесь.

Читайте также:

Читайте нас в Telegram, VK и Дзен


Перевод статьи Farhan Tanvir: 7 Best Python CLI library You Should Know in 2023

Предыдущая статьяПочему стоит задуматься о разработке статических сайтов
Следующая статьяРазделение пользовательского интерфейса и логики в React: чистый код с безголовыми компонентами