https://github.com/idlesign/makeapp
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.
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 (setup.py
, docs, tests, etc.)
and initialize Git repository.
makeapp
also bundles templates for commonly used application types:
click
powered apppytest
powered apppytest
pluginDjango
appwebscaff
project (https://github.com/idlesign/webscaff)- etc.
Multiple templates can be used together. Complete list of featured templates can be found in the documentation. User-made templates are also supported.
When you're ready to publish issue the following command while in project directory (containing setup.py
):
$ 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
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 / removalIncrement: patch.
*
- Minor change/improvement/fix.*
prefix is added by default if none of the above mentioned prefixes found.Increment: patch.
To enable bash completion for makeapp
command append the following line into your .bashrc
:
eval "$(_MAKEAPP_COMPLETE=source makeapp)"