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