forked from Rockachopa/Timmy-time-dashboard
chore: pydantic-settings config, logging, CI workflow
Config (src/config.py): - pydantic-settings Settings class: OLLAMA_URL, OLLAMA_MODEL, DEBUG - Reads from .env (gitignored) with sane defaults - settings singleton imported by health.py and agent.py Removes two hardcodes: - health.py: OLLAMA_URL="http://localhost:11434" → settings.ollama_url - agent.py: Ollama(id="llama3.2") → settings.ollama_model app.py: - logging.basicConfig at INFO — requests/errors now visible in terminal - docs_url/redoc_url gated on settings.debug (off by default) pyproject.toml: - pydantic-settings>=2.0.0 added to main dependencies - hatch wheel config updated to include src/config.py .env.example: documents all three env vars with inline comments .gitignore: add !.env.example negation so the template gets committed .github/workflows/tests.yml: runs pytest --cov on every push/PR (ubuntu-latest, Python 3.11, pip cache) All 27 tests pass. https://claude.ai/code/session_01M4L3R98N5fgXFZRvV8X9b6
This commit is contained in:
21
src/config.py
Normal file
21
src/config.py
Normal file
@@ -0,0 +1,21 @@
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
# Ollama host — override with OLLAMA_URL env var or .env file
|
||||
ollama_url: str = "http://localhost:11434"
|
||||
|
||||
# LLM model passed to Agno/Ollama — override with OLLAMA_MODEL
|
||||
ollama_model: str = "llama3.2"
|
||||
|
||||
# Set DEBUG=true to enable /docs and /redoc (disabled by default)
|
||||
debug: bool = False
|
||||
|
||||
model_config = SettingsConfigDict(
|
||||
env_file=".env",
|
||||
env_file_encoding="utf-8",
|
||||
extra="ignore",
|
||||
)
|
||||
|
||||
|
||||
settings = Settings()
|
||||
Reference in New Issue
Block a user