Skip to main content

Configuration from environment variables

Project description

envcfglib

A simple library to load configuration from environment variables.

Installation

This package targets Python 3.12+.

pip install envcfglib

Quick start

Load values from the environment with optional conversion (factory) and defaults.

from envcfglib import Config

config = Config()

# Load an integer value from the environment (raises if missing)
# export APP_PORT=8080
config.load_configuration("APP_PORT", factory=int)

# Retrieve the value (already converted by the factory at load-time)
port = config.get_value("APP_PORT")
print(port)  # e.g., 8080

Factories and defaults

You can control conversion either when loading or when retrieving.

from envcfglib import Config

config = Config()

# Provide a default if the variable is not set
config.load_configuration("DEBUG", default="false")

# Convert when getting the value
is_debug = config.get_value("DEBUG", factory=lambda x: str(x).lower() == "true")
print(is_debug)  # False

# Or convert during load
config.load_configuration("RETRIES", factory=int, default=3)
print(config.get_value("RETRIES"))  # 3

Multiple instances

Config implements a singleton-per-key pattern. Creating instances with different keys allows you to conceptually group configuration, but all loaded values are accessible from any instance.

from envcfglib import Config

app1 = Config("APP1")
app2 = Config("APP2")

# Suppose these are in the environment
# export APP1_VAR=alpha
# export APP2_VAR=beta

app1.load_configuration("VAR")
app2.load_configuration("VAR")

print(app1.get_value("VAR"))  # alpha
print(app2.get_value("VAR"))  # beta

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

envcfglib-0.1.6.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

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

envcfglib-0.1.6-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: envcfglib-0.1.6.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for envcfglib-0.1.6.tar.gz
Algorithm Hash digest
SHA256 60ec200d5905e53a305abfb19df901025f16f32ea40dc6904fbc307c99d773f1
MD5 596e96b15ef2f44e1dfe750408030d96
BLAKE2b-256 15f239c5b9c7bcf2a0aa2ed945fc0edae22de253ca57f8e617b4af85a09719ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for envcfglib-0.1.6.tar.gz:

Publisher: publish.yml on jotonedev/envcfglib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: envcfglib-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 3.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for envcfglib-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 09b3d5d69f49e8f659726645e7024902cb1c2e771b5f7bc47be31ef2e03bafb3
MD5 8553ab882d0b69855a724ee479444c9f
BLAKE2b-256 4e7595aa1b5fc036f953a374d98a72db602be6fdebceabb048d910be1eca80f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for envcfglib-0.1.6-py3-none-any.whl:

Publisher: publish.yml on jotonedev/envcfglib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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