Files
intl_news/pyproject.toml
T
2026-07-18 16:13:52 +08:00

72 lines
1.3 KiB
TOML

[project]
name = "en-news"
version = "0.1.0"
description = "国际财经新闻抓取与深度研究平台"
readme = "README.md"
requires-python = ">=3.11,<3.13"
license = { text = "MIT" }
authors = [
{ name = "summer" }
]
dependencies = [
"crawl4ai>=0.5.0",
"trafilatura>=2.0.0",
"pydantic>=2.0.0",
"httpx>=0.28.0",
"pyyaml>=6.0",
"apscheduler>=3.10.0",
"fastmcp>=0.1.0",
"qdrant-client>=1.12.0",
"typer>=0.15.0",
"rich>=13.0.0",
"psutil>=7.2.2",
"htmldate>=1.10.0",
"openai>=2.43.0",
"python-dotenv>=1.2.2",
"markdown>=3.10.2",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.25.0",
"pytest-cov>=6.0.0",
"ruff>=0.8.0",
]
[project.scripts]
en-news = "app.cli:app"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = [
"crawler",
"extractor",
"dedup",
"translator",
"llm",
"embedding",
"vectorstore",
"scheduler",
"mcp_server",
"app",
]
[tool.ruff]
target-version = "py311"
line-length = 100
[tool.ruff.lint]
select = ["E", "F", "I", "N", "W", "UP"]
[tool.ruff.lint.per-file-ignores]
"scheduler/reporter.py" = ["E501"] # 内嵌 HTML 模板 CSS 行较长
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"