rpdelaney/dumbpw

View on GitHub
.pre-commit-config.yaml

Summary

Maintainability
Test Coverage
---
repos:
  - repo: meta
    hooks:
      - id: check-hooks-apply
      - id: check-useless-excludes

  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.5.0
    hooks:
      - id: end-of-file-fixer
      - id: trailing-whitespace
      - id: check-executables-have-shebangs
      - id: mixed-line-ending
      - id: check-added-large-files
      - id: check-merge-conflict
      - id: detect-private-key
      - id: check-docstring-first
      - id: check-toml
      - id: check-yaml

  - repo: https://github.com/python-jsonschema/check-jsonschema
    rev: 0.27.3
    hooks:
      - id: check-github-workflows
        name: validate github workflows
        args: ["--verbose"]
      - id: check-renovate
        name: validate renovate config
        args: ["--verbose"]


  - repo: https://github.com/pre-commit/pygrep-hooks
    rev: v1.10.0
    hooks:
      - id: python-check-blanket-noqa
      - id: python-check-blanket-type-ignore
      - id: python-check-mock-methods
      - id: rst-backticks
      - id: rst-directive-colons
      - id: rst-inline-touching-normal

  - repo: https://github.com/PyCQA/doc8
    rev: v1.1.1
    hooks:
      - id: doc8

  - repo: https://github.com/asottile/pyupgrade
    rev: v3.15.0
    hooks:
      - id: pyupgrade
        args: [--py311-plus]

  - repo: https://github.com/shellcheck-py/shellcheck-py
    rev: v0.9.0.6
    hooks:
      - id: shellcheck

  - repo: local
    hooks:
      - id: pyproject.toml
        name: validate pyproject.toml
        language: system
        entry: poetry check
        files: 'pyproject\.toml'
        pass_filenames: false

      - id: ruff format
        name: ruff format
        language: system
        entry: poetry run ruff format
        types: [python]
        pass_filenames: true

      - id: ruff check
        name: ruff check
        language: system
        entry: poetry run ruff check --fix
        types: [python]
        pass_filenames: true

      - id: deal lint
        name: deal lint
        language: system
        entry: poetry run python3 -m deal lint
        types: [python]

      - id: mypy
        name: mypy
        language: system
        entry: poetry run mypy
        types: [python]

      - id: pylic
        name: validate dependency licenses
        language: system
        entry: poetry run pylic check
        pass_filenames: false
        files: 'pyproject\.toml'