pyproject-config について
setuptools、Ruff、pytest を使う Python プロジェクト向けの設定テンプレートです。src/ レイアウトや編集可能インストール、パッケージとテストの設定例をまとめています。
主な機能
- 01setuptools のビルド設定
- 02src/ パッケージレイアウト
- 03Ruff のリンター設定
- 04pytest のテスト検出設定
- 05コンソールスクリプト設定
活用シーン
- 01src/ レイアウトの Python パッケージ作成
- 02リンターと pytest の設定
- 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 ファイルを配置してください。
コメント
Markdown 対応