_
___| |__ ___ _ ____ __
/ __| '_ \ / _ | '_ \ \ / /
| (__| | | | __| | | \ V /
\___|_| |_|\___|_| |_|\_/ . modern local environment management
This command-line interface creates and manages local .env files from various sources.
Coupled with python-dotenv for python, or dotenv for node.js development, it provides better, more consistent environment variable management and developement.
To install chenv, run this command in your terminal:
$ pip install --user chenv
Also make sure that your $PATH
includes $HOME/.local/bin
.
If not, add this line to your .bashrc
/ .zshrc
:
export PATH=$HOME/.local/bin:$PATH;
chenv's usage looks like:
$ chenv COMMAND [ARGS]
Commands currently include:
Choose to set .env as a new, blank, .env.blank file.
Choose to set .env from a remote heroku app config-vars, as .env.[app-name].
-t <team>, --team <team> Pre-fill team name
-a <app>, --app <app> Pre-fill app name
Choose to set .env from a local, pre-exsiting .env.* file.
- filename
- Pre-fill file-suffix name
chenv also provides two file types that manipulate the output of new .env.* files being set.
Specifies intentionally unwanted environment-variables. Each line in a envignore file specifies a pattern.
When deciding whether to ignore an environment variable, chenv checks it's key against the list of patterns described in this file.
Pattern: .envignore uses the unix filename pattern matching, similar to .gitignore's, and as specified at https://docs.python.org/3/library/fnmatch.html
Sepecifies environment variables to merge / override after any input is chosen. This provides consistency to preffered settings such as the logging-level, or NODE_ENV for local development usage in node.js.