Load with schema
load_with_schema¶
Load configuration with Pydantic or dataclass schema validation.
Signature¶
def load_with_schema(
schema: Union[Type[BaseModel], Type],
env: Optional[str] = None,
path: str = ".env",
strict: bool = False,
trace: bool = False,
providers: Optional[List[BaseProvider]] = None,
cache: bool = True,
cache_ttl: int = 3600,
audit: bool = False,
failure_policy: Optional[Dict[str, Union[str, FailurePolicy]]] = None,
policy_file: Optional[str] = None,
) -> Union[BaseModel, Any]:
Parameters¶
schema- Pydantic model or dataclassenv- Environment namepath- Path to .env filestrict- Enable strict modetrace- Enable origin trackingproviders- List of providerscache- Enable cachingcache_ttl- Cache TTLaudit- Enable audit trailfailure_policy- Failure policiespolicy_file- Policy file
Returns¶
- Schema instance with loaded values
Examples¶
Pydantic¶
from pydantic import BaseModel
class Config(BaseModel):
port: int = 8080
debug: bool = False
api_key: str
config = load_with_schema(Config)
Dataclass¶
from dataclasses import dataclass
@dataclass
class Config:
port: int = 8080
debug: bool = False
api_key: str
config = load_with_schema(Config)