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

Создайте приложение командной строки, которое использует общедоступный API — вот как!

Краткое руководство по созданию приложения командной строки, использующего общедоступный API.

Автор оригинала: Edmond B. Atto.

Приложение командной строки, как следует из названия, представляет собой исполняемый файл, который запускается в консоли/оболочке (терминал на Mac и cmd на Windows). Существует большая вероятность, что вы уже использовали одно из этих приложений раньше; существует множество приложений командной строки, таких как pip, curl, git и Grep. Как правило, приложение командной строки будет иметь подкоманды (аргументы) и параметры, называемые переключателями.

Все, что вам нужно, чтобы начать работу

  1. Виртуальная среда (virtualenv) Работа с виртуальными средами-это привычка, в которую вы должны войти как можно скорее. Virtualenv отлично справляются с изоляцией различных проектов, над которыми вы, возможно, работаете. Virtualenv-это в основном изолированная копия python и всех библиотек, которые вам могут понадобиться для запуска конкретного проекта, и он сохраняет все зависимости всех ваших проектов независимыми друг от друга, чтобы они не ломались из-за проблем обратной совместимости или конфликтующих зависимостей. Чтобы начать работу с virtualenv, используйте pip для его установки. В качестве альтернативы, если вы используете Pycharm (что удивительно!) В качестве идеи, вы защищены, поскольку он поставляется с virtualenv. Вы можете создать virtualenv либо во время создания проекта, либо позже с помощью настроек интерпретатора проекта.
  2. Библиотека синтаксического анализа командной строки Мне нравится думать об этом как о фреймворках; их множество (например, Clint, docopt, cliff, click…), Но у меня почти не было времени, чтобы изучить их, и у меня нет прочной основы для сравнения. Таким образом, в этой статье я буду говорить исключительно о Click (созданном Армином Ронахером), поскольку это то, что я использовал для создания своего приложения командной строки. Click имеет отличную документацию, а также исчерпывающее видео учебное пособие, которое поможет вам начать работу менее чем за 5 минут. Я определенно буду использовать Click гораздо больше в будущем; Я обязательно задокументирую любые открытия, которые я могу сделать. Я рекомендую вам изучить множество других библиотек синтаксического анализа и принять обоснованное решение, основанное на вашем проекте и его потребностях.
  3. Библиотека запросов Python Для того, чтобы ваше приложение использовало данные из общедоступного API, вам нужно, ну, найти общедоступный API. Быстрый поиск в Google должен сделать трюк, но вы можете проверить OpenWeatherMap и News API . Теперь вам нужен способ запросить API для данных (скорее всего, в формате json или xml), где пригодится библиотека запросов с соответствующим именем. Выполните команду pip install requests в выбранной вами оболочке, чтобы установить библиотеку. Это документация дает вам представление обо всем, чего вы можете достичь с помощью этой библиотеки. По моему опыту, анализ json из общедоступного API с использованием библиотеки запросов не должен занимать у вас более трех строк кода для базового случая.
  4. Requirements.txt файл Вам это не понадобится для создания приложения CLI, и вам, вероятно, не понадобится создавать одно из них в течение некоторого времени, по крайней мере, до тех пор, пока вы создаете практические приложения. А requirements.txt файл-это текстовый файл со списком пакетов, от которых зависит ваше приложение (зависимостей) в данный момент времени. Различные пакеты написаны так;.7, каждый в своей собственной строке. Какой смысл иметь файлы требований, спросите вы, ну, они действительно вступают в свои права, когда вы начинаете распространять свое приложение среди других людей. Файл требований гарантирует, что ваш исполняемый файл установлен вместе со всеми зависимостями, необходимыми для работы. Приложения могут расти до нескольких каталогов, тысяч строк кода и тонн зависимостей; поэтому очень здорово, что вам не нужно вручную создавать файл требований. Запуск pip freeze > requirements.txt и файл требований будет создан в текущем рабочем каталоге.

То, что я построил

Приложение, которое я построил (Vortex), извлекает и анализирует json из News API и обрабатывает его в форматированный вывод, показывающий список последних новостных статей, их авторов и описания. Конечно, это довольно просто и может потребовать тонны оптимизации, но сегодня я сделал первый шаг, и я сделаю еще много таких шагов.

Вот ссылка на публичное репозиторий Github для первого приложения, которое я создал

По мере того как я использую все больше и больше возможностей Click, чтобы сделать приложение более разнообразным и дать больше контроля пользователю, я поделюсь основными моментами этого путешествия.

Если вы нашли эту статью хоть немного полезной, нажмите кнопку “Сердце” и помогите мне донести ее до большего числа людей, которым нужна помощь в начале работы с приложениями CLI. Я в Твиттере ( @Edmonton ), если у вас есть какие-либо вопросы.