Мне кажется, что вопрос некорректен. Python не использует какую-либо версию UNICODE (и UCS, соответственно, тоже). Python3 умеет нативно работать с кодами символов unicode, то есть просто с числами от 0 до 0x10FFFF. Понятие версии тут вроде бы не применимо, потому что ему не важно, что именно скрывается под этими кодами.
chr(n) вернёт результат для любого числа в диапазоне от 0 до 0x10FFFF.
Все остальные кодировки (win1251, cp866) он просто умеет преобразовывать в unicode и обратно.
К примеру, U+1F999 - появился в Unicode 11. Мой браузер его не показывает. Python3 который появился ещё в 2008 не мог знать об этом символе, но прекрасно с ним работал. Потому что Python работает с кодами, а не с символами.