A class to use pydantic settings together with Azure KeyVault
The behaviour of the class is exactly like in pydantic.BaseSettings
, except the step which checks azure key vault:
settings_args > envs > dotenv > secret_directory > azure_keyvault > defaults
pip install pydantic-azure-secrets
# Example for GitHub REST API
from pydantic import HttpUrl, SecretStr
from pydantic_azure_secrets import AzureVaultSettings
class GitHubBasic(AzureVaultSettings):
url: HttpUrl = "https://api.github.com/user"
username: str
token: SecretStr
class Config:
env_prefix = "github_"
azure_keyvault = <your_keyvault_URI> # e.g. "https://pydantic-test-kv.vault.azure.net/"
github_settings = GitHubBasic()
# GitHubBasic(url=HttpUrl('https://github.com', scheme='https', host='github.com', tld='com', host_type='domain'), username='kewtree1408', token=SecretStr('**********'))
See more examples in the example.py
Authentification for azure keyvault is the same as for SDK
Before using the library, please log in to your Azure subscription with one of the following methods
- az login
- environment variables:
AZURE_CLIENT_ID
,AZURE_CLIENT_PASSWORD
,AZURE_TENANT_ID
see more
tox