Я сейчас в новом проекте делаю пакет конфига из двух модулей, в одном датаклассы с описанием как нужно хранить данные в конфиге, а во втором код который добывает конфиг из переменных окружения или ещё откуда и складывающий в эти датаклассы
Вроде как typing.NamedTuple лучше по памяти, но мне почему-то датаклассы больше нравятся