Приложение для определения типа окружения и работы с ним.
Особенности

  • Определение типа окружения (правила определения могут быть заданы пользователем);
  • Поддержка .env файлов;
  • Удобная обёртка над os.environ (с возможностью приведения значений переменных окружения к типам Python);
  • Встроенный механизм для автоматического импорта модулей для текущего типа окружения;
  • Интерфейс командной строки.

Пример использования

    from envbox import get_environment

# Определяем тип окружения и получам его объект.
#
# Источники для определения типа по умолчанию:
# 1. Переменная окружения PYTHON_ENV
# 2. Содержимое файла environment
#
# По умолчанию функция также считает
# переменные окружения из .env файлов.
env = get_environment()

env.name # название типа окружения
# >> development

env.is_production # является ли окружение боевым
# >> False

# доступ к переменной окружения
env.get('HOME') # или env['HOME'] или env.HOME
# >> /home/idle/

# чтение всех переменных с общим префиксом
env.getmany('PYTHON')
# {'UNBUFFERED': '1', 'IOENCODING': 'UTF-8', 'PATH': ...}

А теперь возможно вы захотите положить переменные окружения в .env файлы (например: .env, .env.development .env.production), чтобы envbox автоматически считала их:

  MY_VAR1 = value1
HOME = /home/other/

Интерфейс командной строки

    # определим тип окружения
$ envbox probe
# >> Detected environment type: development (Development)

# покажем переменные, доступные в окружении
$ envbox show
# >> [...]
# >> SHELL = /bin/bash
# >> [...]

За более подробным описанием и примерами обратитесь к документации (англ.).

Смотрите также:
* Анонс envbox 0.2.0

Категории


На заметку
В соответствующем разделе вы можете зарегистрировать сообщество по интересам, чтобы о нём узнали и другие посетители сайта — возможно, так вы отыщите новых единомышленников и друзей.. И не важно виртуальное оно, или вполне реальное, давно существующее, или только-только придуманное.