[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,禁止再靠「宿主 python3 恰好装了 pytest」或临时注入 # PYTHONPATH=/.pylibs 跑测试(后者会让 test 角色误判为用例失败/环境不可用)。 # 用法:pip install -e .[test](等价于 pip install -r requirements-dev.txt), # 或直接 bash scripts/run_tests.sh(自动定位/引导测试环境,见 README「Running tests」)。 [project.optional-dependencies] test = ["pytest>=7.0,<10"] [tool.pytest.ini_options] # tests/test_m5a_idempotency.py 用 importlib 隔离加载包(绕过宿主依赖), # 无需任何 pythonpath 注入;此处不设 addopts,避免干扰命令行 -v 的详细输出。 testpaths = ["tests"] [build-system] requires = ["setuptools>=61"] build-backend = "setuptools.build_meta" [tool.setuptools] packages = ["pbl_evidence"]