概要
簡単なPythonを使ったスクリプトを書こうとしていたら、Pythonプロジェクトのセットアップから始まり、ここまでやったならテンプレートリポジトリ作るか…(dependabot動かしておけばまあそこまで陳腐化しないだろ…)ってことで作りました。
目次
前提
- 前提知識
- Pythonは単発のスクリプト程度でしか書かない。本格的に使った経験も無い。
今回の環境セットアップの動機も単発利用のスクリプトを作りたいだけ。
- Pythonは単発のスクリプト程度でしか書かない。本格的に使った経験も無い。
成果物
Lycheejam/python-template-with-poetry: Pythonの開発をパッと始めるためのテンプレートリポジトリです。 🔗
テンプレートリポジトリの中身
あまり書くことがないが…中で設定しているPython向けの開発ライブラリは以下の通り。
- black: Code Formatter
- isort: Code Formatter(モジュールインポートのソート)
- flake8: Linter
- yamllint: Linter
- Dependabot、GitHub Actions Workflow用
これらのパッケージ管理はPoetry。
code formatter、linter系はGitHub Actions Workflowを設定済み。pushするといい感じに動いてくれる。
ブランチフィルター等々のカスタマイズの余地はあるかも。
Dependabotも設定済み。dependabotがあればテンプレートリポジトリもそこまで腐らないだろう…と言う予想(願望)でテンプレートリポジトリにした。 dependabotのPR自動マージについてはPATを使いたくなかったので自動認証トークンを使う方式を採用した。設定については以下を参照した。
- Dependabot 運用を自動化したい - Money Forward Developers Blog 🔗
- Automating Dependabot with GitHub Actions - GitHub Docs 🔗
pre-commitで使うパッケージバージョンだけ手動更新が必要なので、その点が微妙ポイント。