Skip to main content

.env file parser with interpolation and multi-file support

Project description

philiprehberger-env-file

Tests PyPI version License

.env file parser with interpolation and multi-file support.

Installation

pip install philiprehberger-env-file

Usage

Load into Environment

from philiprehberger_env_file import load_env

# Load .env (default)
load_env()

# Load multiple files (later files override earlier)
load_env(".env", ".env.local")

# Don't override existing env vars
load_env(override=False)

Parse Without Modifying Environment

from philiprehberger_env_file import parse_env_file

config = parse_env_file(".env")
print(config["DATABASE_URL"])

Supported Syntax

# Comments
KEY=value
export KEY=value

# Quoted values
SINGLE='no interpolation here'
DOUBLE="supports\nnewlines"

# Variable interpolation
BASE_URL=https://api.example.com
API_URL=${BASE_URL}/v1

# Empty values
EMPTY_VAR=

# Inline comments (unquoted values only)
HOST=localhost # this is a comment

API

  • load_env(*paths, override=True) — Load .env files into os.environ, returns dict of loaded vars
  • parse_env_file(path) — Parse a .env file, returns dict without modifying environment

Development

pip install -e .
python -m pytest tests/ -v

License

MIT

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

philiprehberger_env_file-0.1.5.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

philiprehberger_env_file-0.1.5-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file philiprehberger_env_file-0.1.5.tar.gz.

File metadata

  • Download URL: philiprehberger_env_file-0.1.5.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for philiprehberger_env_file-0.1.5.tar.gz
Algorithm Hash digest
SHA256 b101f0bcafa910bfb18eb86c7978355c66aae9b92b5a3020a77f2f06f76ca3b5
MD5 d68d783d7907b3a49f1935bd159278f5
BLAKE2b-256 c79354fbc4396f184a8cebad820ca28448b61b09725d809cf0802bf98f1a9a50

See more details on using hashes here.

File details

Details for the file philiprehberger_env_file-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for philiprehberger_env_file-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a758a8cd56a4ed74f12be32b70633ccd1117436454ca67becc44d1b82ba7479c
MD5 71d8dbba7fa8b6851246d2d9fdf2b297
BLAKE2b-256 6d7c54584e836411f31e586e47ae574e3c41b3389194d205d448edb67496d82f

See more details on using hashes here.

Supported by

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