diff -r 00754d360e58 pep-0008.txt --- a/pep-0008.txt Wed Oct 23 19:49:13 2013 +0200 +++ b/pep-0008.txt Thu Oct 24 09:26:42 2013 -0400 @@ -580,6 +580,10 @@ standards, but where an existing library has a different style, internal consistency is preferred. +Names that are visible to the user as public parts of the API should +follow conventions that reflect usage rather than implementation. + + Descriptive: Naming Styles -------------------------- @@ -676,8 +680,21 @@ Class Names ~~~~~~~~~~~ -Almost without exception, class names use the CapWords convention. -Classes for internal use have a leading underscore in addition. +Class names should normally use the CapWords convention, with classes +intended solely for internal use starting with a leading underscore. + +This guideline should always be followed for abstract base classes, +any other class where inheritance is encouraged or permitted, or +*class-like* behavior and usage is the primary intent. + +In cases where inheritance is discouraged, or the class is primarily +intended to be used "as is", the naming convention for callables +(e.g. lower_case_with_underscores) may be used if it improves +readability at the point of use. + +Note that there is a separate convention for builtin names: most builtin +names are single words (or two words run together), with the CapWords +convention used only for exception names and builtin constants. Exception Names ~~~~~~~~~~~~~~~