import icu
casefold = lambda u: str(icu.UnicodeString(u).foldCase())
print(casefold('tsch\xfc\xdf'))
casefold('\u03a3\u03af\u03c3\u03c5\u03c6\u03bf\u03c2\ufb01\xc6') == casefold(
    '\u03a3\u038a\u03a3\u03a5\u03a6\u039f\u03c3FI\xe6'
    ) == '\u03c3\u03af\u03c3\u03c5\u03c6\u03bf\u03c3fi\xe6'
icu.UNICODE_VERSION
import unicodedata
unicodedata.unidata_version
How do I case fold a string in Python 2?