I've figured out how to create a comparison function using the PyICU bindings to the ICU library. In a regular list sort this allows me to do something like this:
from icu import Locale, Collator
myloc = Locale('el')
col = Collator.createInstance(myloc)
words = ['ἀγ', 'βλα', 'ὁμηρ']
sorted_words = sorted(words, cmp=col.compare)
Is there any way to pass this kind of custom collating function to the select()?