rye + vscode の設定テンプレート
以下がインストール済
ryeのインストールは以下参照
- Ruff
- mypy
Ruffの0.1.2よりフォーマッター機能が追加されたため フォーマッター・リンターともにRuffに集約。
テンプレートをプロジェクト配下に配置
# 必須テンプレート一覧
{project_root}
├── .gitignore
├── .python-version
├── .vscode
│ └── settings.json
└── pyproject.tomlpyproject.tomlの編集を行う。
以下該当項目を列挙
[project]
name = "{プロジェクト名記載}"
description = "{説明追加}"
authors = ["{必要であれば記載}"]
[tool.mypy]
strict = true
[tool.ruff]
select = [
"F", # pyflakes
"E", # pycodestyle
"W", # pycodestyle warnings
"I", # isort
]
ignore = []
line-length = 88
[tool.ruff.per-file-ignores]
# 個別設定
# __init__.pyは未使用インポートを許容
"__init__.py" = ["F401"]
準備ができたら以下コマンド実行
# pythonバージョンを変更する場合実行
# .python-versionのpythonバージョンを変更できる
$ rye pin 3.11
# .venv requirements-dev.lock requirements.lockが作成される
$ rye sync
# .venv 仮想環境
# requirements-dev.lock 開発用ライブラリロックファイル
# requirements.lock 本番用ライブラリロックファイル接続は以下コマンド実行
. .venv/bin/activate
.venv\Scripts\activate
抜けるにはdeactivateコマンド実行
※仮想環境内で有効なコマンド
本テンプレートは以下のフォーマッター・リンターを採用している。
vscodeの拡張機能について、必須・推奨の拡張機能を記載。
| Name | ID |
|---|---|
| Python | ms-python.python |
| Pylance | ms-python.vscode-pylance |
| Ruff | charliermarsh.ruff |
| Mypy | ms-python.mypy-type-checker |
| Name | ID |
|---|---|
| autodocstring | njpwerner.autodocstring |
| even-better-toml | tamasfe.even-better-toml |
windowsで使用する方は
"${workspaceFolder}/.venv/bin/{file}"を
"${workspaceFolder}/.venv/Scripts/{file}に変更して使用する。
pre-commitにRuffとmypyの設定を記載している。 コミット時に検証を行いたい場合は以下手順を踏むこと
公式参照
pip install pre-commitもしくは
brew install pre-commit- .pre-commit-config.yamlをプロジェクトルートに配置
- 以下コマンド実行
pre-commit installlintとpytestを行うCI/CDのtemplateを用意している。
以下の静的解析を行う
- ruff
- mypy
- cspell
pytestによるテストコードの自動実施
カバレッジを表示してくれる