概要
今回は小ネタで、2025年現在利用しているものの記録です。カテゴリ分けとして以下にまとめてみました。
- CLI
- Web
- その他開発
CLI
Go言語の記事のときも書いたのですが、こまめにメンテナンスしなくてよいように、依存関係をあまり多く持たせたくないので基本標準モジュール ( argparse や logging, configparser など )で対応しています。冗長な書き方が必要だったり、設定方法が分からなくなる時 ( logging とか) がありますが、そのあたりは生成AIに一部対応してもらっています。
今回少し調べてみると
のようにサッとリッチな出力が得られるものが出ていました。
typer はまだ pre v1 なのでまだ使わないだろうなというところで、 rich も社内ツールでそこを頑張るかというところなので使うかなぁ、というところです。
Web
Python の Web に関しては FastAPI が使われているので時々対応することがあります。
必然的にこの依存関係のモジュールを使うことになります。
RDB 系の ORM として
が使われてます。これも FastAPI が作っている
を今回の調査で知りました。一旦冬休みの宿題で個人利用ですかね。
その他開発系
Python 製ではなく、Python を対象としたツールの範囲で記載しています。他の言語でもそうだと思いますが、 Rust 製のツールが増えている気がします。
-
pytest
- 単体テストに。
parameterizeとfixture使うので - pytest-mock も
- 単体テストに。
-
uv
- パッケージマネージャー。標準の
pipは別にしても他が大乱立してる時代を終えて欲しい
- パッケージマネージャー。標準の
-
ruff
- Linter 兼 Formatter。
flake8,iosort,black,pydocstyleの代替として
- Linter 兼 Formatter。
- pre-commit
-
lizard
- 循環的複雑度 を測るツール。生成AIの生成コードの複雑さの検査指標用
-
similarity
- 類似度算出に。生成AIにリファクタリングを任せてうまくいってないと分解時に似たものが出てきがちなので、そこの検査指標用
- Python はまだβなので、参考地程度に
おわりに
定期的に書いて何が理由で変更したかが分かるようになっているといいかなと思っています。