Nitpick about 9.3 Short Circuit Evaluation: both things evaluate differently if you have empty strings. The if-else clause treats empty strings as valid while the or operator will treat them equivalent with None.
I use the version from the github page. They are updated much faster. So when I realized something broke there is usually already a fixed version up on github.