Skip to main content

Simple dotenv CLI.

Project description

dotenv CLI

Dotenv-CLI is a simple package that provides the dotenv command. It reads the .env file from the current directory puts the contents in the environment and executes the given command.

dotenv supports alternative .env files like .env.development via the -e or --dotenv parametes.

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 python3-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.0.1.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

dotenv_cli-3.0.1-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file dotenv-cli-3.0.1.tar.gz.

File metadata

  • Download URL: dotenv-cli-3.0.1.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.5

File hashes

Hashes for dotenv-cli-3.0.1.tar.gz
Algorithm Hash digest
SHA256 9fd86a964d501b5c26ef1c31a1d1a9be572227eb03d43656c6b2d8451c1275cc
MD5 937587b9e5fc67a8e1c4a2319189e446
BLAKE2b-256 7f5811357c948b118b550c9b4239f1754887038c2556adfbb42bdb17538c2b7b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dotenv_cli-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.5

File hashes

Hashes for dotenv_cli-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b3e406fe0a0833c701c2dca261b5c40a380b9fe8e75af41ffd059bf599e99323
MD5 d4cfa3b853da220a0b602bced63f5625
BLAKE2b-256 b23a4ad76d494e70d2573b05a2d6a1ca49a3cbeb5804047ed726fc9c83b1dc8c

See more details on using hashes here.

Supported by

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