Python argparse skeleton
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
cli fix argv Feb 1, 2017
tests Fix test utilities import Feb 1, 2017
.coveragerc add unrunnable code Feb 1, 2017
.gitignore Initial commit Apr 5, 2016
.travis.yml add 3.6 Feb 1, 2017
LICENSE Initial commit Apr 5, 2016 Update readme Feb 1, 2017
requirements.txt add clint requirement Feb 1, 2017 cleanup tests Feb 1, 2017

Build Status Coverage Status


A simple python command line interface skeleton project. Features support for:

  • travis-ci
  • coveralls
  • argparse
  • py.test (testing)


python install 

For development, use:

python develop

...and the program will be installed in-place, allowing you to edit the script files and test them from the command line.


The setup script will install the program as cli. You can invoke it using:


To change the way the program is invoked, edit the cli/ file where you can set the __version__ and _program variables. The _program variable sets the commandline command (cli), and the program name. You may want to change the names of modules (folders) as well to reflect your program. You should change the entry_point part of the setup script to reflect any changes you make to folders/files:

{program} = cli.cli:main
""".format(program = _program),


Add any modules you want installed to the requirements.txt file. The setup file parses this file before installation. Currently, [clint]( is the only requirement. It is a useful module for adding color, indenting, progress bars, and other useful things to command-line based programs.


A .travis.yml file is included and setup for Python. Testing is performed using Python 2.7 and 3.6. You will need to setup []( to perform testing.


Support for coveralls is build in using pytest-cov. Please see for more information. You may want to edit the .coveragerc file to fine tune how coverage is calculated.