*****
Clize
*****
.. image:: https://readthedocs.org/projects/clize/badge/?version=stable
:target: http://clize.readthedocs.io/en/stable/?badge=stable
:alt: Documentation Status
.. image:: https://badges.gitter.im/Join%20Chat.svg
:alt: Join the chat at https://gitter.im/epsy/clize
:target: https://gitter.im/epsy/clize?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
.. image:: https://github.com/epsy/clize/actions/workflows/ci.yml/badge.svg?branch=master
:target: https://github.com/epsy/clize/actions/workflows/ci.yml
.. image:: https://coveralls.io/repos/epsy/clize/badge.svg?branch=master
:target: https://coveralls.io/r/epsy/clize?branch=master
Clize is an argument parser for `Python <https://www.python.org/>`_. You can
use Clize as an alternative to ``argparse`` if you want an even easier way to
create command-line interfaces.
**With Clize, you can:**
* Create command-line interfaces by creating functions and passing them to
`clize.run`.
* Enjoy a CLI automatically created from your functions' parameters.
* Bring your users familiar ``--help`` messages generated from your docstrings.
* Reuse functionality across multiple commands using decorators.
* Extend Clize with new parameter behavior.
**Here's an example:**
.. code-block:: python
from clize import run
def hello_world(name=None, *, no_capitalize=False):
"""Greets the world or the given name.
:param name: If specified, only greet this person.
:param no_capitalize: Don't capitalize the given name.
"""
if name:
if not no_capitalize:
name = name.title()
return 'Hello {0}!'.format(name)
return 'Hello world!'
if __name__ == '__main__':
run(hello_world)
The python code above can now be used on the command-line as follows:
.. code-block:: console
$ pip install clize
$ python3 hello.py --help
Usage: hello.py [OPTIONS] name
Greets the world or the given name.
Positional arguments:
name If specified, only greet this person.
Options:
--no-capitalize Don't capitalize the given name.
Other actions:
-h, --help Show the help
$ python3 hello.py
Hello world!
$ python3 hello.py john
Hello John!
$ python3 hello.py dave --no-capitalize
Hello dave!
You can find the documentation and tutorials at http://clize.readthedocs.io/
Raw data
{
"_id": null,
"home_page": "https://github.com/epsy/clize",
"name": "clize",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "CLI,options,arguments,getopts,getopt,argparse,introspection,flags,decorator,subcommands",
"author": "Yann Kaiser",
"author_email": "kaiser.yann@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/27/d9/351db7247739f7cdaa076a1a25163afc7b553af556273729320a64cf0ab4/clize-5.0.2.tar.gz",
"platform": null,
"description": "*****\nClize\n*****\n\n.. image:: https://readthedocs.org/projects/clize/badge/?version=stable\n :target: http://clize.readthedocs.io/en/stable/?badge=stable\n :alt: Documentation Status\n.. image:: https://badges.gitter.im/Join%20Chat.svg\n :alt: Join the chat at https://gitter.im/epsy/clize\n :target: https://gitter.im/epsy/clize?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n.. image:: https://github.com/epsy/clize/actions/workflows/ci.yml/badge.svg?branch=master\n :target: https://github.com/epsy/clize/actions/workflows/ci.yml\n.. image:: https://coveralls.io/repos/epsy/clize/badge.svg?branch=master\n :target: https://coveralls.io/r/epsy/clize?branch=master\n\nClize is an argument parser for `Python <https://www.python.org/>`_. You can\nuse Clize as an alternative to ``argparse`` if you want an even easier way to\ncreate command-line interfaces.\n\n**With Clize, you can:**\n\n* Create command-line interfaces by creating functions and passing them to\n `clize.run`.\n* Enjoy a CLI automatically created from your functions' parameters.\n* Bring your users familiar ``--help`` messages generated from your docstrings.\n* Reuse functionality across multiple commands using decorators.\n* Extend Clize with new parameter behavior.\n\n**Here's an example:**\n\n.. code-block:: python\n\n from clize import run\n\n def hello_world(name=None, *, no_capitalize=False):\n \"\"\"Greets the world or the given name.\n\n :param name: If specified, only greet this person.\n :param no_capitalize: Don't capitalize the given name.\n \"\"\"\n if name:\n if not no_capitalize:\n name = name.title()\n return 'Hello {0}!'.format(name)\n return 'Hello world!'\n\n if __name__ == '__main__':\n run(hello_world)\n\nThe python code above can now be used on the command-line as follows:\n\n.. code-block:: console\n\n $ pip install clize\n $ python3 hello.py --help\n Usage: hello.py [OPTIONS] name\n\n Greets the world or the given name.\n\n Positional arguments:\n name If specified, only greet this person.\n\n Options:\n --no-capitalize Don't capitalize the given name.\n\n Other actions:\n -h, --help Show the help\n $ python3 hello.py\n Hello world!\n $ python3 hello.py john\n Hello John!\n $ python3 hello.py dave --no-capitalize\n Hello dave!\n\nYou can find the documentation and tutorials at http://clize.readthedocs.io/\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Turn functions into command-line interfaces",
"version": "5.0.2",
"project_urls": {
"Homepage": "https://github.com/epsy/clize"
},
"split_keywords": [
"cli",
"options",
"arguments",
"getopts",
"getopt",
"argparse",
"introspection",
"flags",
"decorator",
"subcommands"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2167267b54101fe899f957e70e21b461cb17fa63f0799316e690b4375db202e2",
"md5": "46a6d39c5e3f206921fa976594c0bc9e",
"sha256": "c89ce97b5ba89e1f21d13f7a18d9025edf799b136adeb625019c04b79ddee846"
},
"downloads": -1,
"filename": "clize-5.0.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "46a6d39c5e3f206921fa976594c0bc9e",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6",
"size": 77052,
"upload_time": "2023-07-09T22:54:49",
"upload_time_iso_8601": "2023-07-09T22:54:49.199324Z",
"url": "https://files.pythonhosted.org/packages/21/67/267b54101fe899f957e70e21b461cb17fa63f0799316e690b4375db202e2/clize-5.0.2-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "27d9351db7247739f7cdaa076a1a25163afc7b553af556273729320a64cf0ab4",
"md5": "bd3c5b678827b41458d972bb7181b8fa",
"sha256": "047f5a4473602718ab1b85672a7e15303387178d5a81c275dc429dfac1ecb510"
},
"downloads": -1,
"filename": "clize-5.0.2.tar.gz",
"has_sig": false,
"md5_digest": "bd3c5b678827b41458d972bb7181b8fa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 197813,
"upload_time": "2023-07-09T22:54:51",
"upload_time_iso_8601": "2023-07-09T22:54:51.098277Z",
"url": "https://files.pythonhosted.org/packages/27/d9/351db7247739f7cdaa076a1a25163afc7b553af556273729320a64cf0ab4/clize-5.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-09 22:54:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "epsy",
"github_project": "clize",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "clize"
}