Environment Variables
Basic Usage
from pydantic import BaseModel
from utilityhub_config import load_settings
class Config(BaseModel):
database_url: str
debug: bool = False
export DATABASE_URL=postgres://localhost/prod
export DEBUG=true
settings, _ = load_settings(Config)
print(settings.database_url) # postgres://localhost/prod
With Prefix
settings, _ = load_settings(Config, env_prefix="MYAPP")
export MYAPP_DATABASE_URL=postgres://localhost/prod
export MYAPP_DEBUG=true
Disable Environment Variables
settings, _ = load_settings(Config, env_vars=False)
When env_vars=False, no environment variable lookup is performed at all, even if env_prefix is also provided.
Field Naming
Python field → Environment variable:
- database_url → DATABASE_URL
- max_workers → MAX_WORKERS
- With prefix: MYAPP_DATABASE_URL