Navigate:
All Repospython-dotenv
~$PYTHON0.0%

python-dotenv: Load environment variables from .env files

Parse and load .env files into Python environments.

LIVE RANKINGS • 06:51 AM • STEADY
OVERALL
#246
41
DEVELOPER TOOLS
#48
6
30 DAY RANKING TREND
ovr#246
·Devel#48
STARS
8.6K
FORKS
491
DOWNLOADS
72
7D STARS
+2
7D FORKS
0
See Repo:
Share:

Learn more about python-dotenv

python-dotenv is a Python library for parsing and loading environment configuration from .env files into the process environment. It reads files using Bash-like syntax, supporting features such as variable expansion, multiline values, and quoted strings. The library provides both programmatic APIs (load_dotenv and dotenv_values functions) and a command-line interface for managing .env files. It is commonly used in development workflows to avoid hardcoding configuration values while maintaining compatibility with production systems that source configuration from actual environment variables.

python-dotenv

1

Non-destructive loading

By default, load_dotenv does not override existing environment variables unless explicitly configured, allowing environment variables set outside the .env file to take precedence.

2

Multiple loading modes

Supports loading from filesystem paths, searching up the directory tree, or parsing from arbitrary streams such as StringIO objects, enabling configuration from various sources beyond .env files.

3

Bash-like syntax support

Implements Bash-compatible .env file parsing including variable expansion with ${VAR} syntax, multiline values, and quoted string handling, reducing the need to learn a separate configuration format.


from dotenv import load_dotenv
import os

# Load variables from .env file into environment
load_dotenv()

# Access environment variables
api_key = os.getenv('API_KEY')
database_url = os.getenv('DATABASE_URL')

print(f"Connected to: {database_url}")

vv1.2.1

Adds support for reading .env files from Unix FIFOs; no breaking changes or new requirements.

  • Use FIFOs (named pipes) as .env sources on Unix systems for dynamic configuration injection.
  • CI now uses trusted publishing; no action required for users upgrading from v1.2.0.
vv1.2.0

Adds PYTHON_DOTENV_DISABLED env flag to skip load_dotenv() calls; Python 3.14 support added, project config moved to pyproject.toml.

  • Set PYTHON_DOTENV_DISABLED=1 to globally disable load_dotenv() without code changes (fixes #510).
  • Python 3.14 is now tested and supported; project metadata consolidated into pyproject.toml.
vv1.1.1

Patch release fixing Python 3.13 compatibility in find_dotenv and resolving a Windows CLI execution bug.

  • Upgrade if using Python 3.13, as find_dotenv now works reliably on that version.
  • Apply this release to fix execvpe failures when using the CLI on Windows systems.


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers