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/makeapp
Description
------------
*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 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:
.. 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/
Raw data
{
"_id": null,
"home_page": "https://github.com/idlesign/makeapp",
"name": "makeapp",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Igor `idle sign` Starikov",
"author_email": "idlesign@yandex.ru",
"download_url": "https://files.pythonhosted.org/packages/0e/1a/e6ef247f87b55f5c18827bda2ad21040c0e1dff8ef69c2ed185f79386e09/makeapp-1.9.1.tar.gz",
"platform": null,
"description": "makeapp\n=======\nhttps://github.com/idlesign/makeapp\n\n|release| |lic| |coverage|\n\n.. |release| image:: https://img.shields.io/pypi/v/makeapp.svg\n :target: https://pypi.python.org/pypi/makeapp\n\n.. |lic| image:: https://img.shields.io/pypi/l/makeapp.svg\n :target: https://pypi.python.org/pypi/makeapp\n\n.. |coverage| image:: https://img.shields.io/coveralls/idlesign/makeapp/master.svg\n :target: https://coveralls.io/r/idlesign/makeapp\n\n\nDescription\n------------\n\n*Simplifies Python application rollout and publishing.*\n\n* Make a skeleton for your new application with one console command.\n* Automatically create a VCS repository for your application.\n* Automatically check whether the chosen application name is not already in use.\n* Customize new application layouts with skeleton templates.\n* Put some skeleton default settings into a configuration file not to mess with command line switches anymore.\n* Easily add entries to your changelog.\n* Publish your application to remotes (VCS, PyPI) with single command.\n\n\nApplication scaffolding\n-----------------------\n\nScaffold a new application:\n\n.. code-block:: bash\n\n $ makeapp new my_new_app /home/librarian/mynewapp/ -d \"My application.\" --author \"The Librarian\"\n\n\nThis will create a decent application skeleton using the default skeleton template (``setup.py``, docs, tests, etc.)\nand initialize Git repository.\n\n``makeapp`` also bundles templates for commonly used application types:\n\n* ``click`` powered app\n* ``pytest`` powered app\n* ``pytest`` plugin\n* ``Django`` app\n* ``webscaff`` project (https://github.com/idlesign/webscaff)\n* etc.\n\nMultiple templates can be used together. Complete list of featured templates can be found in the documentation.\nUser-made templates are also supported.\n\n\nApplication publishing\n----------------------\n\nWhen you're ready to publish issue the following command while in project directory (containing ``setup.py``):\n\n.. code-block:: bash\n\n $ makeapp release\n ; Bump version number part manually: major, minor, patch\n $ makeapp release --increment major\n\n\nThis will automatically:\n\n* bump up application version number\n* tag version in VCS\n* push sources to remote repository\n* upload application package to PyPI\n\n\nAdding changes\n--------------\n\nWhen you're ready to add another entry to your changelog use ``change`` command:\n\n.. code-block:: bash\n\n $ makeapp change \"+ New 'change' command implemented\"\n\nThis will also stage and commit all changed files.\n\nSupported message prefixes:\n\n* ``+`` - New feature / addition.\n\n Increments *minor* part of version number on ``release`` command.\n\n* ``!`` - Important change/improvement/fix.\n\n Increment: *patch* part.\n\n* ``-`` - Feature deprecation / removal\n\n Increment: *patch*.\n\n* ``*`` - Minor change/improvement/fix. ``*`` prefix is added by default if none of the above mentioned prefixes found.\n\n Increment: *patch*.\n\n\nBash completion\n---------------\n\nTo enable bash completion for ``makeapp`` command append the following line into your ``.bashrc``:\n\n.. code-block:: bash\n\n eval \"$(_MAKEAPP_COMPLETE=source makeapp)\"\n\n\nDocumentation\n-------------\n\nhttps://makeapp.readthedocs.org/\n\n\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "Simplifies Python application rollout and publishing.",
"version": "1.9.1",
"project_urls": {
"Homepage": "https://github.com/idlesign/makeapp"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b6c40086ccf6e50fa5f5209ef9373f1275e4ceceac641a2e98f2c356640da1c5",
"md5": "484997cfc6be871948562bab95c1c0b5",
"sha256": "43387c725a619a4bf664cece7bfb8014c32ba51838bc9ab9c579ff412aff9e83"
},
"downloads": -1,
"filename": "makeapp-1.9.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "484997cfc6be871948562bab95c1c0b5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 85115,
"upload_time": "2023-05-19T12:25:14",
"upload_time_iso_8601": "2023-05-19T12:25:14.001567Z",
"url": "https://files.pythonhosted.org/packages/b6/c4/0086ccf6e50fa5f5209ef9373f1275e4ceceac641a2e98f2c356640da1c5/makeapp-1.9.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0e1ae6ef247f87b55f5c18827bda2ad21040c0e1dff8ef69c2ed185f79386e09",
"md5": "6e1e1a08791c7f0f12ef65f74c809188",
"sha256": "353151b43197f4e65edb2e297ddc69fddfabbdd02e29227a75347017c8dd6d18"
},
"downloads": -1,
"filename": "makeapp-1.9.1.tar.gz",
"has_sig": false,
"md5_digest": "6e1e1a08791c7f0f12ef65f74c809188",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 72920,
"upload_time": "2023-05-19T12:25:16",
"upload_time_iso_8601": "2023-05-19T12:25:16.531899Z",
"url": "https://files.pythonhosted.org/packages/0e/1a/e6ef247f87b55f5c18827bda2ad21040c0e1dff8ef69c2ed185f79386e09/makeapp-1.9.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-19 12:25:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "idlesign",
"github_project": "makeapp",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "makeapp"
}