返回 Skill 列表
extension
分类: 开发与工程无需 API Key

modern-python-stack

使用Astral社制造的工具(uv, Ruff, ty)构建Python开发环境。在创建项目、管理依赖关系、提高代码质量以及设置CI/CD时使用。

person作者: jakexiaohubgithub

Modern Python Stack

Astral社製Rustツールを中心とした高速Python開発環境。

技術スタック

| カテゴリ | ツール | 用途 | |---------|--------|------| | パッケージ管理 | uv | pip代替(10-100倍高速) | | リンター/フォーマッター | Ruff | flake8/black/isort統合 | | 型チェッカー | ty | mypy代替(約7倍高速) | | 依存性制御 | import-linter | アーキテクチャ境界強制 | | コミット前チェック | pre-commit | 自動品質担保 |

🔄 セットアップワークフロー

新規プロジェクト作成時はこのチェックリストで進捗を追跡:

セットアップ進捗:
- [ ] Step 1: uv初期化
- [ ] Step 2: 開発依存追加
- [ ] Step 3: Ruff設定
- [ ] Step 4: pre-commit設定
- [ ] Step 5: 動作確認

Step 1: uv初期化

uv init
uv sync

Step 2: 開発依存追加

uv add --dev ruff ty pre-commit pytest

Step 3: Ruff設定(pyproject.tomlに追加)

[tool.ruff]
line-length = 120
target-version = "py311"

[tool.ruff.lint]
select = ["E", "F", "I", "B", "UP"]

[tool.ruff.lint.isort]
force-single-line = true

Step 4: pre-commit設定

uv run pre-commit install

Step 5: 動作確認

uv run ruff check .
uv run ty check src/
uv run pytest

確認が失敗した場合は、Step 3に戻って設定を修正。


コマンドリファレンス

uv(パッケージ管理)

uv sync                    # 依存同期
uv add package             # 追加
uv add --dev package       # 開発依存追加
uv run script.py           # 実行(常にuv run経由)

Ruff(リント/フォーマット)

uv run ruff check .        # リント
uv run ruff check --fix .  # 自動修正
uv run ruff format .       # フォーマット

ty(型チェック)

uv run ty check src/       # 型チェック

エラー抑制: # ty: ignore[rule-name]


原則

【MUST】必須

  • uvをパッケージ管理に使用(pip禁止)
  • pyproject.tomlで依存関係を一元管理
  • 行長は120文字
  • importはforce-single-line = true
  • pre-commitをセットアップ

【SHOULD】推奨

  • uv.lockをgitにコミット(再現性確保)
  • tyを型チェックに使用
  • アーキテクチャ境界をimport-linterで強制

Anti-Patterns

  • pip installの使用
  • python script.pyの直接実行(uv run経由で)
  • ❌ 複数の設定ファイル(.flake8, .isort.cfg等)→ pyproject.tomlに統合

References

詳細設定は以下を参照: