0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python: 利用しているフレームワーク/ツール

0
Posted at

概要

今回は小ネタで、2025年現在利用しているものの記録です。カテゴリ分けとして以下にまとめてみました。

  • CLI
  • Web
  • その他開発

CLI

Go言語の記事のときも書いたのですが、こまめにメンテナンスしなくてよいように、依存関係をあまり多く持たせたくないので基本標準モジュール ( argparselogging, configparser など )で対応しています。冗長な書き方が必要だったり、設定方法が分からなくなる時 ( logging とか) がありますが、そのあたりは生成AIに一部対応してもらっています。

今回少し調べてみると

  • コマンドラインオプションパーサー
  • ロギング
    • rich ※メインは TUI の表示フォーマットリッチ化で、ログはその付帯機能だと思いますが

のようにサッとリッチな出力が得られるものが出ていました。

typer はまだ pre v1 なのでまだ使わないだろうなというところで、 rich も社内ツールでそこを頑張るかというところなので使うかなぁ、というところです。

Web

Python の Web に関しては FastAPI が使われているので時々対応することがあります。

必然的にこの依存関係のモジュールを使うことになります。

RDB 系の ORM として

が使われてます。これも FastAPI が作っている

を今回の調査で知りました。一旦冬休みの宿題で個人利用ですかね。

その他開発系

Python 製ではなく、Python を対象としたツールの範囲で記載しています。他の言語でもそうだと思いますが、 Rust 製のツールが増えている気がします。

  • pytest
    • 単体テストに。 parameterizefixture 使うので
    • pytest-mock
  • uv
    • パッケージマネージャー。標準の pip は別にしても他が大乱立してる時代を終えて欲しい
  • ruff
    • Linter 兼 Formatter。 flake8, iosort, black, pydocstyle の代替として
  • pre-commit
    • git commit の前の hook に諸々仕掛けるためのツール
    • よいプロダクトなんですが、利用者やプロジェクト設定次第でプロジェクトの Python ランタイムや依存に入り込んだりするケースがあって、できればシングルバイナリ系の言語実装ないかなと思うところがある
    • 調べたら prek という Rust 実装があるようで、実装差分は ここ
      • 個人で試してはみるが、 pre v1 で個人開発というところで継続性もう少し様子見
  • lizard
    • 循環的複雑度 を測るツール。生成AIの生成コードの複雑さの検査指標用
  • similarity
    • 類似度算出に。生成AIにリファクタリングを任せてうまくいってないと分解時に似たものが出てきがちなので、そこの検査指標用
    • Python はまだβなので、参考地程度に

おわりに

定期的に書いて何が理由で変更したかが分かるようになっているといいかなと思っています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?