Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/idlesign/makeapp
Simplifies Python application rollout and publishing.
https://github.com/idlesign/makeapp
bootstrapper packaging python scaffold
Last synced: about 2 months ago
JSON representation
Simplifies Python application rollout and publishing.
- Host: GitHub
- URL: https://github.com/idlesign/makeapp
- Owner: idlesign
- License: bsd-3-clause
- Created: 2013-12-16T17:13:32.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2023-05-19T12:25:11.000Z (over 1 year ago)
- Last Synced: 2024-10-29T22:33:29.471Z (2 months ago)
- Topics: bootstrapper, packaging, python, scaffold
- Language: Python
- Homepage: https://github.com/idlesign/makeapp
- Size: 391 KB
- Stars: 29
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
makeapp
=======
https://github.com/idlesign/makeapp|release| |lic| |coverage|
.. |release| image:: https://img.shields.io/pypi/v/makeapp.svg
:target: https://pypi.python.org/pypi/makeapp.. |lic| image:: https://img.shields.io/pypi/l/makeapp.svg
:target: https://pypi.python.org/pypi/makeapp.. |coverage| image:: https://img.shields.io/coveralls/idlesign/makeapp/master.svg
:target: https://coveralls.io/r/idlesign/makeappDescription
------------*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:
.. code-block:: bash
$ 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 app
* ``pytest`` powered app
* ``pytest`` plugin
* ``Django`` app
* ``webscaff`` 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.Application publishing
----------------------When you're ready to publish issue the following command while in project directory (containing ``setup.py``):
.. code-block:: bash
$ makeapp release
; Bump version number part manually: major, minor, patch
$ makeapp release --increment majorThis will automatically:
* bump up application version number
* tag version in VCS
* push sources to remote repository
* upload application package to PyPIAdding changes
--------------When you're ready to add another entry to your changelog use ``change`` command:
.. code-block:: bash
$ 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``:
.. code-block:: bash
eval "$(_MAKEAPP_COMPLETE=source makeapp)"
Documentation
-------------https://makeapp.readthedocs.org/