Skip to content

Commit b64d89a

Browse files
committed
Fix formatting
1 parent 9317d52 commit b64d89a

File tree

1 file changed

+99
-1
lines changed

1 file changed

+99
-1
lines changed

docs/index.md

Lines changed: 99 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1887,15 +1887,23 @@ Value for `Settings.db.user` can be passed in env variable `MY_DB__USER`.
18871887

18881888
```py
18891889
from pydantic import BaseModel, SecretStr
1890-
from pydantic_settings import BaseSettings, NestedSecretsSettingsSource, SettingsConfigDict
1890+
1891+
from pydantic_settings import (
1892+
BaseSettings,
1893+
NestedSecretsSettingsSource,
1894+
SettingsConfigDict,
1895+
)
1896+
18911897

18921898
class AppSettings(BaseModel):
18931899
key: SecretStr
18941900

1901+
18951902
class DbSettings(BaseModel):
18961903
user: str
18971904
passwd: SecretStr
18981905

1906+
18991907
class Settings(BaseSettings):
19001908
app: AppSettings
19011909
db: DbSettings
@@ -1934,12 +1942,57 @@ class Settings(BaseSettings):
19341942
└── 📄 passwd
19351943
```
19361944
```py
1945+
from pydantic import BaseModel, SecretStr
1946+
1947+
from pydantic_settings import (
1948+
BaseSettings,
1949+
NestedSecretsSettingsSource,
1950+
SettingsConfigDict,
1951+
)
1952+
1953+
1954+
class AppSettings(BaseModel):
1955+
key: SecretStr
1956+
1957+
1958+
class DbSettings(BaseModel):
1959+
user: str
1960+
passwd: SecretStr
1961+
1962+
1963+
class Settings(BaseSettings):
1964+
app: AppSettings
1965+
db: DbSettings
1966+
1967+
model_config = SettingsConfigDict(
1968+
env_prefix='MY_',
1969+
env_nested_delimiter='__',
1970+
secrets_dir='secrets',
1971+
secrets_nested_delimiter='_',
1972+
)
1973+
19371974
model_config = SettingsConfigDict(
19381975
env_prefix='MY_',
19391976
env_nested_delimiter='__',
19401977
secrets_dir='secrets',
19411978
secrets_nested_subdir=True,
19421979
)
1980+
1981+
@classmethod
1982+
def settings_customise_sources(
1983+
cls,
1984+
settings_cls,
1985+
init_settings,
1986+
env_settings,
1987+
dotenv_settings,
1988+
file_secret_settings,
1989+
):
1990+
return (
1991+
init_settings,
1992+
env_settings,
1993+
dotenv_settings,
1994+
NestedSecretsSettingsSource(file_secret_settings),
1995+
)
19431996
```
19441997

19451998
### Use Case: Multiple Nested Directories
@@ -1958,12 +2011,57 @@ class Settings(BaseSettings):
19582011
└── 📄 passwd
19592012
```
19602013
```py
2014+
from pydantic import BaseModel, SecretStr
2015+
2016+
from pydantic_settings import (
2017+
BaseSettings,
2018+
NestedSecretsSettingsSource,
2019+
SettingsConfigDict,
2020+
)
2021+
2022+
2023+
class AppSettings(BaseModel):
2024+
key: SecretStr
2025+
2026+
2027+
class DbSettings(BaseModel):
2028+
user: str
2029+
passwd: SecretStr
2030+
2031+
2032+
class Settings(BaseSettings):
2033+
app: AppSettings
2034+
db: DbSettings
2035+
2036+
model_config = SettingsConfigDict(
2037+
env_prefix='MY_',
2038+
env_nested_delimiter='__',
2039+
secrets_dir='secrets',
2040+
secrets_nested_delimiter='_',
2041+
)
2042+
19612043
model_config = SettingsConfigDict(
19622044
env_prefix='MY_',
19632045
env_nested_delimiter='__',
19642046
secrets_dir=['secret/default', 'secret/override'],
19652047
secrets_nested_subdir=True,
19662048
)
2049+
2050+
@classmethod
2051+
def settings_customise_sources(
2052+
cls,
2053+
settings_cls,
2054+
init_settings,
2055+
env_settings,
2056+
dotenv_settings,
2057+
file_secret_settings,
2058+
):
2059+
return (
2060+
init_settings,
2061+
env_settings,
2062+
dotenv_settings,
2063+
NestedSecretsSettingsSource(file_secret_settings),
2064+
)
19672065
```
19682066

19692067
### Configuration Options

0 commit comments

Comments
 (0)