99 lines
2.1 KiB
ReStructuredText
99 lines
2.1 KiB
ReStructuredText
|
Welcome to the Click Documentation
|
||
|
==================================
|
||
|
|
||
|
Click is a Python package for creating beautiful command line interfaces
|
||
|
in a composable way with as little code as necessary. It's the "Command
|
||
|
Line Interface Creation Kit". It's highly configurable but comes with
|
||
|
sensible defaults out of the box.
|
||
|
|
||
|
It aims to make the process of writing command line tools quick and fun
|
||
|
while also preventing any frustration caused by the inability to implement
|
||
|
an intended CLI API.
|
||
|
|
||
|
Click in three points:
|
||
|
|
||
|
- arbitrary nesting of commands
|
||
|
- automatic help page generation
|
||
|
- supports lazy loading of subcommands at runtime
|
||
|
|
||
|
What does it look like? Here is an example of a simple Click program:
|
||
|
|
||
|
.. click:example::
|
||
|
|
||
|
import click
|
||
|
|
||
|
@click.command()
|
||
|
@click.option('--count', default=1, help='Number of greetings.')
|
||
|
@click.option('--name', prompt='Your name',
|
||
|
help='The person to greet.')
|
||
|
def hello(count, name):
|
||
|
"""Simple program that greets NAME for a total of COUNT times."""
|
||
|
for x in range(count):
|
||
|
click.echo('Hello %s!' % name)
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
hello()
|
||
|
|
||
|
And what it looks like when run:
|
||
|
|
||
|
.. click:run::
|
||
|
|
||
|
invoke(hello, ['--count=3'], prog_name='python hello.py', input='John\n')
|
||
|
|
||
|
It automatically generates nicely formatted help pages:
|
||
|
|
||
|
.. click:run::
|
||
|
|
||
|
invoke(hello, ['--help'], prog_name='python hello.py')
|
||
|
|
||
|
You can get the library directly from PyPI::
|
||
|
|
||
|
pip install click
|
||
|
|
||
|
Documentation Contents
|
||
|
----------------------
|
||
|
|
||
|
This part of the documentation guides you through all of the library's
|
||
|
usage patterns.
|
||
|
|
||
|
.. toctree::
|
||
|
:maxdepth: 2
|
||
|
|
||
|
why
|
||
|
quickstart
|
||
|
setuptools
|
||
|
parameters
|
||
|
options
|
||
|
arguments
|
||
|
commands
|
||
|
prompts
|
||
|
documentation
|
||
|
complex
|
||
|
advanced
|
||
|
testing
|
||
|
utils
|
||
|
bashcomplete
|
||
|
exceptions
|
||
|
python3
|
||
|
|
||
|
API Reference
|
||
|
-------------
|
||
|
|
||
|
If you are looking for information on a specific function, class, or
|
||
|
method, this part of the documentation is for you.
|
||
|
|
||
|
.. toctree::
|
||
|
:maxdepth: 2
|
||
|
|
||
|
api
|
||
|
|
||
|
Miscellaneous Pages
|
||
|
-------------------
|
||
|
|
||
|
.. toctree::
|
||
|
:maxdepth: 2
|
||
|
|
||
|
changelog
|
||
|
upgrading
|
||
|
license
|