summaryrefslogtreecommitdiff
path: root/docs/overview/alternatives.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/overview/alternatives.rst')
-rw-r--r--docs/overview/alternatives.rst64
1 files changed, 33 insertions, 31 deletions
diff --git a/docs/overview/alternatives.rst b/docs/overview/alternatives.rst
index bf1545d6..e8e8e3b3 100644
--- a/docs/overview/alternatives.rst
+++ b/docs/overview/alternatives.rst
@@ -1,13 +1,11 @@
-============================
-Alternatives to cmd and cmd2
-============================
+Alternatives
+============
-For programs that do not interact with the user in a continuous loop -
-programs that simply accept a set of arguments from the command line, return
-results, and do not keep the user within the program's environment - all
-you need are sys_\ .argv (the command-line arguments) and argparse_
-(for parsing UNIX-style options and flags). Though some people may prefer docopt_
-or click_ to argparse_.
+For programs that do not interact with the user in a continuous loop - programs
+that simply accept a set of arguments from the command line, return results, and
+do not keep the user within the program's environment - all you need are sys_\
+.argv (the command-line arguments) and argparse_ (for parsing UNIX-style options
+and flags). Though some people may prefer docopt_ or click_ to argparse_.
.. _sys: https://docs.python.org/3/library/sys.html
.. _argparse: https://docs.python.org/3/library/argparse.html
@@ -15,39 +13,43 @@ or click_ to argparse_.
.. _click: http://click.pocoo.org
-The curses_ module produces applications that interact via a plaintext
-terminal window, but are not limited to simple text input and output;
-they can paint the screen with options that are selected from using the
-cursor keys. However, programming a curses_-based application is not as
-straightforward as using cmd_.
+The curses_ module produces applications that interact via a plaintext terminal
+window, but are not limited to simple text input and output; they can paint the
+screen with options that are selected from using the cursor keys. However,
+programming a curses_-based application is not as straightforward as using cmd_.
.. _curses: https://docs.python.org/3/library/curses.html
.. _cmd: https://docs.python.org/3/library/cmd.html
Several Python packages exist for building interactive command-line applications
-approximately similar in concept to cmd_ applications. None of them
-share ``cmd2``'s close ties to cmd_, but they may be worth investigating
-nonetheless. Two of the most mature and full featured are:
+approximately similar in concept to cmd_ applications. None of them share
+``cmd2``'s close ties to cmd_, but they may be worth investigating nonetheless.
+Two of the most mature and full featured are:
* `Python Prompt Toolkit`_
* Click_
.. _`Python Prompt Toolkit`: https://github.com/jonathanslenders/python-prompt-toolkit
-`Python Prompt Toolkit`_ is a library for building powerful interactive command lines and terminal applications in
-Python. It provides a lot of advanced visual features like syntax highlighting, bottom bars, and the ability to
-create fullscreen apps.
+`Python Prompt Toolkit`_ is a library for building powerful interactive command
+lines and terminal applications in Python. It provides a lot of advanced visual
+features like syntax highlighting, bottom bars, and the ability to create
+fullscreen apps.
-Click_ is a Python package for creating beautiful command line interfaces in a composable way with as little code as
-necessary. It is more geared towards command line utilities instead of command line interpreters, but it can be used
+Click_ is a Python package for creating beautiful command line interfaces in a
+composable way with as little code as necessary. It is more geared towards
+command line utilities instead of command line interpreters, but it can be used
for either.
-Getting a working command-interpreter application based on either `Python Prompt Toolkit`_ or Click_ requires a good
-deal more effort and boilerplate code than ``cmd2``. ``cmd2`` focuses on providing an excellent out-of-the-box experience
-with as many useful features as possible built in for free with as little work required on the developer's part as
-possible. We believe that ``cmd2`` provides developers the easiest way to write a command-line interpreter, while
-allowing a good experience for end users. If you are seeking a visually richer end-user experience and don't
-mind investing more development time, we would recommend checking out `Python Prompt Toolkit`_.
-
-In the future, we may investigate options for incorporating the usage of `Python Prompt Toolkit`_ and/or Click_ into
-``cmd2`` applications.
+Getting a working command-interpreter application based on either `Python Prompt
+Toolkit`_ or Click_ requires a good deal more effort and boilerplate code than
+``cmd2``. ``cmd2`` focuses on providing an excellent out-of-the-box experience
+with as many useful features as possible built in for free with as little work
+required on the developer's part as possible. We believe that ``cmd2`` provides
+developers the easiest way to write a command-line interpreter, while allowing a
+good experience for end users. If you are seeking a visually richer end-user
+experience and don't mind investing more development time, we would recommend
+checking out `Python Prompt Toolkit`_.
+
+In the future, we may investigate options for incorporating the usage of `Python
+Prompt Toolkit`_ and/or Click_ into ``cmd2`` applications.