Skip to main content

Easy injection of environment variables from .env files.

Project description

If you spend a lot of time switching between multiple Python projects and using several virtual environment, you’ll be familiar with the pain of injecting the right environment variables into your scripts. You can use autoenv, but it doesn’t automatically load the virtual environment for you, so you need to litter the .env file with bash commands. Or you can use a postactivate hook in virtualenvwrapper, but that would mean not having a standardized, default location for all the needed environment variables. And what if you use an IDE like PyCharm, which doesn’t load variables from .env files?

Envious solves the problem by loading configurations from an .env file in the working directory directly from within your Python code, injecting environment variables if they’re not already defined, while keeping those that are already set.

Installation

To install envious, simply type:

$ pip install envious

Usage

To have your project import environment variables from an .env file, first create the file in the root folder of your project:

ENVIRONMENT=development
MONGODB_URL=http://localhost:27017/mydb
REDIS_URL=http://localhost:6379/0

Then add the following to the Python app entry point:

from envious import load_env

load_env()

If you want to manage multiple configuration files for the same project, you’re covered. Create multiple configuration files, and then specify the one you want to use by providing an environment variable named ENV_FILE:

$ echo MONGODB_URL=http://localhost:27017/myseconddb > .env2
$ ENV_FILE=.env2 python my_script.py

The script will see the alternative value for the environment value MONGODB_URL.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

envious-0.2.0.tar.gz (2.4 kB view details)

Uploaded Source

File details

Details for the file envious-0.2.0.tar.gz.

File metadata

  • Download URL: envious-0.2.0.tar.gz
  • Upload date:
  • Size: 2.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for envious-0.2.0.tar.gz
Algorithm Hash digest
SHA256 02646b9b0d30960bd4a5da71c7c8a450880c33f630d08039e9401f10c8f36e96
MD5 3220254d3fd43112371362609b42eb7f
BLAKE2b-256 ca6d1f1f8f0b6a01aa7f2ee3a628f52c7cd969798081a6ac88c069ca1f4fa517

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page