日々のChangeLog
DIARY

いつも使う python の pre-commit

ほぼ、自分用のメモ書き.

autoflake8 -> flake8の自動フォーマットツールなんだけど、ここでは未使用の変数とか自動で削除するために使ってる.

black -> 自動フォーマット

isort -> 自動でimportのsort

docformatter -> python のdocstring のフォーマット

あとはプロジェクトによっては mypy を食わせている.

repos:  
  - repo: https://github.com/myint/autoflake
    rev: d43d8a770c0f9ef2f68b368670ab882f6ca6ea03
    hooks:
      - id: autoflake
        args:
          - --in-place
          - --remove-unused-variables
          - --remove-all-unused-imports
          - --expand-star-imports
          
  - repo: https://github.com/psf/black
    rev: 20.8b1
    hooks:
      - id: black
        args: [--line-length, "99"]
        language_version: python3.8.1

  - repo: https://github.com/asottile/seed-isort-config
    rev: v1.9.1
    hooks:
    -   id: seed-isort-config
      
  - repo: https://github.com/pre-commit/mirrors-isort
    rev: '7d231f6641ae1fbec126004f363cc1ed3761d8d5'
    hooks:
    - id: isort

  - repo: https://github.com/myint/docformatter
    rev: v1.1
    hooks:
    - id: docformatter
      name: docformatter
      description: 'Formats docstrings to follow PEP 257.'
      entry: docformatter
      args: [-i, --wrap-summaries, "99", --wrap-description, "99"]
      language: python
      types: [python]