Python Port of John Gruber's titlecase.pl
This filter changes all words to Title Caps, and attempts to be clever about SMALL words like a/an/the in the input.
The list of “SMALL words” which are not capped comes from the New York Times Manual of Style, plus some others like ‘vs’ and ‘v’.
Issues, updates, pull requests, etc should be directed to github.
The easiest method is to simply use pip:
(sudo) pip install titlecase
Titlecase provides only one function, simply:
>>> from titlecase import titlecase >>> titlecase('a thing') 'A Thing'
A callback function may also be supplied, which will be called for every word:
>>> def abbreviations(word, **kwargs): ... if word.upper() in ('TCP', 'UDP'): ... return word.upper() ... >>> titlecase.titlecase('a simple tcp and udp wrapper', callback=abbreviations) 'A Simple TCP and UDP Wrapper'
The callback function is supplied with an all_caps keyword argument, indicating whether the entire line of text was entirely capitalized. Returning None from the callback function will allow titlecase to process the word as normal.