Command Line Interface Formulation Framework
Go to file
Doug Hellmann 0fba728779 simplify packaging file for demo app 2012-04-28 19:37:23 -04:00
cliff first pass at interactive app 2012-04-28 19:37:22 -04:00
demoapp simplify packaging file for demo app 2012-04-28 19:37:23 -04:00
docs add --prefix option for shell formatter; add docs for shell formatter 2012-04-28 19:35:33 -04:00
tests save commands using the name representation to be used in help output; don't modify the input arg list when searching for the command; return the name of the command found so the app can stuff it into the help text of the command 2012-04-20 16:49:47 -07:00
.gitignore ignore files generated by dev environment 2012-04-28 19:37:22 -04:00
LICENSE change to apache license 2012-04-20 10:06:58 -07:00
MANIFEST.in add demoapp to release package and clean up files being distributed from the test directory 2012-04-22 16:55:39 -07:00
Makefile add Makefile with some common release operations 2012-04-25 17:14:06 -04:00
README.rst first pass at interactive app 2012-04-28 19:37:22 -04:00
announce.rst Merge branch 'master' of github.com:dreamhost/cliff 2012-04-27 20:06:06 -04:00
distribute_setup.py add distribute_setup.py so install works 2012-04-20 09:55:11 -07:00
setup.py add shell output formatter for single items 2012-04-28 19:26:07 -04:00
tox.ini install nose for tox tests 2012-04-20 22:27:29 -07:00

README.rst

cliff -- Command Line Interface Formulation Framework

cliff is a framework for building command line programs. It uses setuptools entry points to provide subcommands, output formatters, and other extensions.

Documentation

Documentation for cliff is hosted on readthedocs.org at http://readthedocs.org/docs/cliff/en/latest/

To do

  • Should commands have an explicit API for checking whether the user can invoke them?
  • change API for list app to expect a sequence of dictionaries?
  • unicode output for python 2 (incompatible with csv?)
  • json formatter(s)
  • pprint formatter(s)
  • shell script formatter for show commands
  • create a few example commands that use a sqlite database to show how to manage transactions
  • switch setup/teardown functions in app to use some sort of context manager?
  • add options to csv formatter to control output (delimiter, etc.)
  • option to spit out bash completion data
  • move command execution into a separate class to be used by App and InteractiveApp?