Skip to main content

Simple dotenv CLI.

Project description

dotenv CLI

Dotenv-CLI provides the dotenv command. dotenv loads the .env file from the current directory, puts the contents in the environment by either changing existing- or adding new environment variables, and executes the given command.

dotenv supports alternative .env files like .env.development via the -e or --dotenv parameters. This parameter can be repeated to load multiple files, the .env files will be loaded in the order they are provided.

With the --replace flag, dotenv also provides an option to completely replace the environment variables with the ones from the .env file, allowing you to control exactly which environment variables are set.

dotenv provides bash completion, so you can use dotenv like this:

$ dotenv make <TAB>
all      clean    docs     lint     release  test

Install

Using PyPi

dotenv-cli is available on PyPi, you can install it via:

$ pip install dotenv-cli

On Debian and Ubuntu

Alternatively, you can install dotenv-cli on Debian based distributions via:

# apt-get install dotenv-cli

Usage

Create an .env file in the root of your project and populate it with some values like so:

SOME_SECRET=donttrythisathome
SOME_CONFIG=foo

Just prepend the command you want to run with the extra environment variables from the .env file with dotenv:

$ dotenv some-command

and those variables will be available in your environment variables.

Rules

The parser understands the following:

  • Basic unquoted values (BASIC=basic basic)
  • Lines starting with export (export EXPORT=foo), so you can source the file in bash
  • Lines starting with # are ignored (# Comment)
  • Empty values (EMPTY=) become empty strings
  • Inner quotes are maintained in basic values: INNER_QUOTES=this 'is' a test or INNER_QUOTES2=this "is" a test
  • White spaces are trimmed from unquoted values: TRIM_WHITESPACE= foo and maintained in quoted values: KEEP_WHITESPACE=" foo "
  • Interpret escapes (e.g. \n) in double quoted values, keep them as-is in single quoted values.

Example .env file:

BASIC=basic basic
export EXPORT=foo
EMPTY=
INNER_QUOTES=this 'is' a test
INNER_QUOTES2=this "is" a test
TRIM_WHITESPACE= foo
KEEP_WHITESPACE="  foo  "
MULTILINE_DQ="multi\nline"
MULTILINE_SQ='multi\nline'
MULTILINE_NQ=multi\nline
#
# some comment

becomes:

$ dotenv env
BASIC=basic basic
EXPORT=foo
EMPTY=
INNER_QUOTES=this 'is' a test
INNER_QUOTES2=this "is" a test
TRIM_WHITESPACE=foo
KEEP_WHITESPACE=  foo
MULTILINE_DQ=multi
line
MULTILINE_SQ=multi\nline
MULTILINE_NQ=multi\nline

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

dotenv_cli-3.4.1.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

dotenv_cli-3.4.1-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file dotenv_cli-3.4.1.tar.gz.

File metadata

  • Download URL: dotenv_cli-3.4.1.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for dotenv_cli-3.4.1.tar.gz
Algorithm Hash digest
SHA256 8357511e041eda48b6a9f310d416cbfcee4aaeef7f66b2cb817031ac15de3c2d
MD5 79e28076b08df875379c38f5c6bc4ddf
BLAKE2b-256 7d0c24d1332d85ec949a77c2e9422b682724026004df8d919a202073ebdc0276

See more details on using hashes here.

File details

Details for the file dotenv_cli-3.4.1-py3-none-any.whl.

File metadata

  • Download URL: dotenv_cli-3.4.1-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for dotenv_cli-3.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 69f8ee14788d9cf611de022746a6486a87ccc672e95b73eb333e887e904e0053
MD5 c02239a6b27386cd7b5b3d4ceeeb1b1a
BLAKE2b-256 2cbb90dc3d9babb1ec8effebd379bce95966b3f9830306efd4578189e2e3a520

See more details on using hashes here.

Supported by

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