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.4.tar.gz (4.6 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.4-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: philiprehberger_env_file-0.1.4.tar.gz
  • Upload date:
  • Size: 4.6 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.4.tar.gz
Algorithm Hash digest
SHA256 ee04057125934d71d46e5636bf9c120e752b2115c78478114cebbf2f9a2faf57
MD5 08766ecf66209e1b963ae36be9833c27
BLAKE2b-256 5984f119e860064154cc59dcd63fb8d8f3df6be430d160614487281e80a94b68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for philiprehberger_env_file-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d6c4ff6094e929a604d264460beb1bbebac388b8e9fd97945ed25c306e61c5e2
MD5 a88860c38343fc57d88db4c81c234c91
BLAKE2b-256 2cd6f71d5aa0d67e417b9a53ffd421008f832fba6aea67443beaadb5e4542512

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