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. 01src/ レイアウトの 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"]

これにより、src/ レイアウトで編集可能インストール用の uv pip install -e . を実行できます。

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 ファイルを配置してください。

コメント