Я ищу шаблоны для параметризации приложений Python.
Подходы, которые я могу придумать:
- передать объекты конфигурации или параметры по глубокой иерархии вызовов
- имеет одноэлементный объект конфигурации (например, пакет, который инициализируется при запуске приложения)
- регистрировать конфигурируемые части приложения при загрузке (импорте), а затем вызывать их после прочтения конфигурации
- каждый настраиваемый компонент анализирует свою конфигурацию
Все они чувствуют себя странно, так или иначе.
Вопрос в том, есть ли лучшая альтернатива, каковы плюсы и минусы этих методов, есть ли лучшая практика и существуют ли стандартные реализации, о которых я не знаю?