pyproject-config 提供 Python 项目 pyproject.toml 的标准配置参考,基于 setuptools、ruff 和 pytest 工具链。
用途:在新建 Python 项目时统一项目元数据、构建系统、代码检查与测试配置。
主要能力:
- Console Scripts——通过 [project.scripts] 注册命令行入口,格式为 my-tool = "your_package.cli:main"。
- 构建系统(src 布局)——[build-system] 指定 requires = ["setuptools>=68.0.0"] 与 build-backend = "setuptools.build_meta";[tool.setuptools] 设置 package-dir = {"" = "src"};[tool.setuptools.packages.find] 设置 where = ["src"]。该配置支持用 uv pip install -e . 以 src/ 布局做可编辑安装。
- Ruff——[tool.ruff] 设置 target-version = "py313"、line-length = 100、src = ["src", "tests"];[tool.ruff.lint] 的 select = ["E", "F", "I"],ignore = ["E203", "W503"];[tool.ruff.format] 配置引号风格、缩进风格和魔术尾逗号相关选项。
- Pytest——[tool.pytest.ini_options] 设置 python_files = ["test_.py", "_test.py", "*_tests.py"]。
项目布局建议:根目录含 pyproject.toml、Makefile、.env.server;src/ 存放应用或 CLI 包(可编辑安装,cli.py 为 Click 入口);server/ 存放 FastAPI 应用(main.py 为 ASGI 入口)、templates/ 与 static/;data/ 放数据集与输出;plots/ 放生成图表。建议保留 src/ 布局以保证可编辑安装正常,本地开发用 .env.server 与 .env.client,并在代码旁提供 .env.example。
限制:资料未说明适用平台、版本兼容范围、收费情况,也未提供完整安装命令或逐步使用教程。