Expand Environment Variables Unix Style

1.1.2 · active · verified Fri Apr 10

The `expandvars` Python library provides functionality to expand system environment variables within strings, similar to how Unix shells do. It supports both `$VAR` and `${VAR}` syntaxes, including default values and escape sequences. The current version is 1.1.2, with releases occurring periodically to address bugs and add features.

Warnings

Install

Imports

Quickstart

Demonstrates basic expansion of environment variables (`$VAR`, `${VAR}`), default values (`${VAR:-default}`), and escaping with a backslash (`\$`).

import os
from expandvars import expandvars

# Set environment variables for demonstration (use os.environ.get for robustness)
os.environ['API_KEY'] = os.environ.get('API_KEY', 'your_default_api_key')
os.environ['SERVICE_URL'] = 'https://example.com/api'

# Basic variable expansion
config_string = "My service at ${SERVICE_URL} requires key: $API_KEY"
expanded_config = expandvars(config_string)
print(f"Original: {config_string}")
print(f"Expanded: {expanded_config}")

# Example with a default value for an unset variable
missing_var_string = "Optional setting: ${OPTIONAL_VAR:-default_value}"
expanded_missing = expandvars(missing_var_string)
print(f"Original: {missing_var_string}")
print(f"Expanded: {expanded_missing}")

# Example with escaping a dollar sign
escaped_string = expandvars("Literal dollar sign: \$VAR")
print(f"Escaped: {escaped_string}")

view raw JSON →