Обновить

Комментарии 9

bot_token: str

Подумайте о безопастности. Поменяйте на специальные типы данных для секретов.

Можно поподробнее? Не слышал о таких

Спасибо. Обновил статью

Я бы в ранних примерах тоже заменил, не все дочитывают до конца статьи. Ну и когда нужно скопипастить примеры, возьмут первый попавшийся.

Спасибо за статью. Не понравился тип возвращаемых данных для метода load. Думаю, уместнее будет указать тип Self или TypeVar из модуля typing (или typing_extensions, в зависимости от вашей версии питона).

Что мне в итоге не понравилось в Pydantic, это отсутствие нормальной композиции настроек и подсказок. Всё выглядит отличным.

class Config(BaseSettings):
    telegram: TelegramConfig = Field(default_factory=TelegramConfig)
    db: DatabaseConfig = Field(default_factory=DatabaseConfig)

Данный код читает переменные в три этапа. Есть если у вас не хватает переменных, то понадобиться три итерации, чтобы это поправить.

Я хочу чтобы когда я запускаю код с --help, то мне написали, все необходимые переменные и описание к ним. Для описания в сеттингах даже поля нет. До перехода на Pydantic работал с click. Там тоже композиции нет, зато help хороший.

а к чему все эти сложности?

не, я не спорю о необходимости безопасно подгружать переменные. но вот это вот всё... нормальной (простой) специализированной библиотеки ещё не написали? ;)

load_dotenv далеко не всегда хватает.

Чем Pydаntic не нормальная библиотека для продвинутых задач?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации