2022-06-08 06:43:43
Разработка на Python по 12 принципам SaaS c библиотекой Python-dotenv
Разработчики ML-моделей и аналитики данных не всегда чисто пишут код, как профессиональные программисты. Улучшить качество кода поможет простая методология разработки веб-приложений или SaaS, которая рекомендует:
• использовать декларативные форматы для автоматизации настройки, чтобы сократить время и силы новых разработчиков, присоединяющихся к проекту;
• иметь чистый контракт с базовой операционной системой, обеспечивающий максимальную переносимость между средами выполнения;
• запускать развертывания на современных облачных платформах, избавляя от необходимости администрирования серверов и систем;
• сокращать расхождения между разработкой и производством, обеспечивая непрерывное развертывание для максимальной гибкости;
• масштабироваться без существенных изменений в инструментарии, архитектуре или методах разработки.
Для реализации этих идей SaaS предлагает строить приложения по 12 принципам:
1. Одна кодовая база отслеживается в системе контроля версий, множество развертываний
2. Явно объявить и изолировать зависимости
3. Хранить конфигурацию в среде
4. Относиться к вспомогательным сервисам как к присоединенным ресурсам
5. Строго разделять этапы сборки и запуска
6. Исполнять приложение как один или несколько stateless-процессов
7. Экспортировать сервисы через привязку к порту
8. Обеспечивать параллелизм через масштабирование с помощью модели процесса
9. Максимальная надежность благодаря быстрому запуску и плавному завершению работы
10. Переносимость и похожесть сред от разработки до производства через тестовую
11. Логировать, чтобы рассматривать журналы как потоки событий
12. Выполнять задачи администрирования/управления как одноразовых процессов
Реализовать все это для Python-программы поможет открытая библиотека Python-dotenv. Она считывает пары ключ-значение из файла .env и может устанавливать их как переменные среды. Если приложение берет конфигурацию из переменных среды, запуск его в процессе разработки не очень практичен, т.к. разработчику нужно установить эти переменные среды самостоятельно. Добавив Python-dotenv в свое приложение, можно упростить процесс разработки. Библиотека сама загрузит конфигурацию из файла .env, оставаясь при этом настраиваемым через среду.
Также библиотека может загрузить конфигурацию без изменения среды, распарсить конфигурацию как поток и загрузить файлы .env в IPython. Инструмент также имеет CLI-интерфейс, чтобы манипулировать файлом .env, не открывая его вручную.
https://github.com/theskumar/python-dotenv
238 views03:43