Files

69 lines
1.5 KiB
TOML
Raw Permalink Normal View History

[project]
name = "zhixing-server"
version = "0.1.0"
description = "FastAPI backend and quantitative processing foundation for Zhixing System"
readme = "README.md"
requires-python = ">=3.12,<3.13"
dependencies = [
"alembic>=1.18.0",
"fastapi>=0.141.1",
"fastdtw>=0.3.4",
2026-08-08 22:41:45 +08:00
"numpy>=2.4.0",
"pandas>=2.3.3",
"psycopg[binary,pool]>=3.3.2",
"pydantic-settings>=2.14.2",
"sqlalchemy>=2.0.46",
"tushare>=1.4.24",
"uvicorn[standard]>=0.52.1",
]
[dependency-groups]
dev = [
"httpx2>=2.9.1",
2026-08-08 22:41:45 +08:00
"pandas-stubs>=2.3.2.250926",
"pyright>=1.1.411",
"pytest>=9.1.1",
"pytest-cov>=7.1.0",
"ruff>=0.16.1",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/zhixing_server"]
[project.scripts]
market-data-sync = "zhixing_server.modules.market_data.presentation.cli:main"
sector-radar-build = "zhixing_server.modules.sector_radar.presentation.cli:main"
[tool.pytest.ini_options]
addopts = "-ra --strict-config --strict-markers"
pythonpath = ["src"]
testpaths = ["tests"]
markers = ["integration: requires a PostgreSQL test database"]
[tool.pyright]
include = ["src", "tests"]
extraPaths = ["src"]
pythonVersion = "3.12"
typeCheckingMode = "strict"
venvPath = "."
venv = ".venv"
[tool.ruff]
line-length = 100
target-version = "py312"
[tool.ruff.lint]
select = ["B", "E", "F", "I", "SIM", "UP"]
[tool.ruff.format]
quote-style = "double"
[[tool.uv.index]]
name = "tuna"
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
default = true