Constants in all caps: NONE, TRUE, FALSE, ELLIPSIS Classes in initial-caps: Object, Int, Float, Str, Unicode, Set, List, Tuple, Dict, and lots of classes in the standard library, e.g. anydbm.error, csv.excel, imaplib.error, mutex.mutex...
(All that follows is just my opinion. Feel free to disregard.)
1. PEP 8 is just some recommended conventions, not absolute rules.
2. "None", "True", and "False" are the divinely inspired correct spellings of these objects. All caps would be incorrect.
3. "object", "int", "float", "str", "unicode", "set", "list", "tuple", and "dict" all follow the common convention that the fundamental built-in types are in all lowercase. Note that I am distinguishing between built-in types and standard library types. I rather like this convention and would favor keeping it.
4. I am a big fan of consistancy in naming. I try to follow PEP 8 in my own code, even when I don't think it's as pretty as some other practice. But I just don't think the consistancy is worth the cost of breaking existing code. Python 3000 is ALLOWED to break code, but that doesn't mean it should do so gratuitously or break more code than necessary.
5. For some of the classes within the standard library I'm much more open to being convinced. They are less often used, thus more suitable for a global fix-and-replace or at tweak to the input statements at the top of the file. Being less frequently used also means that consistancy in naming is more important because people don't necessarily use these every day.
-- Michael Chermside