Skip to main content

Simplifies Python application rollout and publishing.

Project description

release lic ci coverage


Simplifies Python application rollout and publishing.

  • Make a skeleton for your new application with one console command.

  • Automatically create a VCS repository for your application.

  • Automatically check whether the chosen application name is not already in use.

  • Customize new application layouts with skeleton templates.

  • Put some skeleton default settings into a configuration file not to mess with command line switches anymore.

  • Easily add entries to your changelog.

  • Publish your application to remotes (VCS, PyPI) with single command.

Application scaffolding

Scaffold a new application:

$ makeapp new my_new_app /home/librarian/mynewapp/ -d "My application." --author "The Librarian"

This will create a decent application skeleton using the default skeleton template (, docs, tests, etc.) and initialize Git repository.

makeapp also bundles templates for commonly used application types:

Multiple templates can be used together. Complete list of featured templates can be found in the documentation. User-made templates are also supported.

Application publishing

When you’re ready to publish issue the following command while in project directory (containing

$ makeapp release
; Bump version number part manually: major, minor, patch
$ makeapp release --increment major

This will automatically:

  • bump up application version number

  • tag version in VCS

  • push sources to remote repository

  • upload application package to PyPI

Adding changes

When you’re ready to add another entry to your changelog use change command:

$ makeapp change "+ New 'change' command implemented"

This will also stage and commit all changed files.

Supported message prefixes:

  • + - New feature / addition.

    Increments minor part of version number on release command.

  • ! - Important change/improvement/fix.

    Increment: patch part.

  • - - Feature deprecation / removal

    Increment: patch.

  • * - Minor change/improvement/fix. * prefix is added by default if none of the above mentioned prefixes found.

    Increment: patch.

Bash completion

To enable bash completion for makeapp command append the following line into your .bashrc:

eval "$(_MAKEAPP_COMPLETE=source makeapp)"


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

makeapp-1.8.4.tar.gz (67.6 kB view hashes)

Uploaded Source

Built Distribution

makeapp-1.8.4-py2-none-any.whl (84.4 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page