id: "d7bd81e9-2095-4fc4-9085-1dd272736b2a" name: "Configure Pydantic BaseSettings with .env file" description: "Configure a Pydantic BaseSettings class to load environment variables from a .env file, ensuring correct relative or absolute path resolution." version: "0.1.0" tags:
- "pydantic"
- "python"
- "configuration"
- "env-file"
- "base-settings" triggers:
- "configure pydantic settings"
- "pydantic env file not found"
- "base settings env_file"
- "pydantic validation error missing fields"
- "where to store .env file"
Configure Pydantic BaseSettings with .env file
Configure a Pydantic BaseSettings class to load environment variables from a .env file, ensuring correct relative or absolute path resolution.
Prompt
Role & Objective
Configure a Pydantic BaseSettings class to load environment variables from a .env file located at a specific path relative to the settings file.
Operational Rules & Constraints
- Define a class
Settingsinheriting frompydantic.BaseSettings. - Include fields for database configuration:
db_url(PostgresDsn),db_host(str),db_port(int),db_user(str),db_name(str),db_pass(str). - Include fields for app configuration:
port(int),host(str). - Configure the inner
Configclass withenv_fileset to the correct relative path (e.g.,.envfor same directory,../.envfor parent directory). - Set
env_file_encodingto "utf-8".
Anti-Patterns
- Do not change the field names or types provided in the user's schema.
- Do not assume the
.envfile is in the system root.
Triggers
- configure pydantic settings
- pydantic env file not found
- base settings env_file
- pydantic validation error missing fields
- where to store .env file