2022/11/21
python 用のプロジェクトの boilerplate を作っていて、今、盛り込んでいるのが、こういうものです。
- black
- flake8
- isort
- mypy
black は、四の五の言わずに・・・というスッキリ感がいいです。
mypy は、やや癖がありますが、だんだん慣れてきたので、型チェックのありがたさを感じてます。
他に docstring の linter (flake8-docstring)も入れてます。プロジェクトによっては、無くてもよいかもです。
ほかのチームでは、以下のツールも使われているようなので、これらも、入れないとなぁ・・・
- astor(抽象構文木)
- coverage
- flake8-import-order
- flake8-polyfill
- freezegun(時刻)
- parameterized
- pydevd(リモートデバッグ)
- pytest
- pytest-cov
- pytest-html
- pytest-pythonpath
- tox-pipenv(環境管理)
- pre-commit(git pre commit)
関連記事
- 2020/06/15 PySparkの分散される処理単位であるクロージャと共有変数の仕組み Spark では、処理が分散されて、複数のノードやスレッドで実行されますが、分散される処理の塊を、どう配信しているのか?加えて、複数のタスク間でのデータの共有とか、集約するための仕組みがどうなっているのか?少しだけ説明します。
- 2017/11/13 【Pythonでテキスト処理】Double arrayでTrieを実装してみた 今回はDouble Array(ダブル配列)というデータ構造で実際にTrieをPythonで構築し、共通接頭辞検索を行えるようにします。実装方法については[『日本語入力を支える技術』(徳永, 2012)に準拠。書籍をお持ちでない方にも理解できることを目指しています。