Cómo cargar la configuración de MariaDB desde el entorno usando pydantic_settings

Usa este código para cargar la configuración de MySQL/MariaDB desde variables de entorno usando la biblioteca pydantic_settings:

mariadb_settings.py
from pydantic_settings import BaseSettings

class MariaDBSettings(BaseSettings):
    hostname: str = "mariadb"
    user: str = "root"
    password: str = "abc123"
    database: str = "mydb"

    class Config:
        env_prefix = 'MARIADB_'

Opcionalmente: si quieres cargarlo desde un archivo .env, puedes usar load_dotenv de la biblioteca dotenv:

load_dotenv_example.py
# Cargar variables de entorno desde un archivo .env si es necesario
# Este paso es opcional y solo es necesario si estás usando un archivo .env
from dotenv import load_dotenv
load_dotenv()

Ejemplo de uso

mariadb_settings_usage.py
settings = MariaDBSettings()

print("MARIADB_HOSTNAME:", settings.hostname)
print("MARIADB_USER:", settings.user)
print("MARIADB_PASSWORD:", settings.password)
print("MARIADB_DATABASE:", settings.database)

Ejemplo de salida:

mariadb_settings_default_output.sh
$ ./mariadb_settings.py
MARIADB_HOSTNAME: mariadb
MARIADB_USER: root
MARIADB_PASSWORD: abc123
MARIADB_DATABASE: mydb
mariadb_settings_env_output.sh
$ MARIADB_HOSTNAME=10.1.2.3 ./mariadb_settings.py
MARIADB_HOSTNAME: 10.1.2.3
MARIADB_USER: root
MARIADB_PASSWORD: abc123
MARIADB_DATABASE: mydb

Echa un vistazo a artículos similares por categoría: Python Bases de datos