Files
quant_engine/pyproject.toml
2026-08-24 20:56:36 +08:00

70 lines
1.8 KiB
TOML

[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "quant_engine"
version = "0.1.0"
description = "量化研究引擎 —— alpha 因子库 + 执行仿真 + 技术指标 + 数据适配 + 回测工具(v1.2.0 从 research_results 抽出)"
readme = "README.md"
requires-python = ">=3.13,<3.14"
license = { text = "MIT" }
authors = [
{ name = "researchhub team" },
]
keywords = ["quant", "alpha", "backtest", "qlib-style", "execution", "indicators"]
# 仅必要依赖(零重型依赖原则)
dependencies = [
"numpy>=1.24",
"pandas>=2.0",
"scipy>=1.10",
"loguru>=0.7", # logging.py 可选 loguru fallback(标准库 logging 是默认)
]
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.23",
"pytest-cov>=4.1",
"ruff>=0.4",
"mypy>=1.10",
]
[project.urls]
Homepage = "https://github.com/your-org/quant_engine"
[tool.setuptools.packages.find]
where = ["src"]
[tool.ruff]
line-length = 100
target-version = "py313"
[tool.ruff.lint]
select = ["E", "F", "W", "I", "N", "UP", "B", "A", "C4", "PT", "RUF"]
ignore = [
"E501", # line too long
"B008", # function call in default argument
"RUF001", "RUF002", "RUF003", # ambiguous unicode
# 遗留 88 errors 待 v0.2.x 清理(与 research_results 对齐)
"F401", "I001", "N806", "N803", "N999",
"UP035", "RUF022", "B905", "B007", "B023", "F841", "A005",
"PT006", # legacy parametrize list 风格
]
[tool.mypy]
python_version = "3.13"
strict = true
ignore_missing_imports = true
[tool.uv]
index-url = "https://mirrors.cloud.tencent.com/pypi/simple"
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-v --tb=short"
markers = [
"integration: 需要真实数据库或网络",
]