
Комментарии 3
Кажется, ллм немножко зациклило (мысли повторяются дважды), и ллм налила уж больно воды. :)
А главное - про секреты мимо. Не надо секреты читать из файлов, есть же pydantic_settings, BaseSettings которого во-первых есть сабкласс BaseModel, и во-вторых, умеет читать секреты из переменных окружения и отдельных файлов (/run/secrets/foo_sercet, смонтированный inmemory, например). То есть один класс опишет весь конфиг, даже если часть полей секретов не указаны в общем файле, а доступны как секреты отдельно.
И вероятно не стоит кешировать сырое содержимое файлов конфигов, какой у этого юзеейс?
у pydantic_settings есть TomlConfigSettingsSource из коробки
Хм, adaptix, который предполагался быть более быстрым чем pydantic, в данном конкретном юзкейсе (распарсить объект ровно один раз) оказался в 30 раз медленнее
Загрузка конфигурации из settings.toml в Python: чтение, проверка структуры и преобразование в объекты Pydantic