So there are many many reasons about avoiding the use of global variables and akin to those, singleton classes, then there are often short-term benefits that outweigh the classic enumeration of classic considerations.
Of course singletons can be considered bad OOP/OOD, and instead proper instantiable, replicable, initializable classes/instances can be favourized, that which don't require extra efforts to rip them out of some too conveniently developed web of dependencies and side effects to put under our own conscious control, at a close enough range to our prying test cases.
One nagging thought though ... aren't all classes in Python effectively global variables (or isomorphic with them)? ;)
(To me it feels like just one more hint to the top of the heap that even the best patterns - or avoiding the worst, if there are any, if a ranking of any kind might at all be established - don't work without discipline and thinking, systematic trial error, intuition and luck, and all those things that actually make intellectual work work. And then ... probably there's a plethora of other interesting things out there to outline in relation to the above.)