Comments 15
Кто-то опять изобрел Ansible))
Еще можно на вот это глянуть: https://pydantic-docs.helpmanual.io/usage/settings/
У него вроде только json
поддерживаться, а у меня задача под любой формат подстроиться, у меня это достигается путем простой шаблонизации текста. (если не так то поправь)
Если честно, то из вашей статьи я не понял чего вы хотите добиться. Вроде в заголовке про конфигурации, а по тексту статьи похоже на то, что вы просто сделали обертку над записью строк в файл.
pydantic про настройки. Он дает возможность добавлять конфигурацию к программам на питоне. Конфигурация задается как класс, каждое свойство - отдельный параметр конфигурации. Pydantic использует аннотации типов, чтобы контролировать значения; поддерживает чтение из .env файлов и переменных окружения. Не надо ничего дополнительно "компилировать". Общие настройки можно реализовать либо через наследование, либо композицию.
а какие плюсы/минусы относительно dynaconf?
dynaconf
я не использовал, вот только сейчас 5 минут прочитал документацию и нашел следующий отличия
Поддерживать только toml|yaml|json|ini|py
У него как-то сложная документация, задача то простая, я хочу просто создавать файл и брать значения для них из python
а в dynaconf
у него 20 заголовков по 6 под глав(в среднем) в каждой, в которых я за 5 минут не разобрался. Личное мнения, но я бы не захотел им пользоваться, излишняя сложность.
Денис, я честно читал все ваши предыдущие статьи и у меня только такие выводы - вы пишете велосипеды, не любите читать (и писать) документацию, писать тесты и вообще следовать стандартам. А еще не любите прислушиваться к чужому мнению. Впрочем, это никто не любит.
У него как-то сложная документация
Я не хочу разбираться в очередной переоценённой технологии, которая не даёт гибкости в действиях.
Ну, понятно, снова "фатальный недостаток".
Снова - cookiecutter решает проблемы по шаблонизации проекта.
Поверьте - хуже нет чем новому разработчику, придя в проект, разбираться в велосипедах, которые понаписали до него, игнорируя уже готовые и известные подходы (логирование, конфиги, деплой).
Я не нашёл примера у программcookiecutter
/ dynaconf
где они показывают аналогичный функционал. Может быть если я потрачу на изучения несколько дней то я найду вариант который может просто использовать python
файлы как инструмент создания конфигураций, а может не найду, тогда мне придётся подстраиваться под их правила, шерстить всю документация вверх и вниз, искать ответы на форумах. Но зачем это все делать если задача банальная, эту программу можно написать за вечер и она будет решать свою задачу. Это не Docker
или веб фреймворк или СУБД, чтобы подстраиваться под их правила, даже если они тебе не нравятся.
Писать велосипед к простым и важным технологиям это хорошо, потому то они решают конкретные задачи, без излишеств. Вы можете потратить недели разработки, а потом узнать что нужно фичи нет сторонней технологии, и что вы будете, разбираться в тысячах строчек чужого кода для создания форка и добавления фичи, и постоянно быть на чеку чтобы этот форк был актуален. Может это выход для сложных технологий, но не для простых технологий.
Ещё насчёт вашей просьбы о том, какие именно ставить минусы. Насколько я знаю, типы минусов видны только автору. Поэтому невозможно ввести в заблуждение аудиторию, ставя минус по поводу низкого технического содержания.
Ошипке в заголовке надо бы избежать.
В общем меня ограничили доступ к публикациям на Habr. Поэтому я ухожу с этой платформы. Спасибо, что в меня не верили и дизайкали без причинны, теперь у меня есть аргумент почему в нашей стране нет Open Sourse и почему все прогибаются под запад. Потому что российское комьюнити само себя сжирает, и не дает шансов новым идеям. (Это не все, но как видно большинство)
Это лучшее решение из доступных в России, особенно после того, как hashicorp решил, что война - это плохо.
Весь остальной мир пользуется системами управления конфигурациями и системами управления секретами.
Управление файлов конфигурации, используя всю мощь Python