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

Function / Class Description
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.6.tar.gz (4.8 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.6-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: philiprehberger_env_file-0.1.6.tar.gz
  • Upload date:
  • Size: 4.8 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.6.tar.gz
Algorithm Hash digest
SHA256 028f4164dd8d264e2c311069d133f328694de125c3388dd4235e88bfbb1296cb
MD5 d9c8c8e9e51fd4e7a8889b877bbe30e0
BLAKE2b-256 0e7750c5934f5b0e087fd9a51f2829e5e7b590371849a72657790e13d29a13d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for philiprehberger_env_file-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d1cfb278f1614fc18b3d80ebfde9eb29c05c2b3e817eb809d2c8186b24442766
MD5 6bc885963cc5c6c7a1ba55b2ea1d3a53
BLAKE2b-256 94ef870be48248ec9a37d55fc63933abe543232f94534d36dbdaf5869e14fa63

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