This reworks the 'pw' single-file script into a proper Python module
with a setup.py and appropriate main() handling. It also splits the
'watch' command into a separate file.
This is the first step in adding more 'pw' subcommands.
Other minor tweaks:
- Drop coloredlogs dependency in favor of simpler solution
- Make level log component 3 characters only
- Change colors to better separate command output from logs
- Make a new "logdemo" command to illustrate all log levels
- Make a new "help" command to show top-level help
- Put some space around command output for visual separation
New 'pw help' output
--------------------
% pw help
▒█████▄ █▓ ▄███▒ ▒█ ▒█ ░▓████▒ ░▓████▒ ▒▓████▄
▒█░ █░ ░█▒ ██▒ ▀█▒ ▒█░ █ ▒█ ▒█ ▀ ▒█ ▀ ▒█ ▀█▌
▒█▄▄▄█░ ░█▒ █▓░ ▄▄░ ▒█░ █ ▒█ ▒███ ▒███ ░█ █▌
▒█▀ ░█░ ▓█ █▓ ░█░ █ ▒█ ▒█ ▄ ▒█ ▄ ░█ ▄█▌
▒█ ░█░ ░▓███▀ ▒█▓▀▓█░ ░▓████▒ ░▓████▒ ▒▓████▀
usage: pw [-h] {help,watch,logdemo} ...
The Pigweed command line interface (CLI)
Example uses:
pw watch Watch for changes and re-build
pw logdemo Show log examples
positional arguments:
{help,watch,logdemo} pw subcommand to run
help Show the Pigweed CLI help
watch Watch files for changes
logdemo Show how logs look at different levels
optional arguments:
-h, --help show this help message and exit
Change-Id: I8730f0fdd7fef91c4c4a5ba40e7251b45ee38b83