Keep configuration settings separate from application code by using environment variables or dedicated configuration files. This promotes better maintainability, security, and flexibility across different deployment environments.
Keep configuration settings separate from application code by using environment variables or dedicated configuration files. This promotes better maintainability, security, and flexibility across different deployment environments.
import os
# Read configuration from environment variables with defaults
database_url = os.getenv("DATABASE_URL", "sqlite:///default.db")
debug_mode = os.getenv("DEBUG_MODE", "False") == "True"
$ python -m venv .venv
$ source .venv/bin/activate # Linux/macOS
$ .venv\Scripts\Activate.ps1 # Windows PowerShell
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
database_url: str = "sqlite:///default.db"
api_key: str
debug_mode: bool = False
class Config:
env_file = ".env"
settings = Settings()
By separating configuration from code, you can adapt your application to different environments without changing the codebase, simplify testing, and enhance security by keeping sensitive information out of your repository.
Enter the URL of a public GitHub repository