Rewriting to use Python
Refactoring and adding tests
Adding cli tests
Updating tag command
Python 3 compat