You've switched the parameters of normalize
. From the relevant documentation:
unicodedata.normalize(form, unistr)
Return the normal form form for the Unicode string * unistr*. Valid values for form are ‘NFC’, ‘NFKC’, ‘NFD’, and ‘NFKD’.
The first argument is the form, and the second is the string to be normalized. This works just fine:
unicodedata.normalize('NFD', uni)