I've seen you used '==' a lot through the code, and I would like to make a suggestion: why not use "is'?
This is just a suggestion to bypass the pep8 error thrown, when ran on this file: 
> E712 comparison to True should be 'if cond is True:' or 'if cond:'