[build-system] requires = ["setuptools>=69"] build-backend = "setuptools.build_meta" [project] name = "genesis" version = "0.1.0" description = "概要设计书自动生成 Agent" requires-python = ">=3.11" dependencies = [ "pydantic>=2.13", "pydantic-settings>=2.15", "pyyaml>=6.0", "openpyxl>=3.1", "python-docx>=1.0", "httpx>=0.28", "jinja2>=3.1", "jsonschema>=4.23", "fastapi>=0.115", "uvicorn>=0.30", "python-multipart>=0.0.9", "websockets>=12", ] [project.optional-dependencies] dev = ["pytest>=8.0", "pytest-cov>=7.0", "pytest-asyncio>=0.23"] [tool.setuptools.packages.find] where = ["src"] [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto" addopts = "--cov=genesis --cov-report=term-missing" norecursedirs = ["*.egg-info", "coverage", "test-execution-log.txt"] [tool.coverage.run] # 仅统计 src/genesis 业务代码(不含 tests 自身) source = ["genesis"] # 测量分支覆盖 branch = true [tool.coverage.report] # 覆盖率门槛:低于该值 pytest 失败(红线,防止回归) fail_under = 99 # 跳过 __init__.py 等空文件干扰 skip_empty = true # 按语句总数降序展示 sort = "miss"