Рубрики
Без рубрики

✨ Shtab: предоставить автозаполнение для вашего приложения Python

SHTAB – волшебный автозаполненный генератор сценария для приложений Python! Он работает с Argparse, Docopt и Argopt для создания сценариев для Bash и ZSH. Мы реализовали и использовали это для DVCCORT на некоторое время и реализовали, что это может быть ценно для всей экосистемы приложений Python CLI. Теги с ShowDev, Python, производительностью, учебником.

Я считаю, что большинство людей написали приложение/инструмент Bash или Python, который работает из командной строки терминала, чтобы сделать некоторые полезные вещи . Эти программы обычно принимают некоторые параметры и варианты. И это действительно круто, когда вы можете нажать Вкладка Клавиша и получите список параметров. Команда ожидает:

$ git ch
...
checkout         -- checkout branch or paths to working tree
checkout-index   -- copy files from index to working directory

🦾 Похоже, незначительная вещь, но она значительно повышает вашу производительность! Достаточно для поискового запроса Производительность клеммы автозаполнения генерировать почти миллион результатов.

Итак, как вы можете сделать то же магию для вашего приложения Python?

Самый простой ответ – Shtab – Библиотека Python, которая может проанализировать ваш код и генерировать необходимые файлы для башмак или ZSH Shell, чтобы придать ваши инструменты ту же мощную функциональность💥.

Этот инструмент был создан Каспер автоматизировать обслуживание DVC проект:

😱 Каждый раз, когда добавлена новая функция, сопровождающие и вкладчики должны обновлять сценарии завершения вкладки для нескольких поддерживаемых оболочек. В лучшем случае это боль, а в худшем случае, подвержена ошибкам.

Хорошо, достаточно разговоров, давайте увидимся в действии 🎥.

Для приложения Python CLI с использованием argparse , докопт или argopt Просто передайте свой объект парсера к штаб (либо через CLI или API Python API), и сценарий завершения вкладки будет сгенерирован для вашей предпочтительной оболочки. Это так просто, как:

$ shtab --shell=bash myprogram.main.parser

или в Python:

import shtab
print(shtab.complete(parser, shell="bash"))

Вот как Git для данных В Termine выглядит когда завершение установлено:

% dvc 
Completing dvc commands
add         -- Track data files or directories with DVC.
cache       -- Manage cache settings.
checkout    -- Checkout data files from cache.
commit      -- Save changed data to cache and update DVC-files.
completion  -- Prints out shell tab completion scripts.
At Top: Hit TAB for more, or the character to insert

Я надеюсь, что вы найдете его полезным, и этот lib сэкономит вам некоторое время! Как обычно, дайте проекту A ⭐️, чтобы поблагодарить Автор и Добро пожаловать в трекер или комментарии Office 👇 Если у вас есть какие-либо вопросы.

Оригинал: “https://dev.to/shcheklein/shtab-provide-autocomplete-for-your-python-app-3npd”