- Add FastAPI application with complete router structure - Implement search, articles, ask, feedback, and health endpoints - Add comprehensive Pydantic schemas for API requests/responses - Include stub service implementations for all business logic - Add full test suite with pytest-asyncio integration - Configure conventional commits enforcement via git hooks - Add project documentation and contribution guidelines - Support both OpenAI and Gemini LLM integration options
48 lines
1.0 KiB
TOML
48 lines
1.0 KiB
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "news-api"
|
|
version = "0.1.0"
|
|
description = "FastAPI service for the classy Reuters news aggregator"
|
|
readme = "README.md"
|
|
requires-python = ">=3.11"
|
|
authors = [{ name = "News Aggregator Team" }]
|
|
keywords = ["fastapi", "news", "aggregator", "hybrid search"]
|
|
dependencies = [
|
|
"fastapi>=0.111.0,<0.112.0",
|
|
"uvicorn[standard]>=0.30.0,<0.31.0",
|
|
"pydantic>=2.7.0,<3.0.0",
|
|
"pydantic-settings>=2.2.1,<3.0.0",
|
|
"psycopg[binary]>=3.1.18,<4.0.0",
|
|
"pgvector>=0.2.4,<0.3.0",
|
|
"httpx>=0.27.0,<0.28.0",
|
|
"structlog>=24.1.0,<25.0.0"
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=8.2.0,<9.0.0",
|
|
"pytest-cov>=4.1.0,<5.0.0"
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "-q"
|
|
testpaths = ["tests"]
|
|
filterwarnings = ["error:::news_api.*"]
|
|
asyncio_mode = "auto"
|
|
|
|
[tool.hatch.metadata]
|
|
allow-direct-references = true
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/news_api"]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest>=8.4.2",
|
|
"pytest-asyncio>=1.2.0",
|
|
"pytest-cov>=4.1.0",
|
|
]
|