Чтобы создать полноценное приложение, мало его спроектировать и написать, требуется ещё и оформить его в пакет, тем самым выдав билет в жизнь.
Оформление приложения в пакет обычно сводится к созданию определённой структуры файлов и директорий в соответствии с документацией по модулю distutils (или краткой выдержкой вроде этой).

По большому счёту, основой пакета является единственный файл — setup.py — так что можно обойтись только им, однако, многие приложения идут дальше, дополняя пакет файлами README, AUTHORS, LICENSE, MANIFEST.in, документацией и прочим.

Нетрудно заменить, что воссоздание такого файлового скелета для каждого нового приложения — дело довольно скучное, а потому для автоматизации этого процесса можно воспользоваться консольным приложением makeapp.

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

Пример вызова makeapp в интерактивном режиме (ключ *-i*):

  $ makeapp myapp /home/librarian/dev/mapp_here/ -i -d "My application." --author "The Librarian"

Используя различные ключи, вы можете настраивать поведение утилиты: указывать тип лицензии, вид используемой системы контроля версий, целевую версию Питона и т.п. Справка по поддерживаемым ключам вызывается стандартно:

  $ makeapp --help

Чтобы каждый раз не возиться с ключами, можно создать конфигурационный файл, откуда впредь будут браться настройки. Для примера создадим в нашей домашней директории скрытую директорию .makeapp, а в ней файл конфигурации makeapp.conf):

[settings]
author = The Librarian
author_email = librarian@discworld.wrld
license = bsd3cl
url = https://discworld.wrld/lib/{{app_name}}
vcs=git

В комплекте с makeapp на данный момент кроме базового скелета приложений идут два дополнительных: 1. скелет консольного приложения; 2. скелет приложения для Django. Кроме того, вы можете создавать и собственные скелеты. Указать какой скелет следует использовать можно при помощи ключа -t:

  $ makeapp myapp /home/librarian/dev/mapp_here/ -d "My Django application." -t django

Утилита также формирует и скелет документации Sphinx, ведь документация — чуть ли не важнейшая часть вашего приложения: без неё приложению очень проблематично отыскать своего адресата.

Когда скелет создан, остаётся по мере необходимости вносить в полученные файлы изменения, характерные для конкретного проекта. А когда приложение будет готово, не забудьте зарегистрировать и выложить пакет на PyPI:

  $ python setup.py register
$ python setup.py sdist upload

Вот таким нехитрым способом можно облегчить себе жизнь при создании пакетов приложений.

Создавайте приложения. Автоматизируйте рутинные операции.

Категории

Язык
Платформа
Проект

На заметку
В разделе «События» можно узнать о надвигающихся событиях мира Python, а также поделиться своими. Если вы являетесь организатором встречи/конференции/спринта, зарегистрируйте это событие в указанном разделе, чтобы о нём узнали все желающие.