С точки зрения того, что ожидать от функции, вас могут заинтересовать подсказки типа питонов: https://docs.python.org/3/library/typing.html
вот так:
def greeting(name: str) -> str:
return 'Hello ' + name
, который ожидает и возвращает строку.
Если я могу дать вам подсказку: не изменяйте подпись (количество и форму входных и возвращаемых значений) ваших функций.
Если вам нужно новая форма вывода, создайте новую функцию. И как только ваши пользователи могут перейти, пометьте старого как устаревшего в ваших документах и отбросьте его через один или два выпуска после.
Не связывайтесь с пользователями ваших библиотек с функциями, которые называются одинаково, но ведут себя по-разному в разных версиях без предварительного уведомления.