Set up Python 3.12.11 FastAPI project with security-focused dependency management. Dependencies: - FastAPI 0.123.9: Modern web framework - Uvicorn 0.38.0: ASGI server with standard extras - Pydantic 2.12.5: Data validation (updated for pydantic-ai) - PydanticAI 1.27.0: LLM agent framework with Ollama support - HTTPX 0.28.1: Async HTTP client - SSE-Starlette 3.0.2: Server-Sent Events for streaming - python-dotenv 1.2.1: Environment configuration Security: - All packages checked for CVEs (as of 2025-12-06) - Minor version locking (>=X.Y,<X.(Y+1)) for supply chain protection - CVE status documented in requirements.txt Development tools: - pytest 8.3.5 + pytest-asyncio for async testing - pytest-cov 6.0.0 for coverage reporting - ruff 0.8.6 for linting and formatting - mypy 1.14.1 for type checking Configuration: - pyproject.toml: Build system, coverage, ruff, and mypy config - .env.example: Environment variable template - .gitignore: Comprehensive Python/FastAPI patterns Target model: mistral-nemo:latest on external Ollama instance 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
22 lines
382 B
Bash
22 lines
382 B
Bash
# Application Configuration
|
|
APP_NAME="OpenAI-Compatible API"
|
|
APP_VERSION="0.1.0"
|
|
ENVIRONMENT=development
|
|
DEBUG=false
|
|
|
|
# API Configuration
|
|
API_HOST=0.0.0.0
|
|
API_PORT=8000
|
|
API_PREFIX=/v1
|
|
|
|
# Ollama Configuration
|
|
OLLAMA_HOST=http://your-ollama-host:11434
|
|
OLLAMA_DEFAULT_MODEL=mistral-nemo:latest
|
|
OLLAMA_TIMEOUT=120
|
|
|
|
# Logging
|
|
LOG_LEVEL=INFO
|
|
|
|
# CORS (comma-separated list)
|
|
CORS_ORIGINS=*
|