Skip to content

mathsucks/barbara

Repository files navigation

image

python downloads license version

Environment variable management

New in 2.0!

  • Features have been dropped:
    • Legacy templates aren't supported anymore
    • Subvariables aren't supported anymore
    • SSM support has been dropped, as there are better ways to do this
  • Schema-version has been added to document schema to make it easier for me to deprecate and change the schema if necessary

Installation

$ pip install barbara

Usage

YAML Format (.env.yml)

  1. Create an .env.yml for your project
schema-version: 2
project:
  name: your_project
  output: env-file

environment:
  ENVIRONMENT_NAME: development
  DATABASE_URL: postgres://root@db:5432/mydb
  DEBUG: 1
  MEDIA_DIRS: media,static
  CSRF_COOKIE_SECURE: 0
  1. Run barb and you'll be prompted for the values
$ barb
env-file does not exist. Create it? [y/N]: y
Creating environment: env-file
Skip Existing: True
DATABASE_URL [postgres://root@db:5432/mydb]: root:wordpass@127.0.0.1:5432/sample
ENVIRONMENT_NAME [development]:
Environment ready!
  1. Inspect the generated file, see your values!
$ cat .env
DATABASE_URL=root:wordpass@127.0.0.1:5432/sample
ENVIRONMENT_NAME=development

Why barbara?

Because Barbara Liskov created the Liskov Substitution Principle and is a prolific contributor to computer science and software engineering. Barbara is one of the Newton's metaphorical giants that enables us to see further. I humbly dedicate my project to her and her contributions and offer this project to its consumers with a license befitting that dedication.