Saturday 11:30 a.m.–noon

Awesome Command Line Tools

Amjith Ramanujam


Designing a good command line tool is challenging. Command line tools look archaic compared to modern graphical interfaces, discoverability is a big issue for command line tools, proactive help is hard to implement. This talk will cover a set of specific techniques to help alleviate those challenges. How did [pgcli]( and [mycli]( overcome these problems? We will cover specific examples where command line apps shine. The examples will be drawn from pgcli, mycli and [bpython]( This talk will suggest libraries and show how they can help you implement a wonderful command line interface. The libraries covered in this talk include [python-prompt-toolkit](, [pygments](, [click](, [fuzzyfind]( The goal of the talk is to distil the ideas that exist in successful command line applications as guidelines for building powerful command line applications.