Yaml support for Pydantic settings
Project description
pydantic-settings-yaml
Note: 2.x needs Pydantic>2.0,<3.0. Install 1.x if you still need Pydantic 1.x.
Yaml support for Pydantic settings. Load a yaml config file as nested Pydantic models.
Allows to use file:xxxx placeholders in the yaml config file for secrets. A placeholder is replaced with the contents of the file. Paths are relative to the 'secrets_dir' setting (see below).
Usage
$cat /config/config.yaml
database:
password: <file:database_password>
username: my_database_username
$cat /secrets/database_password
my_secret_database_password
Python code example:
from pydantic import BaseModel
from pydantic_settings_yaml import YamlBaseSettings
from pydantic_settings import SettingsConfigDict
class Database(BaseModel):
username: str
password: str
class Settings(YamlBaseSettings):
database: Database
# configure paths to secrets directory and YAML config file
model_config = SettingsConfigDict(
secrets_dir="/secrets", yaml_file="/config/config.yaml")
settings = Settings()
assert settings.dict() == {
"database": {
"password": "my_secret_database_password",
"username": "my_database_username"
}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for pydantic_settings_yaml-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee3c679ecd04ae045de100458387ff92bb54b435807ca8ac0726c141f63b1c8d |
|
MD5 | 5504845913414fbc96369079b8bc9040 |
|
BLAKE2b-256 | 03b50de91f5e0d23c0301e44029d5f64a32127f89611acc0a11fc55eb2bc90d1 |
Close
Hashes for pydantic_settings_yaml-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5e3a4866d124cc03bff5cca968455ce658f0382a8287c4b14e5fe91a2d6e2ef |
|
MD5 | 4462686d7564a388651a18680e6fcec5 |
|
BLAKE2b-256 | 48a287a0b61a3078be07ab04ec574ef6c683c764590ed0d2a50d00cbb23aeae7 |