Changes:
- Use exceptions to handle errors and pass them to the script, rather than calling
sys.exitfrom the module. - Use
warnings.warnto handle warnings and catch these in the script. - Implement colourised print messages along with the
--nocolourflag to disable them. - Move
click.commandto the script rather than the module.