Files
physicalCombinatorics/pyproject.toml
Andrew Simonson 20dae0dce3 Add pluggable LLM support with Gemini provider
- Add LLMProvider registry (llm/registry.py) that builds a provider from
  env vars (LLM_PROVIDER, GEMINI_API_KEY, GEMINI_MODEL)
- Add GeminiLLMProvider using the google-genai SDK
- Wire build_llm_provider() into CLI and web pipeline route (replacing llm=None)
- Wrap pass 2 and pass 4 LLM calls in per-combo try/except so API errors
  skip individual combos rather than aborting the whole run
- Add gemini optional dep to pyproject.toml; Dockerfile installs [web,gemini]
- Document env vars in .env.example and README
- Lower requires-python to >=3.10 to match installed system Python

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 22:04:35 -06:00

37 lines
676 B
TOML

[build-system]
requires = ["setuptools>=68.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "physcom"
version = "0.1.0"
description = "Physical Combinatorics — innovation via attribute mixing"
requires-python = ">=3.10"
dependencies = [
"click>=8.1",
]
[project.optional-dependencies]
dev = [
"pytest>=7.0",
]
web = [
"flask>=3.0",
]
gemini = [
"google-genai>=1.0",
]
[project.scripts]
physcom = "physcom.cli:main"
physcom-web = "physcom_web.app:run"
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
physcom_web = ["templates/**/*.html", "static/**/*"]
[tool.pytest.ini_options]
testpaths = ["tests"]