[project] name = "pbl_evidence" version = "0.1.0" description = "产出物与证据幂等采集(M5a/M5b)" requires-python = ">=3.9" # 只声明直接代码依赖(PyPI 可解析)。 # 基础包 apppublic / ahserver / appbase / rbac 由宿主应用 build.sh 单独 git 安装, # 不在 PyPI —— 写进来会让 `pip install .` 直接失败(module-development-spec 铁律)。 # bricks_for_python:本模块 .py 未直接 import(前端仅 .ui/.dspy 静态资源),故不声明。 # pbl_common:同机构 modules/ 下的兄弟模块,由宿主 pip install -e 装入,非 PyPI 包,故不声明。 dependencies = ["sqlor"] # ── 测试依赖(DISC.2:显式声明,禁止靠「宿主恰好装了 pytest」或临时注入 PYTHONPATH)── # 用途:`pip install -e .[test]` 或 `pip install -r requirements-dev.txt` 一次装齐, # 之后 `python3 -m pytest tests/test_m5a_idempotency.py -v` 可直接执行。 # 落盘引导脚本:scripts/setup_test_env.sh(建 .venv-test 并装入本 extra)。 [project.optional-dependencies] test = ["pytest>=7.0,<10"] [tool.pytest.ini_options] # tests/ 用 importlib 隔离加载包(绕过宿主依赖),故不需要额外 pythonpath 注入 testpaths = ["tests"] addopts = "-q --color=no" [build-system] requires = ["setuptools>=61"] build-backend = "setuptools.build_meta" [tool.setuptools] packages = ["pbl_evidence"]