by Michele Simionato for EuroPython 2011
plac is general purpose tool than can be used to define command-oriented domain specific languages (DSLs). In its simplest form it can be used as a command-line arguments parser with an easier-to-use API than argparse. It can also be used to replace the cmd module in the standard library. Moreover it can be used to automatize functional tests and for much more. The talk will touch upon many use cases where plac can make your life as a developer simpler and better. Technically Plac is a wrapper over argparse and works in all versions of Python starting from Python 2.3 up to Python 3.2. In Python 3.X it takes advantage of function annotations to define the parser in a declarative way, instead of the imperative way of argparse. In Python 2.X it uses decorators instead, to reach the same goal. The talk is a hands-on interactive demonstration of plac capabilities.