mcpField
P
pyproject-config

pyproject-config

github.com/brojonat开发144 次安装2 周前更新
代码仓库

关于 pyproject-config

面向使用 setuptools、Ruff 和 pytest 的 Python 项目配置模板,涵盖 src/ 包布局、可编辑安装及打包和测试设置。

主要功能

  1. 01setuptools 构建配置
  2. 02src/ 包布局
  3. 03Ruff 检查设置
  4. 04pytest 测试发现
  5. 05控制台脚本配置

适用场景

  1. 01搭建采用 src/ 布局的 Python 包
  2. 02配置代码检查和 pytest
  3. 03添加项目命令行入口

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/brojonat/llmsrules --skill pyproject-config

安装后在 Claude Code 中输入/pyproject-config确认已加载。

详细介绍

pyproject.toml 配置

使用 setuptools、ruff 和 pytest 的 Python 项目标准配置。

控制台脚本

[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]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false

Pytest

[tool.pytest.ini_options]
python_files = ["test_*.py", "*_test.py", "*_tests.py"]

项目布局

.
    pyproject.toml                  # project metadata, deps, tooling
    Makefile                        # common tasks (run, lint, test, build)
    .env.server                     # server env vars
    src/                            # application/CLI package (editable install)
        cli.py                      # Click CLI entrypoint
    server/                         # FastAPI app
        main.py                     # ASGI entrypoint
        templates/                  # Jinja2 templates
        static/                     # static assets
    data/                           # datasets and outputs
    plots/                          # generated figures

为软件包保留 src/ 布局,以便顺利进行可编辑安装。在本地开发时使用 .env.server 和 .env.client,并在代码旁放置 .env.example 文件。

评论

支持 Markdown