Skip to content
This repository has been archived by the owner on Sep 18, 2022. It is now read-only.

A class to use pydantic settings together with Azure KeyVault

License

Notifications You must be signed in to change notification settings

kewtree1408/pydantic-azure-secrets

Repository files navigation

pydantic-azure-secrets

A class to use pydantic settings together with Azure KeyVault

tests

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

Install:

pip install pydantic-azure-secrets

Example:

# 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

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

Run tests

tox

TODO:

About

A class to use pydantic settings together with Azure KeyVault

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published